Commit Graph

15851 Commits

Author SHA1 Message Date
Colin Patrick McCabe
291c3c2636 test/rados-api/io.cc: add RmXattr, XattrIter
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
0a29e63a9a test/rados-api/io: add XattrsRoundTrip
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
039c5fca28 test/rados-api/io: add RemoveTest
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
5bee453bb5 test/rados-api/io: add TruncTest
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
3509398734 test/rados-api/io: add AppendRoundTrip
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
6349a13258 test/rados-api/io: add WriteFullRoundTrip
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
87f2960f67 test/rados-api/io: add roundtrip, overlappingwrite
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Colin Patrick McCabe
e442a2c377 Makefile.am: build gtest in debug builds
Formerly, we only built gtest when doing 'make check'. However, the
librados-api tests, which are built in debug mode for the 'all' target,
also use gtest. So build it when needed.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-09 16:02:52 -07:00
Greg Farnum
41f484d93b objecter: allow requesting specific maps in maybe_request_map
Use this capability so that wait_for_new_map can specify a specific
map it wants go get. I am extending the sins of the fathers by
allowing a default value of 0 for the epoch here, but removing it
is even clumsier and there are lots of uses where it legitimately
doesn't care what epoch it gets.

Fixes #1383.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-09 15:43:11 -07:00
Josh Durgin
5cb2bd2701 testlibrbd: remove useless print statements
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-08-09 14:28:43 -07:00
Josh Durgin
52b90b75bb testlibrbd: NUL-terminate orig_data
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-08-09 14:19:48 -07:00
Josh Durgin
60b4588235 testlibrbd(pp): accept standard command line arguments
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-08-09 14:13:32 -07:00
Yehuda Sadeh
5e9bdf8977 librados: add missing method that was lost in merge 2011-08-09 10:53:09 -07:00
Yehuda Sadeh
9f764db323 Merge branch 'wip-stats' into wip-atomic-get
Conflicts:
	src/librados.cc
2011-08-09 10:46:13 -07:00
Yehuda Sadeh
8942d2bbb7 rgw: add hour to intent log name for higher resolution 2011-08-09 10:41:40 -07:00
Sage Weil
2c20a6cdcb Merge branch 'wip-client'
Conflicts:
	src/Makefile.am
2011-08-08 20:52:14 -07:00
Yehuda Sadeh
7cc208bb83 rgw: log shadow objects removal in intent log 2011-08-08 16:44:13 -07:00
Colin Patrick McCabe
66050ad7b4 Add test-rados directory, I/O test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-08 15:08:28 -07:00
Yehuda Sadeh
901a7a4650 Merge branch 'wip-atomic-get' 2011-08-08 14:19:39 -07:00
Greg Farnum
98ee76be64 pgmon: use pool.get_last_change whenever creating new PGs
We maintain last_change properly now, so we can use it at any time.

It may still be possible that we can get PGs with the wrong epoch
created if, somehow, we do multiple expansions without
check_osd_map getting called between them. That's a pretty unlikely
occurrence, though, and I'm not sure that it's actually possible.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-08 14:19:34 -07:00
Yehuda Sadeh
5b260cd285 rgw: return ENOENT after get_obj() in some cases 2011-08-08 14:17:29 -07:00
Greg Farnum
84462a15be osdmon: maintain ceph_pg_pool::last_change correctly
We were making a few changes that didn't update this value, which
can cause problems when creating new PGs.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-08 14:11:29 -07:00
Greg Farnum
fca79085db pgmon: call check_osd_map via a new on_active implementation
Previously it was possible to lose PG creations if a monitor election
happened at the right time. The issue would get rectified on the
next OSDMap update, but that could take...a while. (My observed time
when I discovered the bug had it go without creation for 43 minutes,
at which point I killed it.)

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-08 13:48:29 -07:00
Greg Farnum
43a5cd7098 pgmon: fix comments to output the right function
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-08 13:33:48 -07:00
Sage Weil
e27b4d17e1 Merge branch 'debian-deps' 2011-08-08 13:21:50 -07:00
Sage Weil
6d0192cb0b debian: explicitly bind library users to matching version
We are cheating with the shared libs by making small API changes without
bumping the soname.  Bind users to a matching version to minimize user
pain.  When the APIs become fully stable these will need to go away.

Fixes: #1354
Signed-off-by: Sage Weil <sage@newdream.net>
2011-08-08 12:16:41 -07:00
Sage Weil
a9da6db631 Merge branch 'wip-heartbeats'
Conflicts:
	src/osd/OSD.cc
