]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agomds: use projected subtree in rename anchor check
Sage Weil [Tue, 8 Mar 2011 00:25:30 +0000 (16:25 -0800)]
mds: use projected subtree in rename anchor check

We want to (try to) reanchor the directory on rename when our _projected_
subtree is not a leaf.  If we use the normal get_subtree_root() call,
we get NULL if we are unlinked, which makes is_leaf_subtree() crash.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: document last_epoch_clean caveat
Sage Weil [Mon, 7 Mar 2011 19:40:15 +0000 (11:40 -0800)]
osd: document last_epoch_clean caveat

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: include all stray peers in might_have_unfound
Sage Weil [Mon, 7 Mar 2011 19:32:20 +0000 (11:32 -0800)]
osd: include all stray peers in might_have_unfound

We should always consider any OSD that has a copy of the PG as a possible
location for missing objects.  There are cases where might_have_unfound is
not completed.  For example,

 - objects on [1,2]
 - 2 marked down/out
 - objects on [1,3]
 - recovery completes, last_epoch_clean is set.
 - 2 comes back online

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agotests/cli/osdmaptool: default pg_num changed
Sage Weil [Sun, 6 Mar 2011 05:26:24 +0000 (21:26 -0800)]
tests/cli/osdmaptool: default pg_num changed

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agotestlibrbd: signed return types
Sage Weil [Sun, 6 Mar 2011 04:50:56 +0000 (20:50 -0800)]
testlibrbd: signed return types

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agofilestore: fix signedness so we can handle errors from safe_pread
Sage Weil [Sun, 6 Mar 2011 04:41:55 +0000 (20:41 -0800)]
filestore: fix signedness so we can handle errors from safe_pread

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoversion: fix const warning
Sage Weil [Sun, 6 Mar 2011 04:40:55 +0000 (20:40 -0800)]
version: fix const warning

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agosafe_io: fix signed/unsigned comparisons
Sage Weil [Wed, 2 Mar 2011 13:29:01 +0000 (05:29 -0800)]
safe_io: fix signed/unsigned comparisons

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agotests/cli/osdmaptool: default pg_num changed
Sage Weil [Sun, 6 Mar 2011 04:39:24 +0000 (20:39 -0800)]
tests/cli/osdmaptool: default pg_num changed

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agov0.25 v0.25
Sage Weil [Fri, 4 Mar 2011 22:40:16 +0000 (14:40 -0800)]
v0.25

14 years agoBump librados soname to 2.
Sage Weil [Sat, 5 Mar 2011 21:29:20 +0000 (13:29 -0800)]
Bump librados soname to 2.

Update Debian packaging. For human-only mentions of librados,
use just "librados"

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Conflicts:

debian/control
src/Makefile.am

14 years agoconfig: back to 6 pg bits for now
Sage Weil [Fri, 4 Mar 2011 23:24:46 +0000 (15:24 -0800)]
config: back to 6 pg bits for now

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoMerge branch 'osd_recovery' into next
Sage Weil [Fri, 4 Mar 2011 22:19:40 +0000 (14:19 -0800)]
Merge branch 'osd_recovery' into next

14 years agorgw: put object request returns etag
Yehuda Sadeh [Fri, 4 Mar 2011 22:25:47 +0000 (14:25 -0800)]
rgw: put object request returns etag

14 years agotest_missing_unfound: asdf
Sage Weil [Fri, 4 Mar 2011 22:19:33 +0000 (14:19 -0800)]
test_missing_unfound: asdf

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: requeue pg for recovery if we may have found someting
Sage Weil [Fri, 4 Mar 2011 22:00:02 +0000 (14:00 -0800)]
osd: requeue pg for recovery if we may have found someting

If we get a peer log/missing and call search_for_missing, requeue the pg
for recovery so we can pull anything we may have just found.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: include all up peers in might_have_unfound when desperate
Sage Weil [Fri, 4 Mar 2011 21:59:24 +0000 (13:59 -0800)]
osd: include all up peers in might_have_unfound when desperate

