Look at the ObjectState to determine if the head exists, not the snapset
(which doesn't reflect the prior object state).
Signed-off-by: Sage Weil <sage@newdream.net>
Push the locking up into ms_dispatch, so that we protect the source check
and don't race with session reopens. Also simplifies things a bit.
Fixes: #1151
Signed-off-by: Sage Weil <sage@newdream.net>
The *.so files are only in the -dev packages, and normal
operation should not require those. The major version
numbers represent incompatible API/ABI changes anyway.
The debian dependencies were already correctly including
the major version.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Build-depend on python-support. Add binary package
python-ceph, making it contain all the ceph python
packages, regardless of their name; the modules are
too small to deserve their own debs.
Make python-ceph depend only on librados2 for now.
librgw is not packaged yet.
Dropping unnecessary build-dep on python-dev, that's
only needed for compiling C extensions, and we're using
ctypes.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
If log_dir was empty then the prefix would be of the form /mon.a
That isn't good, so fill it in so it writes to the current dir.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
My initial commit was naughty, fix that up here by
creating a new message for each mon and just copying
the command.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Remove the references to global variables from Thread.h. They are really
unecessary. In every case, the printout is followed by an assert which
will deliver the exact same information.
Assert that thread creation succeeds. Nobody was checking the return
value of Thread::create() previously. Added a new function,
Thread::try_create(), which programmers can use if they do want to check
the value of Thread::create() and handle it appropriately.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sometimes we create a Monitor without a Messenger. So we can't pull the
CephContext out of the Messenger, because it may be NULL. Just specify
it explicitly in the Monitor constructor.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Should default to false, and only get set to true if there are caps for
this lock. Among other things this means we don't set it for dentry
locks (which have no caps).
Signed-off-by: Sage Weil <sage@newdream.net>
We were sometimes setting do_issue but not *pneed_issue. Simplify by
setting do_issue internally to the function and then either issuing or
setting *pneed_issue at the end.
Also fix bug with second argument to eval_gather().
Signed-off-by: Sage Weil <sage@newdream.net>