2011-08-08 12:12:24 -07:00
Yehuda Sadeh
258d743513 rgw: ignore hidden objects for bucket deletion, fix namespace 2011-08-08 10:25:15 -07:00
Colin Patrick McCabe
3cda58dd53 Merge branch 'wip-config' 2011-08-08 09:55:49 -07:00
Sage Weil
68cbbf42c4 osd: missing ! in ifs on bad map after osd boot
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-08-07 21:27:07 -07:00
Sage Weil
857f2adc38 mds: fix Migrator::audit() for IMPORT_ABORTING
Make audit match reality.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-08-07 21:27:07 -07:00
Yehuda Sadeh
8d42c389fc rgw: clone_obj can set mtime 2011-08-05 17:22:21 -07:00
Yehuda Sadeh
265d29a4e1 librados: can set mtime for operate (mutate) 2011-08-05 17:22:06 -07:00
Yehuda Sadeh
45ca94054b objecter: halt compound operation only if result < 0 2011-08-05 16:33:32 -07:00
Colin Patrick McCabe
ad31db9e2f Remove unused dyn_sprintf
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 15:49:30 -07:00
Colin Patrick McCabe
6ad7f46bda config.cc: clean up includes
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 15:44:32 -07:00
Sage Weil
822d28b558 mds: chain rename subtree projections
We can have two renames for the same file in flight to the journal.  Stack
them up in a list.  The old project_subtree_rename() should have asserted
that the item wasn't already in the map before inserting it to catch this
at the front end.  Now it doesn't matter; it's a list.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-08-05 14:28:48 -07:00
Sage Weil
7a3e750210 client: whitespace cleanup
Signed-off-by: Sage Weil <sage@newdream.net>
2011-08-05 14:28:48 -07:00
Sage Weil
3d258798fa client: send renames to the correct node
AFAICS we got this wrong in b794aeb39, which is annoying given I remember
thinking reasonably carefully about it.

The current reasoning: the request operates on the dentry target
directory from the MDS's perspective; that's where the request needs to go.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-08-05 14:28:48 -07:00
Yehuda Sadeh
618b0745ff rgw: multiple fixes 2011-08-05 14:05:41 -07:00
Colin Patrick McCabe
9f608c726c config: more thread-safety stuff
* Don't allow parse_argv, parse_env, or parse_config_files to be used
after threads have been started.

* Don't allow set_val to be used to change unsafe variables after
threads have been started.

* Test

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 12:49:37 -07:00
Colin Patrick McCabe
d99333d043 injectargs: forbid unsafe string modifications
Don't allow string-valued configuration items to be changed using
injectargs unless they have observers. Otherwise, we could have
crashes, since one thread could be reading the std::string's internal
buffer after another thread frees that buffer during assignment.

Write a unit test to validate this behavior.

Also test that we can turn on and off the log_file using injectargs.
This is something that injectargs often gets used for in practice.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 12:18:00 -07:00
Colin Patrick McCabe
c409e7017a test/daemon_config: add injectargs test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 11:25:11 -07:00
Colin Patrick McCabe
2d4f5493ad Add daemon_config, libceph_config, etc.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 11:20:24 -07:00
Greg Farnum
7be4b6dc7e pgmon: create ALL pgs in new pools with correct creation epoch
5bb07df6aa tried to do this, but it
only set them properly for localized PGs. Whoops!
Additionally, we do NOT want to do this for new PGs in pre-existing
pools. Unfortunately, we have no way of guaranteeing that these new
PGs in old pools have the right epoch -- the data doesn't exist.
I'll discuss with other team members; it's possible that last_change
is in fact supposed to deal with this and simply doesn't.
Meanwhile, I've created a new bug to track this: #1365.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-05 11:07:03 -07:00
Colin Patrick McCabe
6dcf379ed7 add config unit test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 11:04:08 -07:00
Colin Patrick McCabe
a33b837875 librados.h: fix out-of-date comment
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 10:47:25 -07:00
Sage Weil
fa2a40677e debian: don't explicitly list deps; let debian figure it out
Signed-off-by: Sage Weil <sage@newdream.net>
2011-08-05 10:46:22 -07:00
Colin Patrick McCabe
92e976a503 config: more cleanup
* any place where we know a set_val can't fail should be set_val_or_die

* in private md_config_t functions that need the mutex, assert that the
mutex is locked

* make md_config_t::expand_meta private, since nobody uses it outside of
the class.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-05 10:32:42 -07:00
Colin Patrick McCabe
66c3d8ff60 libceph.h: fix C compilation
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-08-04 17:16:10 -07:00