]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agolibrbd: make read_iterate mirror AioCompletion::complete
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>
14 years agotestlibrbd: remove useless print statements
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>
14 years agotestlibrbd: NUL-terminate orig_data
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>
14 years agotestlibrbd(pp): accept standard command line arguments
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>
14 years agoosd: don't request heartbeats from down peers
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>
14 years agoMerge branch 'debian-deps'
Sage Weil [Mon, 8 Aug 2011 20:21:50 +0000 (13:21 -0700)]
Merge branch 'debian-deps'

14 years agodebian: explicitly bind library users to matching version
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>
14 years agoMerge branch 'wip-heartbeats'
Sage Weil [Mon, 8 Aug 2011 19:12:24 +0000 (12:12 -0700)]
Merge branch 'wip-heartbeats'

Conflicts:
src/osd/OSD.cc

14 years agoMerge branch 'wip-config'
Colin Patrick McCabe [Mon, 8 Aug 2011 16:55:49 +0000 (09:55 -0700)]
Merge branch 'wip-config'

14 years agoosd: missing ! in ifs on bad map after osd boot
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>
14 years agomds: fix Migrator::audit() for IMPORT_ABORTING
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>
14 years agoobjecter: halt compound operation only if result < 0
Yehuda Sadeh [Fri, 5 Aug 2011 23:32:55 +0000 (16:32 -0700)]
objecter: halt compound operation only if result < 0

14 years agoRemove unused dyn_sprintf
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>
14 years agoconfig.cc: clean up includes
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>
14 years agomds: chain rename subtree projections
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>
14 years agoclient: whitespace cleanup
Sage Weil [Fri, 5 Aug 2011 21:26:59 +0000 (14:26 -0700)]
client: whitespace cleanup

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: send renames to the correct node
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>
14 years agoconfig: more thread-safety stuff
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>
14 years agoinjectargs: forbid unsafe string modifications
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>
14 years agotest/daemon_config: add injectargs test
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>
14 years agoAdd daemon_config, libceph_config, etc.
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>
14 years agoadd config unit test
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>
14 years agolibrados.h: fix out-of-date comment
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>
14 years agodebian: don't explicitly list deps; let debian figure it out
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>
14 years agoconfig: more cleanup
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>
14 years agolibceph.h: fix C compilation
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>
14 years agoconfig: add proper locking, fix comments
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>
14 years agoMerge branch 'rgw-formatter'
Colin Patrick McCabe [Thu, 4 Aug 2011 22:33:27 +0000 (15:33 -0700)]
Merge branch 'rgw-formatter'

14 years agoIn RGW, use the common/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>
14 years agofilestore: remove unused var
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>
14 years agoFormatter: add open_object_section_in_ns, etc.
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>
14 years agotest/formatter: test stream clearing
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>
14 years agoFormatter: must use str("") to clear ostreams
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>
14 years agoMore changes towards using common/Formatter in rgw
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>
14 years agoosd: expect heartbeats from anyone peering depends on
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>
14 years agoosd: restructure heartbeats
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>
14 years agomds: add hooks to test multimds link/unlink failures
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>
14 years agoqa: move fsx.sh
Sage Weil [Tue, 2 Aug 2011 23:25:25 +0000 (16:25 -0700)]
qa: move fsx.sh

14 years agoRevert "qa: Remove fsx workunit."
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.