If our might_have_unfound calculation was off (it currently can be, see
#865) we could prematurely give up.  Try any up OSD at this stage just to
be sure.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: recover_primary if recover_replicas starts no ops
Sage Weil [Fri, 4 Mar 2011 17:39:59 +0000 (09:39 -0800)]
osd: recover_primary if recover_replicas starts no ops

recover_replicas may fail to start anything if we see an unexpected error.
In that case, try recover_primary immediately instead of waiting for the
PG to (hopefully) get requeued for recovery later.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: discover more missing if unfound and do_recovery can't start anything
Sage Weil [Fri, 4 Mar 2011 17:38:47 +0000 (09:38 -0800)]
osd: discover more missing if unfound and do_recovery can't start anything

If we couldn't start any recovery ops and things are still
unfound, see if we can discover more missing object locations.
It may be that our initial locations were bad and we errored
out while trying to pull.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoFix test/signals.cc
Colin Patrick McCabe [Thu, 3 Mar 2011 22:54:15 +0000 (14:54 -0800)]
Fix test/signals.cc

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados: cosmetic header changes
Sage Weil [Fri, 4 Mar 2011 05:34:26 +0000 (21:34 -0800)]
librados: cosmetic header changes

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agolibrados, librbd: use separate IoCtxs for data and metadata
Josh Durgin [Thu, 3 Mar 2011 16:44:27 +0000 (08:44 -0800)]
librados, librbd: use separate IoCtxs for data and metadata

Adds deep copy method IoCtx::dup, so that the data and metadata
contexts can have different snap_seqs and snap contexts.

Also avoid calling Rados::shutdown explicitly, since the destructor
will do this, and it must run after the Image destructor.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: fix error message and unnamed constant
Josh Durgin [Thu, 3 Mar 2011 16:42:34 +0000 (08:42 -0800)]
librbd: fix error message and unnamed constant

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: change RBD::open to take a reference to an Image instead of a pointer
Josh Durgin [Wed, 2 Mar 2011 18:11:55 +0000 (10:11 -0800)]
librbd: change RBD::open to take a reference to an Image instead of a pointer

This makes the API more consistent with the librados API.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: remove unused member of IoCtx
Josh Durgin [Wed, 2 Mar 2011 00:03:01 +0000 (16:03 -0800)]
librados: remove unused member of IoCtx

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: IoCtx destructor should put reference only if initalized
Yehuda Sadeh [Tue, 1 Mar 2011 23:18:40 +0000 (15:18 -0800)]
librados: IoCtx destructor should put reference only if initalized

14 years agolibrados: can set up object locator
Yehuda Sadeh [Tue, 1 Mar 2011 22:20:11 +0000 (14:20 -0800)]
librados: can set up object locator

14 years agolibrados:rados_ioctx_stat -> rados_ioctx_pool_stat
Colin Patrick McCabe [Tue, 1 Mar 2011 14:49:34 +0000 (06:49 -0800)]
librados:rados_ioctx_stat -> rados_ioctx_pool_stat

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobject_locator: fix clear()
Yehuda Sadeh [Tue, 1 Mar 2011 21:52:43 +0000 (13:52 -0800)]
object_locator: fix clear()

14 years agolibrados: use atomic_t for reference count
Colin Patrick McCabe [Tue, 1 Mar 2011 14:05:41 +0000 (06:05 -0800)]
librados: use atomic_t for reference count

Use an use atomic_t for the reference count in IoCtxImpl.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados: make IoCtxImpl a pointer in WatchContext
Josh Durgin [Tue, 1 Mar 2011 19:47:26 +0000 (11:47 -0800)]
librados: make IoCtxImpl a pointer in WatchContext

Adds get and put to IoCtxImpl for refcounting,
and uses them in WatchContext, which shouldn't
be creating a copy of the IoCtxImpl.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: decrement refcount of old io_ctx_impl in assignment operator
Josh Durgin [Tue, 1 Mar 2011 19:35:41 +0000 (11:35 -0800)]
librados: decrement refcount of old io_ctx_impl in assignment operator

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: fix IoCtx::from_rados_ioctx_t
Colin Patrick McCabe [Tue, 1 Mar 2011 12:15:58 +0000 (04:15 -0800)]
librados: fix IoCtx::from_rados_ioctx_t

IoCtx::from_rados_ioctx_t creates an IoCtx out of a rados_ioctx_t.
However, this IoCtx must share ownership of the IoCtxImpl pointer with
the C API user who first called rados_ioctx_create. This must be done
via a reference count inside the IoCtxImpl.

Also add a copy constructor and assignment operator to class IoCtx,
since it's now cheap to have them.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoRename radios_ioctx_{open,close} to create/destroy
Colin Patrick McCabe [Tue, 1 Mar 2011 11:38:44 +0000 (03:38 -0800)]
Rename radios_ioctx_{open,close} to create/destroy

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados: remove IoCtx::close()
Colin Patrick McCabe [Tue, 1 Mar 2011 11:25:18 +0000 (03:25 -0800)]
librados: remove IoCtx::close()

We decided we don't want IoCtx::close(), since IoCtx::~IoCtx() exists.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMake git ignore core files.
Tommi Virtanen [Tue, 1 Mar 2011 00:03:35 +0000 (16:03 -0800)]
Make git ignore core files.

14 years agoMake git ignore python generated files.
Tommi Virtanen [Tue, 1 Mar 2011 00:03:17 +0000 (16:03 -0800)]
Make git ignore python generated files.

14 years agolibrados: Crashed on shutdown if connect was never called.
Tommi Virtanen [Mon, 28 Feb 2011 21:04:00 +0000 (13:04 -0800)]
librados: Crashed on shutdown if connect was never called.

Add a trivial unit test to trigger this.

14 years agolibradoshpp: put ceph stuff in namespace librados
Colin Patrick McCabe [Mon, 28 Feb 2011 13:58:03 +0000 (05:58 -0800)]
libradoshpp: put ceph stuff in namespace librados

Try a little bit harder to avoid polluting the user's global namespace
with our stuff.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados: don't create unused SnapContext objs
Colin Patrick McCabe [Mon, 28 Feb 2011 13:59:51 +0000 (05:59 -0800)]
librados: don't create unused SnapContext objs

There were some unused temporary variables hanging around.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados: fix copy ctor of ObjectIterator
Colin Patrick McCabe [Mon, 28 Feb 2011 13:19:04 +0000 (05:19 -0800)]
librados: fix copy ctor of ObjectIterator

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotestrados: add object stat test
Josh Durgin [Tue, 1 Mar 2011 18:36:15 +0000 (10:36 -0800)]
testrados: add object stat test

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agotestlibrbd: recreate test pool each time
Josh Durgin [Tue, 1 Mar 2011 18:33:06 +0000 (10:33 -0800)]
testlibrbd: recreate test pool each time

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agocommon: block SIGPIPE everywhere we can
Colin Patrick McCabe [Thu, 3 Mar 2011 15:08:09 +0000 (07:08 -0800)]
common: block SIGPIPE everywhere we can

It's much better to get EPIPE than SIGPIPE.

Block SIGPIPE in all threads we create. In the daemon, block SIGPIPE in
the main thread.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomessanger: shouldn't throw sigpipe on failed socket
Yehuda Sadeh [Thu, 3 Mar 2011 21:44:07 +0000 (13:44 -0800)]
messanger: shouldn't throw sigpipe on failed socket

14 years agodout: Log version message when (re)opening log
Colin Patrick McCabe [Thu, 3 Mar 2011 12:30:24 +0000 (04:30 -0800)]
dout: Log version message when (re)opening log

Log a version message whenever we open the dout log, not just the first
time. However, only output it to log files and syslog. Spewing versions
to stderr and stdout was determined to be annoying.

Rename dout_emergency_impl to dout_emergency_to_file_and_syslog to
better reflect its function.

Rename ceph_version_to_string to pretty_version_to_string.

Add get_process_name to do just that. Re-arrange some version.h methods.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Conflicts:

src/common/common_init.cc

14 years agoThread: don't mask signals except in library code
Colin Patrick McCabe [Tue, 1 Mar 2011 16:04:26 +0000 (08:04 -0800)]
Thread: don't mask signals except in library code

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomds: rip out rename linkmerge support
Sage Weil [Thu, 3 Mar 2011 00:13:54 +0000 (16:13 -0800)]
mds: rip out rename linkmerge support

It turns out POSIX says rename(a,b) is a no-op when a and b link to the
same inode.  This is super weird but good news because it means we can
rip out a bunch of poorly tested code.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agodout: Reopen dout after parsing all config opts
Colin Patrick McCabe [Wed, 2 Mar 2011 15:28:10 +0000 (07:28 -0800)]
dout: Reopen dout after parsing all config opts

Reopen the dout stream only after we parse all configuration options.
Specifying --log-file on the command line now works as expected.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agodout: remove g_conf.log_to_file
Colin Patrick McCabe [Wed, 2 Mar 2011 15:12:03 +0000 (07:12 -0800)]
dout: remove g_conf.log_to_file

Remove the log_to_file configuration option. Instead, only log to a file
if either log_file or log_dir is set.

This way, command-line options like --log-file=/tmp/foo work as
expected.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agologging: default to foreground logging
Colin Patrick McCabe [Wed, 2 Mar 2011 12:22:20 +0000 (04:22 -0800)]
logging: default to foreground logging

At global constructor time: default to logging everything to stderr.

During common_init: set appropriate logging defaults based on the type
or program (daemon or other).

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agocmds/cosd: Fix IsHeapProfilerRunning implicit return type cast.
Alexandre Oliva [Wed, 2 Mar 2011 21:39:09 +0000 (13:39 -0800)]
cmds/cosd: Fix IsHeapProfilerRunning implicit return type cast.

G++ complains about the difference between the return type of tcmalloc's
IsHeapProfilerRunning (int) and the return type of the function that
g_conf.profiler_running is supposed to point to (bool). We could
probably get away with a type-cast, but as a compiler developer and
former C++ language lawyer, I'd rather not take the risk of destroying
the universe by invoking undefined behavior ;-)

