]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Josh Durgin [Tue, 9 Aug 2011 19:29:15 +0000 (12:29 -0700)]
librbd: make read_iterate mirror AioCompletion::complete
This makes testlibrbd and testlibrbdpp pass again, and
now both I/O paths have the same logic.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 9 Aug 2011 21:28:32 +0000 (14:28 -0700)]
testlibrbd: remove useless print statements
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 9 Aug 2011 21:19:10 +0000 (14:19 -0700)]
testlibrbd: NUL-terminate orig_data
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 9 Aug 2011 19:27:31 +0000 (12:27 -0700)]
testlibrbd(pp): accept standard command line arguments
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Sage Weil [Wed, 10 Aug 2011 19:05:07 +0000 (12:05 -0700)]
osd: don't request heartbeats from down peers
We try to add sources for anything in peer_info, which can include down
OSDs. Skip them.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Mon, 8 Aug 2011 20:21:50 +0000 (13:21 -0700)]
Merge branch 'debian-deps'
Sage Weil [Mon, 8 Aug 2011 19:16:41 +0000 (12:16 -0700)]
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>
Sage Weil [Mon, 8 Aug 2011 19:12:24 +0000 (12:12 -0700)]
Merge branch 'wip-heartbeats'
Conflicts:
src/osd/OSD.cc
Colin Patrick McCabe [Mon, 8 Aug 2011 16:55:49 +0000 (09:55 -0700)]
Merge branch 'wip-config'
Sage Weil [Mon, 8 Aug 2011 04:27:03 +0000 (21:27 -0700)]
osd: missing ! in ifs on bad map after osd boot
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Sun, 31 Jul 2011 04:21:03 +0000 (21:21 -0700)]
mds: fix Migrator::audit() for IMPORT_ABORTING
Make audit match reality.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Yehuda Sadeh [Fri, 5 Aug 2011 23:32:55 +0000 (16:32 -0700)]
objecter: halt compound operation only if result < 0
Colin Patrick McCabe [Fri, 5 Aug 2011 22:49:30 +0000 (15:49 -0700)]
Remove unused dyn_sprintf
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 5 Aug 2011 22:44:32 +0000 (15:44 -0700)]
config.cc: clean up includes
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Fri, 5 Aug 2011 21:28:29 +0000 (14:28 -0700)]
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>
Sage Weil [Fri, 5 Aug 2011 21:26:59 +0000 (14:26 -0700)]
client: whitespace cleanup
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Fri, 5 Aug 2011 21:26:52 +0000 (14:26 -0700)]
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>
Colin Patrick McCabe [Fri, 5 Aug 2011 19:49:37 +0000 (12:49 -0700)]
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>
Colin Patrick McCabe [Fri, 5 Aug 2011 19:18:00 +0000 (12:18 -0700)]
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>
Colin Patrick McCabe [Fri, 5 Aug 2011 18:25:11 +0000 (11:25 -0700)]
test/daemon_config: add injectargs test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 5 Aug 2011 18:20:24 +0000 (11:20 -0700)]
Add daemon_config, libceph_config, etc.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 5 Aug 2011 18:04:08 +0000 (11:04 -0700)]
add config unit test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 5 Aug 2011 17:47:25 +0000 (10:47 -0700)]
librados.h: fix out-of-date comment
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Fri, 5 Aug 2011 17:46:22 +0000 (10:46 -0700)]
debian: don't explicitly list deps; let debian figure it out
Signed-off-by: Sage Weil <sage@newdream.net>
Colin Patrick McCabe [Fri, 5 Aug 2011 17:32:42 +0000 (10:32 -0700)]
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>
Colin Patrick McCabe [Fri, 5 Aug 2011 00:16:10 +0000 (17:16 -0700)]
libceph.h: fix C compilation
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 4 Aug 2011 23:42:58 +0000 (16:42 -0700)]
config: add proper locking, fix comments
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 4 Aug 2011 22:33:27 +0000 (15:33 -0700)]
Merge branch 'rgw-formatter'
Colin Patrick McCabe [Thu, 4 Aug 2011 21:43:55 +0000 (14:43 -0700)]
In RGW, use the common/Formatter
Implement a new subclass of Formatter, RGWFormatter_Plain, using code
from the old RGWFormatter and RGWFormatter_Plain classes.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Thu, 4 Aug 2011 21:35:26 +0000 (14:35 -0700)]
filestore: remove unused var
Signed-off-by: Sage Weil <sage@newdream.net>
Colin Patrick McCabe [Thu, 4 Aug 2011 21:27:14 +0000 (14:27 -0700)]
Formatter: add open_object_section_in_ns, etc.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 4 Aug 2011 21:11:42 +0000 (14:11 -0700)]
test/formatter: test stream clearing
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 4 Aug 2011 21:07:53 +0000 (14:07 -0700)]
Formatter: must use str("") to clear ostreams
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 4 Aug 2011 20:57:33 +0000 (13:57 -0700)]
More changes towards using common/Formatter in rgw
* rename RgwFormatter::init to RgwForamtter::reset.
Roll old reset() into base_reset().
* add write_raw_data to Formatter, to support DTDs.
Remove other DTD support code.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Thu, 4 Aug 2011 20:48:55 +0000 (13:48 -0700)]
osd: expect heartbeats from anyone peering depends on
We were getting heartbeats from just acting replicas. That's really not
enough if we want to be sure to detect failures of OSDs we depend on,
which includes any stray or up OSDs as well.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Thu, 4 Aug 2011 20:35:57 +0000 (13:35 -0700)]
osd: restructure heartbeats
Primary sends explicit message to replicas asking for heartbeats to start,
or to stop. Replicas never send heartbeats unless explicitly requested
to.
Do not try to mark down old heartbeat relationships; that gets messy, and
the overhead of open sockets is too small to worry about right now.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Thu, 4 Aug 2011 00:41:10 +0000 (17:41 -0700)]
mds: add hooks to test multimds link/unlink failures
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 2 Aug 2011 23:25:25 +0000 (16:25 -0700)]
qa: move fsx.sh
Sage Weil [Tue, 2 Aug 2011 23:24:19 +0000 (16:24 -0700)]
Revert "qa: Remove fsx workunit."
This reverts commit
a66da4af2571f27f55e8ee819f22e70355fb42b0 . Still useful
to have this around.
Colin Patrick McCabe [Thu, 4 Aug 2011 00:56:19 +0000 (17:56 -0700)]
os/FileStore: print out BTRFS_IOC_SNAP_CREATE errs
Print out the errno for BTRFS_IOC_SNAP_CREATE errors if they happen.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 3 Aug 2011 18:39:40 +0000 (11:39 -0700)]
rgw_rest: don't leak formatters
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 3 Aug 2011 00:05:53 +0000 (17:05 -0700)]
XmlFormatter: add DTD option
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 23:11:11 +0000 (16:11 -0700)]
Formatter.cc: add get_len method
Add get_len method because rgw needs it.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 23:04:14 +0000 (16:04 -0700)]
RGWFormatter: get rid of one flush variant
This flush variant won't exist in common/Formatter.cc.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 22:42:17 +0000 (15:42 -0700)]
rgw_formats: introduce dump_unsigned, dump_int,etc
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 22:29:32 +0000 (15:29 -0700)]
rgw: rename dump_value_str to dump_format
rename dump_value_str to dump_format for compatibility with Formatter.cc
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 22:22:10 +0000 (15:22 -0700)]
rados tool: fix cmdline parsing for --block-size
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 22:16:12 +0000 (15:16 -0700)]
Formatter: add XMLFormatter::reset
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 21:42:31 +0000 (14:42 -0700)]
Formatter.cc: whitespace fix
whitespace fix to conform to the coding standard
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 21:41:02 +0000 (14:41 -0700)]
rgw:rename open_obj_section to open_object_section
For compatibility with common/Formatter.cc
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 21:30:18 +0000 (14:30 -0700)]
Add XMLFormatter and unit test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 2 Aug 2011 19:37:24 +0000 (12:37 -0700)]
Formatter: remove protected data, methods
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Tue, 2 Aug 2011 21:20:19 +0000 (14:20 -0700)]
osd, objecter, librados: add SRC_CMPXATTR operation
and test.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 2 Aug 2011 21:19:41 +0000 (14:19 -0700)]
osd: change src_oid encoding -- FLAG DAY
The old encoding was mutually exclusive with putting any data payload on
the operation. That was stupid.. we can't, for example, do xattr ops then
on a src_oid.
Fix this by just including the oid in the data payload inline whenever the
bit is set in the op code. This changes the client protocol in an
incompatible way, which means users of the CLONERANGE operation need to be
upgrade/downgraded in unison.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 2 Aug 2011 20:54:17 +0000 (13:54 -0700)]
testradospp: test cmpxattr (eq, str)
No coverage for the other tests yet.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 2 Aug 2011 20:54:00 +0000 (13:54 -0700)]
osd: fix cmpxattr string construction
The bufferlist may not contain a terminating '\0'.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 2 Aug 2011 20:48:11 +0000 (13:48 -0700)]
objecter, osd: fix up cmpxattr
Objecter stubs, useful debug output.
Signed-off-by: Sage Weil <sage@newdream.net>
Josh Durgin [Fri, 29 Jul 2011 17:06:19 +0000 (10:06 -0700)]
systest: add watch/notify tests with pool and object deletion
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 2 Aug 2011 19:32:17 +0000 (12:32 -0700)]
systest: st_rados_create_pool: optionally wait before creating the pool
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 2 Aug 2011 19:21:30 +0000 (12:21 -0700)]
systest: add object deletion to mirror object creation
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Fri, 29 Jul 2011 22:25:53 +0000 (15:25 -0700)]
systest: add st_rados_notify building block for watch/notify tests
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 26 Jul 2011 23:12:12 +0000 (16:12 -0700)]
systest: add st_rados_watch building block for watch/notify tests
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Fri, 29 Jul 2011 22:41:25 +0000 (15:41 -0700)]
systest: make pool configurable
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Wed, 20 Jul 2011 22:43:31 +0000 (15:43 -0700)]
systest: move pool deletion into its own file
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Mon, 1 Aug 2011 17:45:19 +0000 (10:45 -0700)]
librados: fix notify deadlock
The success of the notify call needs to checked before waiting to
receive a notification. If we try notifying on an object that does not
exist, for example, it should fail with -ENOENT, and not hang.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 2 Aug 2011 19:17:42 +0000 (12:17 -0700)]
osd: document remove_watchers race avoidance
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 2 Aug 2011 19:19:59 +0000 (12:19 -0700)]
pg: remove do_complete_notify
This method has no dependence on the pg.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 2 Aug 2011 19:14:06 +0000 (12:14 -0700)]
osd: put_object_context: tolerate pgs being deleted
PGs that are queued for deletion won't be in the osdmap,
and may not be in the pg_map, but if they are, it's safe to
put object_context. Otherwise, the pg is being deleted and
will clean up the object contexts itself.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Fri, 29 Jul 2011 19:28:26 +0000 (12:28 -0700)]
osd, pg: clean up watchers on pg deletion and shutdown
Watchers and their object contexts need to be cleaned up so
they aren't used after the pg is gone. This happened if the
pool was deleted and the connection to the watcher was reset.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Sage Weil [Tue, 2 Aug 2011 18:39:35 +0000 (11:39 -0700)]
mds: detach replay thread
Since we don't join it.
This fixes a leak of per-thread state.. namely, an ~8MB chunk of virtual
memory (and a handful of real pages).
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 2 Aug 2011 18:30:53 +0000 (11:30 -0700)]
thread: detach()
Signed-off-by: Sage Weil <sage@newdream.net>
Colin Patrick McCabe [Tue, 2 Aug 2011 18:08:52 +0000 (11:08 -0700)]
common/Formatter: add unit test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Greg Farnum [Tue, 2 Aug 2011 00:58:53 +0000 (17:58 -0700)]
mdsmon: send commands to all MDSes, not just the in&up ones.
Now we can send messages to standbys via broadcast, even if we
can't yet single them out.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Colin Patrick McCabe [Mon, 1 Aug 2011 22:51:19 +0000 (15:51 -0700)]
cephtool: accept semicolons in commandline args
Semicolons can now be used to give multiple arguments to cephtool in one
invocation. So a command like this is now possible:
$ ./ceph osd dump --format=json \; pg dump --format=json -o -
The backslash is to prevent the shell from consuming the semicolon.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 23:17:41 +0000 (16:17 -0700)]
testradospp: add version tests
get_last_version
assert_version
assert_src_version
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 22:20:00 +0000 (15:20 -0700)]
librados: add assert_src_version
Like set_assert_version, this is an IoCtx operation that affects the next
(and only the next) operation we perform.
Factor out the current assert version check code into a helper that also
handles the src asserts.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 22:16:29 +0000 (15:16 -0700)]
objecter: add assert_src_version
as an ObjectOperation
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 21:43:35 +0000 (14:43 -0700)]
osd: add ASSERT_SRC_VERSION operation
Assert a src object has a particular version. This is analogous to the
ASSERT_VER operation, but operations on a src_oid instead of the target.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 23:16:38 +0000 (16:16 -0700)]
Merge branch 'stable'
Sage Weil [Mon, 1 Aug 2011 23:16:22 +0000 (16:16 -0700)]
osd: set reply_version for read operations
This was probably broken by the OSD prepare_transaction refactor a few
months ago. Or it never worked. Adding test to testradospp.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 20:35:23 +0000 (13:35 -0700)]
Merge remote branch 'origin/objecter-latest-map'
Yehuda Sadeh [Mon, 1 Aug 2011 20:25:14 +0000 (13:25 -0700)]
rgw: quiet down some log messages
Colin Patrick McCabe [Mon, 1 Aug 2011 18:42:22 +0000 (11:42 -0700)]
escape_json_attr: don't escape single quotes
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Mon, 1 Aug 2011 18:14:55 +0000 (11:14 -0700)]
Formatter.cc: use common/escape.h
* Rename rgw/rgw_escape.h to common/escape.h
* Use escape.h in common/Formatter.cc
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Mon, 1 Aug 2011 18:13:53 +0000 (11:13 -0700)]
Makefile.am: always #define __STDC_FORMAT_MACROS
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Mon, 1 Aug 2011 16:50:05 +0000 (09:50 -0700)]
Merge branch 'stable'
Sage Weil [Sat, 30 Jul 2011 04:41:34 +0000 (21:41 -0700)]
mds: request attempt comes from fwd count, not retry flag
Sage Weil [Sat, 30 Jul 2011 05:10:17 +0000 (22:10 -0700)]
mds: fix create_subtree_map for new dirs
Currently mkdir foo ; rmdir foo fails because we can't get_subtree_map()
on a new directory that isn't linked in the committed plane. Since we are
journaling the projected subtree, it makes sense to use
get_projected_subtree_map() here.
It's easiest to keep in both the old and new directories in the rename
project map instead of looking at the next-to-most-recent parent for the
inode. The committed version is irrelevant (could conceivably be multiple
renames behind) and the current projected parent is just newdir; we need
olddir too, and we don't project for cross-mds rename anyway.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Sat, 30 Jul 2011 04:40:39 +0000 (21:40 -0700)]
vstart: static mapping of names to ranks
a always 0, b always 1, etc. makes multi-mds debugging much easier.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Sat, 30 Jul 2011 04:44:23 +0000 (21:44 -0700)]
v0.32
Yehuda Sadeh [Fri, 29 Jul 2011 23:26:08 +0000 (16:26 -0700)]
rgw: don't silently ignore bad user/group when setting acl
Josh Durgin [Thu, 28 Jul 2011 19:23:19 +0000 (12:23 -0700)]
objecter: rename POOL_DISAPPEARED to POOL_DNE
The pool may never have existed.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 26 Jul 2011 23:10:15 +0000 (16:10 -0700)]
objecter: check for updated osdmap when requesting a non-existent pool
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Mon, 25 Jul 2011 18:51:28 +0000 (11:51 -0700)]
objecter: fix error check - error return code is negative
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Thu, 28 Jul 2011 17:30:05 +0000 (10:30 -0700)]
monclient: add method to retrieve the latest version of a map
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Josh Durgin [Tue, 26 Jul 2011 22:59:07 +0000 (15:59 -0700)]
mon: add GetVersion message
This allows clients to determine whether they have the latest
mds, mon, or osd map. This is useful for figuring out if a pool
does not exist, or if the osdmap with it simply hasn't been
received yet.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Sage Weil [Fri, 29 Jul 2011 22:13:57 +0000 (15:13 -0700)]
Makefile: include HeartbeatMap.h in dist
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Fri, 29 Jul 2011 21:25:32 +0000 (14:25 -0700)]
mds: fix validation of (slave) request attempts
Verify that slave requests received are not stale.
Verify that slave replies match the currently processing request.
Clean up the code a bit.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Fri, 29 Jul 2011 20:44:24 +0000 (13:44 -0700)]
mds: identify slave requests with reqid + attempt number
We need to distinguish between different attempts to process a request, or
else we can get annoying races in the slave request handling code. E.g.,
- request sent to mds A
- A authpins items on B, B registered slave_request
- A forwards request to C, sends slave finish to B
- C receives request, sends authpin slave request to B
- B receives C's authpin request, discards (*)
- B receives A's finish, closes slave request
First we just add tracking of the attempt number.
Signed-off-by: Sage Weil <sage@newdream.net>
Greg Farnum [Fri, 29 Jul 2011 21:55:31 +0000 (14:55 -0700)]
scatterlock: fix flag assignments.
Want |= to set a flag, not &=!
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>