14 years agoos/FileStore: print out BTRFS_IOC_SNAP_CREATE errs
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>
14 years agorgw_rest: don't leak formatters
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>
14 years agoXmlFormatter: add DTD option
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>
14 years agoFormatter.cc: add get_len method
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>
14 years agoRGWFormatter: get rid of one flush variant
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>
14 years agorgw_formats: introduce dump_unsigned, dump_int,etc
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>
14 years agorgw: rename dump_value_str to dump_format
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>
14 years agorados tool: fix cmdline parsing for --block-size
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>
14 years agoFormatter: add XMLFormatter::reset
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>
14 years agoFormatter.cc: whitespace fix
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>
14 years agorgw:rename open_obj_section to open_object_section
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>
14 years agoAdd XMLFormatter and unit test
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>
14 years agoFormatter: remove protected data, methods
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>
14 years agoosd, objecter, librados: add SRC_CMPXATTR operation
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>
14 years agoosd: change src_oid encoding -- FLAG DAY
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>
14 years agotestradospp: test cmpxattr (eq, str)
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>
14 years agoosd: fix cmpxattr string construction
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>
14 years agoobjecter, osd: fix up cmpxattr
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>
14 years agosystest: add watch/notify tests with pool and object deletion
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>
14 years agosystest: st_rados_create_pool: optionally wait before creating the pool
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>
14 years agosystest: add object deletion to mirror object creation
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>
14 years agosystest: add st_rados_notify building block for watch/notify tests
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>
14 years agosystest: add st_rados_watch building block for watch/notify tests
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>
14 years agosystest: make pool configurable
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>
14 years agosystest: move pool deletion into its own file
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>
14 years agolibrados: fix notify deadlock
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>
14 years agoosd: document remove_watchers race avoidance
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>
14 years agopg: remove do_complete_notify
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>
14 years agoosd: put_object_context: tolerate pgs being deleted
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>
14 years agoosd, pg: clean up watchers on pg deletion and shutdown
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>
14 years agomds: detach replay thread
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>
14 years agothread: detach()
Sage Weil [Tue, 2 Aug 2011 18:30:53 +0000 (11:30 -0700)]
thread: detach()

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocommon/Formatter: add unit test
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>
14 years agomdsmon: send commands to all MDSes, not just the in&up ones.
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>
14 years agocephtool: accept semicolons in commandline args
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>
14 years agotestradospp: add version tests
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>
14 years agolibrados: add assert_src_version
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>
14 years agoobjecter: add assert_src_version
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>
14 years agoosd: add ASSERT_SRC_VERSION operation
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>
14 years agoMerge branch 'stable'
Sage Weil [Mon, 1 Aug 2011 23:16:38 +0000 (16:16 -0700)]
Merge branch 'stable'

14 years agoosd: set reply_version for read operations
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>
14 years agoMerge remote branch 'origin/objecter-latest-map'
Sage Weil [Mon, 1 Aug 2011 20:35:23 +0000 (13:35 -0700)]
Merge remote branch 'origin/objecter-latest-map'

14 years agorgw: quiet down some log messages
Yehuda Sadeh [Mon, 1 Aug 2011 20:25:14 +0000 (13:25 -0700)]
rgw: quiet down some log messages

14 years agoescape_json_attr: don't escape single quotes
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>
14 years agoFormatter.cc: use common/escape.h
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>
14 years agoMakefile.am: always #define __STDC_FORMAT_MACROS
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>
14 years agoMerge branch 'stable'
Sage Weil [Mon, 1 Aug 2011 16:50:05 +0000 (09:50 -0700)]
Merge branch 'stable'

14 years agomds: request attempt comes from fwd count, not retry flag
Sage Weil [Sat, 30 Jul 2011 04:41:34 +0000 (21:41 -0700)]
mds: request attempt comes from fwd count, not retry flag

14 years agomds: fix create_subtree_map for new dirs
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>
14 years agovstart: static mapping of names to ranks
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>
14 years agov0.32 v0.32
Sage Weil [Sat, 30 Jul 2011 04:44:23 +0000 (21:44 -0700)]
v0.32

14 years agorgw: don't silently ignore bad user/group when setting acl
Yehuda Sadeh [Fri, 29 Jul 2011 23:26:08 +0000 (16:26 -0700)]
rgw: don't silently ignore bad user/group when setting acl

14 years agoobjecter: rename POOL_DISAPPEARED to POOL_DNE
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>
14 years agoobjecter: check for updated osdmap when requesting a non-existent pool
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>
14 years agoobjecter: fix error check - error return code is negative
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>
14 years agomonclient: add method to retrieve the latest version of a map
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>
14 years agomon: add GetVersion message
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>
14 years agoMakefile: include HeartbeatMap.h in dist
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>
14 years agomds: fix validation of (slave) request attempts
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>
14 years agomds: identify slave requests with reqid + attempt number
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>
14 years agoscatterlock: fix flag assignments.
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>