Signed-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agomds: drop some dead code
Sage Weil [Wed, 2 Mar 2011 17:50:44 +0000 (09:50 -0800)]
mds: drop some dead code

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: fix one rename dentry linkage projection case
Sage Weil [Wed, 2 Mar 2011 17:41:20 +0000 (09:41 -0800)]
mds: fix one rename dentry linkage projection case

There are more.  :(

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: simple test for random missing objects during recovery
Sage Weil [Wed, 2 Mar 2011 00:10:49 +0000 (16:10 -0800)]
osd: simple test for random missing objects during recovery

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: recovery cleanups, better error messages
Sage Weil [Wed, 2 Mar 2011 00:03:35 +0000 (16:03 -0800)]
osd: recovery cleanups, better error messages

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: update missing_loc when infering an empty missing set
Sage Weil [Wed, 2 Mar 2011 00:02:48 +0000 (16:02 -0800)]
osd: update missing_loc when infering an empty missing set

We infer an empty missing set, but weren't calculating object locations
based on that.  Usually it was okay because we already had another
location, but not always!  And especially not when one location turns out
to be bad and we need to go to another.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: fix unfound output
Sage Weil [Wed, 2 Mar 2011 00:01:49 +0000 (16:01 -0800)]
osd: fix unfound output

We were printing unfound when not, and vice versa.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: add object to missing if we find it missing on disk
Sage Weil [Tue, 1 Mar 2011 23:11:47 +0000 (15:11 -0800)]
osd: add object to missing if we find it missing on disk

If the recovery finds the object missing on disk during recovery, add it
to the local missing set so we can (hopefully) recover it from another
replica.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: (semi-)handle case where primary copy isn't there
Sage Weil [Tue, 1 Mar 2011 22:42:44 +0000 (14:42 -0800)]
osd: (semi-)handle case where primary copy isn't there

Continue recovering, at least.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: continue recovery after encountering missing objects
Sage Weil [Tue, 1 Mar 2011 22:25:59 +0000 (14:25 -0800)]
osd: continue recovery after encountering missing objects

1- If we try to pull an object that isn't there, send an empty push in
reply.

2- If we get an empty push, call a new failed_push helper.  Also called
when we pull partial/bad data.

3- Fix the fail behavior to close out our attempt, adjust our missing_loc,
but let the calling recovery code handle the retry.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: trigger discover_all_missing after replay delay
Sage Weil [Tue, 1 Mar 2011 00:05:08 +0000 (16:05 -0800)]
osd: trigger discover_all_missing after replay delay

We were calling discover_all_missing only when we went immediately active,
not after we were in the replay state (which triggers from a timer event
that calls OSD::activate_pg().  Move the call into PG::activate() so that
we catch both callers.

This requires passing in a query_map from the caller.  While we're at it,
clean up some other instances where we are defining a new query_map
deep within the call tree.

Fixes: #847 (I hope)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: handle osd_ping (and ack requests) while !active
Sage Weil [Mon, 28 Feb 2011 22:15:14 +0000 (14:15 -0800)]
osd: handle osd_ping (and ack requests) while !active

In particular, we may start getting ping requests before getting (or while
processing) our first map that makes us go active.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoRevert "move g_default_file_layout into ceph_fs.cc"
Sage Weil [Mon, 28 Feb 2011 20:57:56 +0000 (12:57 -0800)]
Revert "move g_default_file_layout into ceph_fs.cc"

This reverts commit 1dc12e3e1de1ee6aeb3ef11bb3faafa4757b1a65.

The headers and ceph_fs.cc are written such that they can be shared
verbatim between the kernel and userspace code.  Omitting the headers
was deliberate, because they differ depending on the build environment.

The default file layout seems fine in config.cc, since it is declared
in config.h, and is a bunch of tunables we generally try to keep in
config.cc.

14 years agocconf: fix clitest
Colin Patrick McCabe [Mon, 28 Feb 2011 11:51:01 +0000 (03:51 -0800)]
cconf: fix clitest

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agounittests: remember to use AM_LDFLAGS
Colin Patrick McCabe [Mon, 28 Feb 2011 11:00:38 +0000 (03:00 -0800)]
unittests: remember to use AM_LDFLAGS

remember to use AM_LDFLAGS when setting _LDFLAGS. Otherwise, the global
flags will be lost.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMerge branch 'librados_api' into next
Colin Patrick McCabe [Mon, 28 Feb 2011 09:57:58 +0000 (01:57 -0800)]
Merge branch 'librados_api' into next

14 years agoRename PoolHandle to IoContext: part 2
Colin Patrick McCabe [Sat, 26 Feb 2011 00:38:33 +0000 (16:38 -0800)]
Rename PoolHandle to IoContext: part 2

The previous change changed all PoolHandle uses to IoContext. This
change also renames the variable names.

Also fix a few API functions whose names weren't quite right after the
previous change. rados_pool_list really does just list pools-- it has
nothing to do with ioctxes.

rados_ioctx_change_auid should be rados_ioctx_pool_set_auid. Although it
takes an ioctx as an argument, it operates on the pool.

rados_ioctx_close should just return void. APIs where the close
operation can fail are broken. What is the user supposed to do if
closing doesn't work?

Also, fix a few test programs that got overlooked earlier.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotestlibrbd: call rados_connect
Josh Durgin [Sat, 26 Feb 2011 02:04:21 +0000 (18:04 -0800)]
testlibrbd: call rados_connect

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoFileStore.h: reorder queue operations in _journaled_ahead
Samuel Just [Thu, 24 Feb 2011 20:31:58 +0000 (12:31 -0800)]
FileStore.h: reorder queue operations in _journaled_ahead

In writeahead mode, an op could dissappear from jq without immediately
reappearing in q.  Thus, q can be empty before seq is requeued and
finished.  _journaled_ahead will now enqueue the op in q before removing
from jq.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoRevert "FileStore: fix OpSequencer::flush error"
Samuel Just [Thu, 24 Feb 2011 20:42:16 +0000 (12:42 -0800)]
Revert "FileStore: fix OpSequencer::flush error"

This reverts commit c78b29a47d7211a4b8b1585112ac22b8435a82c7.

This commit introduced an error in parallel journaling mode.
OpSequencer::flush is only meant to ensure that the ops have become
readable, not necessarily journalled.

14 years agolibrados: Rename rados_pool_t to rados_ioctx_t
Colin Patrick McCabe [Fri, 25 Feb 2011 18:23:12 +0000 (10:23 -0800)]
librados: Rename rados_pool_t to rados_ioctx_t

rados_pool_t -> rados_ioctx_t

class PoolCtx -> class IoCtxImpl

class PoolHandle -> class IoCtx

PoolHandle::name() -> IoCtx::get_pool_name()

Replace rados_pool_destroy, PoolHandle::destroy with rados_pool_delete
and Rados::pool_delete.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotestradospp: update for new librados API
Josh Durgin [Sat, 26 Feb 2011 00:26:51 +0000 (16:26 -0800)]
testradospp: update for new librados API

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agotestlibrbdpp: convert to new APIs
Josh Durgin [Sat, 26 Feb 2011 00:05:00 +0000 (16:05 -0800)]
testlibrbdpp: convert to new APIs

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agotest_common.sh: should rm objects before adding
Colin Patrick McCabe [Fri, 25 Feb 2011 17:08:00 +0000 (09:08 -0800)]
test_common.sh: should rm objects before adding

rados_write doesn't replace the whole object, but that's what we want in
these old tests. So just rm it first.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorbd: de-globalize rbd, rados, Image
Colin Patrick McCabe [Fri, 25 Feb 2011 16:27:29 +0000 (08:27 -0800)]
rbd: de-globalize rbd, rados, Image

Use RAII for rbd, rados, and Image. Their destructors will be called
when main exits, thus doing the cleanup for us. Use auto_ptr for Image.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrbd, librados: fix my last commits to use the new librados API
Josh Durgin [Fri, 25 Feb 2011 23:45:49 +0000 (15:45 -0800)]
librbd, librados: fix my last commits to use the new librados API

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: add snap_get_stamp to C API
Josh Durgin [Fri, 25 Feb 2011 23:28:30 +0000 (15:28 -0800)]
librados: add snap_get_stamp to C API

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agotestlibrbdpp: initialize pointers
Josh Durgin [Fri, 25 Feb 2011 22:19:51 +0000 (14:19 -0800)]
testlibrbdpp: initialize pointers

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados, librbd: remove selfmanaged_snap_rollback_object
Josh Durgin [Fri, 25 Feb 2011 22:00:05 +0000 (14:00 -0800)]
librados, librbd: remove selfmanaged_snap_rollback_object

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoMerge branch 'librados_api_cpp' into librados_api
Colin Patrick McCabe [Fri, 25 Feb 2011 16:15:11 +0000 (08:15 -0800)]
Merge branch 'librados_api_cpp' into librados_api

Conflicts:
src/include/rbd/librbd.hpp
src/librbd.cc
src/rbd.cc

14 years agotestlibrbdpp: use new librbd api
Josh Durgin [Fri, 25 Feb 2011 21:39:35 +0000 (13:39 -0800)]
testlibrbdpp: use new librbd api

14 years agorbd: update for librbd api changes
Josh Durgin [Fri, 25 Feb 2011 18:57:27 +0000 (10:57 -0800)]
rbd: update for librbd api changes

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: tweak C++ API
Josh Durgin [Fri, 25 Feb 2011 18:54:30 +0000 (10:54 -0800)]
librbd: tweak C++ API

- rename image_open to open and make it return an int
- remove Image::close, replace with destructor
- make Image constructor private

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: C++ API rework
Colin Patrick McCabe [Thu, 24 Feb 2011 16:14:20 +0000 (08:14 -0800)]
librados: C++ API rework

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorollback rename
Colin Patrick McCabe [Thu, 24 Feb 2011 18:13:09 +0000 (10:13 -0800)]
rollback rename

14 years agorbd: use new librbd C++ api
Josh Durgin [Fri, 25 Feb 2011 01:20:33 +0000 (17:20 -0800)]
rbd: use new librbd C++ api

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: make C++ api nicer
Josh Durgin [Thu, 24 Feb 2011 21:41:55 +0000 (13:41 -0800)]
librbd: make C++ api nicer

Adds Image class and replaces aio_create_completion with a constructor.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agofilejournal: fix type punning warning, drop unneeded cast
Sage Weil [Thu, 24 Feb 2011 14:12:02 +0000 (06:12 -0800)]
filejournal: fix type punning warning, drop unneeded cast

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoSome tweaks for the librados C API
Colin Patrick McCabe [Thu, 24 Feb 2011 11:30:23 +0000 (03:30 -0800)]
Some tweaks for the librados C API

rados_reopen_log: should take a cluster parameter.

Add rados_pool_list, rados_pool_list_free.

rados_snap_set_read -> rados_pool_snap_set_read

rados_snap_set_write_context -> rados_pool_selfmanaged_snap_set_write_ctx

write/write_full/etc: re-arrange parameter order to be the same as
pwrite(2).

Change interface of rados_pool_list a bit

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrbd, rbd: fill in the rest of image_info_t
Josh Durgin [Thu, 24 Feb 2011 19:23:51 +0000 (11:23 -0800)]
librbd, rbd: fill in the rest of image_info_t

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoMakefile: fix libatomic_ops linking
Sage Weil [Thu, 24 Feb 2011 13:49:29 +0000 (05:49 -0800)]
Makefile: fix libatomic_ops linking

LDADD seems to have no effect on the final link command.  Switching this
back to AM_LDFLAGS.  This was changed as in 1c7d8f1ac2c, although it's not
clear that the change was intentional...

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: remove "N stopped" from short mdsmap summary
Sage Weil [Thu, 24 Feb 2011 08:34:37 +0000 (00:34 -0800)]
mds: remove "N stopped" from short mdsmap summary

It's confusing because it sounds like we're talking about daemons, when we
really just mean there are some ranks that created some ondisk state but
aren't currently part of the running cluster.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomon: include mds gid in logs
Sage Weil [Thu, 24 Feb 2011 08:31:55 +0000 (00:31 -0800)]
mon: include mds gid in logs

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds,osd: print 'starting ...' message to stdout
Sage Weil [Thu, 24 Feb 2011 08:20:06 +0000 (00:20 -0800)]
mds,osd: print 'starting ...' message to stdout

The timestamp/threadid prefix is unnecessary, and stdout seems more
appropriate.  Now matches cmon.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocommon: only print version to stdout for daemons
Sage Weil [Thu, 24 Feb 2011 08:19:23 +0000 (00:19 -0800)]
common: only print version to stdout for daemons

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: add 'exit' command
Sage Weil [Thu, 24 Feb 2011 15:50:58 +0000 (07:50 -0800)]
mds: add 'exit' command

Tell a cmds process to suicide/exit immediately.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: fix frag string rendering
Sage Weil [Thu, 24 Feb 2011 15:50:17 +0000 (07:50 -0800)]
mds: fix frag string rendering

Was mostly gibberish from df7c7bd79237d2a8b691f4e59433b0b39a9721a2

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: strengthen assertions in rejoin ack
Sage Weil [Wed, 23 Feb 2011 23:08:58 +0000 (15:08 -0800)]
mds: strengthen assertions in rejoin ack

The ACK only contains items we asked for with a WEAK request.  Assert as
much.  (The old continue bits were from ~2007, when this was originally
written.)

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: fix gratuitous map lookup
Sage Weil [Wed, 23 Feb 2011 23:10:45 +0000 (15:10 -0800)]
mds: fix gratuitous map lookup

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>