]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agoqa: pjd must run as root
Sage Weil [Thu, 16 Jun 2011 21:07:15 +0000 (14:07 -0700)]
qa: pjd must run as root

14 years agoMerge remote branch 'origin/mds_xsyn'
Sage Weil [Thu, 16 Jun 2011 18:30:45 +0000 (11:30 -0700)]
Merge remote branch 'origin/mds_xsyn'

14 years agoMerge remote branch 'origin/stable'
Josh Durgin [Thu, 16 Jun 2011 00:43:35 +0000 (17:43 -0700)]
Merge remote branch 'origin/stable'

14 years agolibrbd: fix block_completion race condition
Josh Durgin [Tue, 14 Jun 2011 19:38:14 +0000 (12:38 -0700)]
librbd: fix block_completion race condition

If block completions finished before all of them were scheduled, the
pending_count could reach 0, and the callback could be called more
than once. This caused the reference counting to be off, so the next
call to the callback passed an invalid pointer, resulting in crashes
like this (or more mysterious ones):

common/Mutex.h: In function 'void Mutex::Lock(bool)', in thread '0x7f5f37e62700'
common/Mutex.h: 118: FAILED assert(r == 0)
 1: (librbd::RBD::AioCompletion::get_return_value()+0x19c) [0x7f5f408835bc]
 2: /usr/bin/kvm() [0x4629fd]
 3: (librbd::AioCompletion::complete_block(librbd::AioBlockCompletion*, long)+0x13c) [0x7f5f4088ab5c]
 4: (librbd::rados_aio_sparse_read_cb(void*, void*)+0x8d) [0x7f5f4088b40d]
 5: (librados::RadosClient::C_aio_sparse_read_Ack::finish(int)+0x12e) [0x7f5f4050beee]
 6: (Objecter::handle_osd_op_reply(MOSDOpReply*)+0x783) [0x7f5f40517863]
 7: (librados::RadosClient::_dispatch(Message*)+0x3c) [0x7f5f404ffe8c]
 8: (librados::RadosClient::ms_dispatch(Message*)+0x33) [0x7f5f404fff53]
 9: (SimpleMessenger::dispatch_entry()+0x69d) [0x7f5f405bf5bd]
 10: (SimpleMessenger::DispatchThread::entry()+0x1c) [0x7f5f4050052c]
 11: (()+0x6d8c) [0x7f5f40c9dd8c]
 12: (clone()+0x6d) [0x7f5f3e0b904d]

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: add AioCompletion debugging
Josh Durgin [Wed, 15 Jun 2011 19:04:23 +0000 (12:04 -0700)]
librbd: add AioCompletion debugging

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agouclient: path_walk should notice when it gets absolute paths.
Greg Farnum [Wed, 15 Jun 2011 21:24:43 +0000 (14:24 -0700)]
uclient: path_walk should notice when it gets absolute paths.

Previously it assumed everything was relative, but we need to handle
absolute paths on occasion, and already have the code to do so!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agovstart: put .journal outside of osd data dir
Sage Weil [Wed, 15 Jun 2011 19:11:13 +0000 (12:11 -0700)]
vstart: put .journal outside of osd data dir

This prevents it from getting cleaned up during mkfs.  Then we can make it
a symlink, or at the very least avoid deleting + reallocating it.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: Make snaptest-git-ceph.sh clean up after itself.
Tommi Virtanen [Wed, 15 Jun 2011 18:27:54 +0000 (11:27 -0700)]
qa: Make snaptest-git-ceph.sh clean up after itself.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agoauth: remove CephCryptoManager
Colin Patrick McCabe [Tue, 14 Jun 2011 23:27:02 +0000 (16:27 -0700)]
auth: remove CephCryptoManager

It doesn't do anything.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrbd: fix AioCompletion race condition
Josh Durgin [Tue, 14 Jun 2011 19:38:14 +0000 (12:38 -0700)]
librbd: fix AioCompletion race condition

If block completions finished before all of them where scheduled, the
pending_count would reach 0, and the AioCompletion would be destroyed
since the refcount would also reach 0. To fix this, hold a reference
to the AioCompletion while scheduling more block completions.

This caused a crash like this when running qemu:

1: ceph::__ceph_assert_fail (assertion=<value optimized out>, file=<value optimized out>, line=<value optimized out>, func=<value optimized out>) at common/assert.cc:86
2: Lock (ictx=0x7f83d0001f00, off=5368705024, len=0, buf=0x2fac000 "", c=0x2cebe00) at common/Mutex.h:118
3: add_block_completion (ictx=0x7f83d0001f00, off=5368705024, len=0, buf=0x2fac000 "", c=0x2cebe00) at librbd.cc:159
4: librbd::aio_read (ictx=0x7f83d0001f00, off=5368705024, len=0, buf=0x2fac000 "", c=0x2cebe00) at librbd.cc:1368
5: rbd_aio_rw_vector (bs=<value optimized out>, sector_num=10485752, qiov=<value optimized out>, nb_sectors=<value optimized out>, cb=<value optimized out>, opaque=<value optimized out>, write=0) at block/rbd.c:626
6: qemu_rbd_aio_readv (bs=<value optimized out>, sector_num=<value optimized out>, qiov=<value optimized out>, nb_sectors=<value optimized out>, cb=<value optimized out>, opaque=<value optimized out>) at block/rbd.c:649
7: bdrv_aio_readv (bs=0x2ce92e0, sector_num=10485752, qiov=0x2de08f0, nb_sectors=8, cb=<value optimized out>, opaque=<value optimized out>)

Fixes: #998
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agomonmaptool: implement --help
Colin Patrick McCabe [Tue, 14 Jun 2011 21:47:03 +0000 (14:47 -0700)]
monmaptool: implement --help

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotest/bufferlist: don't alloc large array on stack
Colin Patrick McCabe [Tue, 14 Jun 2011 21:43:02 +0000 (14:43 -0700)]
test/bufferlist: don't alloc large array on stack

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years ago.gitignore man/Makefile
Sage Weil [Tue, 14 Jun 2011 20:58:05 +0000 (13:58 -0700)]
.gitignore man/Makefile

blech

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: do not use automake for workunit makefiles
Sage Weil [Tue, 14 Jun 2011 19:53:33 +0000 (12:53 -0700)]
qa: do not use automake for workunit makefiles

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa/workunits/direct_io: fit .gitignore
Sage Weil [Tue, 14 Jun 2011 19:35:35 +0000 (12:35 -0700)]
qa/workunits/direct_io: fit .gitignore

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoradosgw_admin: fix clitest help
Sage Weil [Tue, 14 Jun 2011 19:27:41 +0000 (12:27 -0700)]
radosgw_admin: fix clitest help

14 years agocrbdnamer: man page
Sage Weil [Tue, 14 Jun 2011 05:22:25 +0000 (22:22 -0700)]
crbdnamer: man page

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocrbdnamer: +x
Sage Weil [Tue, 14 Jun 2011 05:19:04 +0000 (22:19 -0700)]
crbdnamer: +x

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: radosgw_admin: fix clitest
Sage Weil [Tue, 14 Jun 2011 05:14:13 +0000 (22:14 -0700)]
qa: radosgw_admin: fix clitest

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: direct_io: fix warnings
Sage Weil [Tue, 14 Jun 2011 05:11:51 +0000 (22:11 -0700)]
qa: direct_io: fix warnings

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoconfigure: check for boost statechart header
Sage Weil [Tue, 14 Jun 2011 04:56:47 +0000 (21:56 -0700)]
configure: check for boost statechart header

Partially fixes: #1124
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoradosgw_admin: log show can dump info in xml, json
Yehuda Sadeh [Mon, 13 Jun 2011 23:47:52 +0000 (16:47 -0700)]
radosgw_admin: log show can dump info in xml, json

14 years agoradosgw_admin: fix log show (with new poolid param)
Yehuda Sadeh [Mon, 13 Jun 2011 23:21:36 +0000 (16:21 -0700)]
radosgw_admin: fix log show (with new poolid param)

14 years agoradosgw_admin: pool create command
Yehuda Sadeh [Mon, 13 Jun 2011 23:18:32 +0000 (16:18 -0700)]
radosgw_admin: pool create command

14 years agoMerge branch 'wip-workunits'
Sage Weil [Mon, 13 Jun 2011 23:25:13 +0000 (16:25 -0700)]
Merge branch 'wip-workunits'

14 years agolibrados: use empty(), not size()
Sage Weil [Mon, 13 Jun 2011 21:07:48 +0000 (14:07 -0700)]
librados: use empty(), not size()

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: test_sync_io: zero buffers prior to read
Sage Weil [Mon, 13 Jun 2011 23:23:28 +0000 (16:23 -0700)]
qa: test_sync_io: zero buffers prior to read

Be extra paranoid to ensure we read back the correct data and didn't
just find it in undefined memory.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: test_sync_io improvements
Sage Weil [Mon, 13 Jun 2011 23:18:23 +0000 (16:18 -0700)]
qa: test_sync_io improvements

Exit (without removing foo) on error.

Allow read- or write-only operation.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agorgw: log pool id, and store/retrieve pool id info
Yehuda Sadeh [Mon, 13 Jun 2011 22:27:38 +0000 (15:27 -0700)]
rgw: log pool id, and store/retrieve pool id info

14 years agolibrados: expose pool id
Yehuda Sadeh [Mon, 13 Jun 2011 18:29:30 +0000 (11:29 -0700)]
librados: expose pool id

Conflicts:

src/librados.cc

14 years agoqa: fix test_shorT_dio_read
Sage Weil [Mon, 13 Jun 2011 21:17:16 +0000 (14:17 -0700)]
qa: fix test_shorT_dio_read

No args, hardcode filename.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoPG: clear scrub_received_maps in scrub_clear_state
Samuel Just [Mon, 13 Jun 2011 20:32:18 +0000 (13:32 -0700)]
PG: clear scrub_received_maps in scrub_clear_state

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoqa: fix loopall, runallonce scripts
Sage Weil [Mon, 13 Jun 2011 20:31:35 +0000 (13:31 -0700)]
qa: fix loopall, runallonce scripts

Run anything executable.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: move compiled workunits into organized directory
Sage Weil [Mon, 13 Jun 2011 20:29:30 +0000 (13:29 -0700)]
qa: move compiled workunits into organized directory

No need for a separate qa/src/ dir; just put them where we want them.  We
need to ignore non-executable files when doing the bulk runs anyway.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: add short directio read test
Sage Weil [Fri, 10 Jun 2011 04:53:28 +0000 (21:53 -0700)]
qa: add short directio read test

This tests for the bug fixed by linux commit:c3cd628.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: add henry's direct io tests
Sage Weil [Fri, 10 Jun 2011 04:47:44 +0000 (21:47 -0700)]
qa: add henry's direct io tests

Not sure what the second one is testing, actually, but including it anyway.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: include $basedir/src/ (qa/src/) in path
Sage Weil [Fri, 10 Jun 2011 04:40:15 +0000 (21:40 -0700)]
qa: include $basedir/src/ (qa/src/) in path

This lets the workunits find stuff build in qa/src/, in case you are
running using these (old) scripts.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: add direct and sync io workunits
Sage Weil [Fri, 10 Jun 2011 04:38:11 +0000 (21:38 -0700)]
qa: add direct and sync io workunits

Just run the test programs in ../src

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: expand test_sync_io
Sage Weil [Fri, 10 Jun 2011 04:29:00 +0000 (21:29 -0700)]
qa: expand test_sync_io

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: organize workunits a bit
Sage Weil [Fri, 10 Jun 2011 03:42:13 +0000 (20:42 -0700)]
qa: organize workunits a bit

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoqa: move compiled items into qa/src/
Sage Weil [Fri, 10 Jun 2011 04:30:42 +0000 (21:30 -0700)]
qa: move compiled items into qa/src/

14 years agoosd: fix head_exists fix
Sage Weil [Mon, 13 Jun 2011 20:02:58 +0000 (13:02 -0700)]
osd: fix head_exists fix

Needs to default to false, or else deletions don't work.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: don't update snapset head_exists unless full transaction succeeds
Sage Weil [Mon, 13 Jun 2011 19:05:24 +0000 (12:05 -0700)]
osd: don't update snapset head_exists unless full transaction succeeds

Make the update at the end of make_writeable, along with the other snapset
updates.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: fix make_writeable
Sage Weil [Mon, 13 Jun 2011 19:04:55 +0000 (12:04 -0700)]
osd: fix make_writeable

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>
14 years agomonc: protect msg source check with monc_lock
Sage Weil [Mon, 13 Jun 2011 17:04:07 +0000 (10:04 -0700)]
monc: protect msg source check with monc_lock

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>
14 years agoMerge branch 'mds_issue_caps'
Sage Weil [Mon, 13 Jun 2011 16:43:49 +0000 (09:43 -0700)]
Merge branch 'mds_issue_caps'

14 years agoMerge remote branch 'origin/stable'
Sage Weil [Sat, 11 Jun 2011 00:37:29 +0000 (17:37 -0700)]
Merge remote branch 'origin/stable'

Conflicts:
src/dumpjournal.cc

14 years agoMerge remote branch 'origin/deb-pybind'
Sage Weil [Sat, 11 Jun 2011 00:35:05 +0000 (17:35 -0700)]
Merge remote branch 'origin/deb-pybind'

14 years agodebian: Move python-ceph into section python.
Tommi Virtanen [Sat, 11 Jun 2011 00:10:32 +0000 (17:10 -0700)]
debian: Move python-ceph into section python.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Strip and do -dbg magic for librgw too.
Tommi Virtanen [Sat, 11 Jun 2011 00:10:12 +0000 (17:10 -0700)]
debian: Strip and do -dbg magic for librgw too.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Fix copy-pasto in librgw1 control paragraph.
Tommi Virtanen [Sat, 11 Jun 2011 00:09:51 +0000 (17:09 -0700)]
debian: Fix copy-pasto in librgw1 control paragraph.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Depend on python-ceph in obsync.
Tommi Virtanen [Fri, 10 Jun 2011 23:58:36 +0000 (16:58 -0700)]
debian: Depend on python-ceph in obsync.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Depend on librgw1 in python-ceph.
Tommi Virtanen [Fri, 10 Jun 2011 23:58:15 +0000 (16:58 -0700)]
debian: Depend on librgw1 in python-ceph.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Package librgw.
Tommi Virtanen [Fri, 10 Jun 2011 23:43:55 +0000 (16:43 -0700)]
debian: Package librgw.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agopybind: Open shared libs by their major version.
Tommi Virtanen [Fri, 10 Jun 2011 23:14:13 +0000 (16:14 -0700)]
pybind: Open shared libs by their major version.

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>
14 years agodebian: Make git ignore obsync, gceph* package dirs.
Tommi Virtanen [Fri, 10 Jun 2011 23:12:25 +0000 (16:12 -0700)]
debian: Make git ignore obsync, gceph* package dirs.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Prevent git ignore from recursing on *.substvars etc.
Tommi Virtanen [Fri, 10 Jun 2011 23:11:52 +0000 (16:11 -0700)]
debian: Prevent git ignore from recursing on *.substvars etc.

Should never have triggered but this is faster simpler
and correcter.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Make git ignore all of the *.debhelper files.
Tommi Virtanen [Fri, 10 Jun 2011 23:11:08 +0000 (16:11 -0700)]
debian: Make git ignore all of the *.debhelper files.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Dev packages no longer have soname in their names.
Tommi Virtanen [Fri, 10 Jun 2011 23:10:28 +0000 (16:10 -0700)]
debian: Dev packages no longer have soname in their names.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: Properly package the python bindings.
Tommi Virtanen [Fri, 10 Jun 2011 22:51:33 +0000 (15:51 -0700)]
debian: Properly package the python bindings.

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>
14 years agorgw: list bucket display the correct objects owners
Yehuda Sadeh [Fri, 10 Jun 2011 22:01:04 +0000 (15:01 -0700)]
rgw: list bucket display the correct objects owners

14 years agoboto_tool: add put_bucket_acl
Colin Patrick McCabe [Fri, 10 Jun 2011 21:55:35 +0000 (14:55 -0700)]
boto_tool: add put_bucket_acl

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorgw: don't allow handing out object ownership
Yehuda Sadeh [Fri, 10 Jun 2011 20:24:29 +0000 (13:24 -0700)]
rgw: don't allow handing out object ownership

14 years agolibrados: remove useless reference holding
Yehuda Sadeh [Fri, 3 Jun 2011 21:31:20 +0000 (14:31 -0700)]
librados: remove useless reference holding

14 years agolibrados: get reference to the io context for the pending async ops
Yehuda Sadeh [Fri, 3 Jun 2011 21:09:34 +0000 (14:09 -0700)]
librados: get reference to the io context for the pending async ops

14 years agoheap_profiler: if log_dir is empty, don't try and log to root dir!
Greg Farnum [Fri, 10 Jun 2011 19:25:52 +0000 (12:25 -0700)]
heap_profiler: if log_dir is empty, don't try and log to root dir!

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>
14 years agocoverage.sh: use .lcov instead of .info to avoid confusion
Josh Durgin [Fri, 10 Jun 2011 18:31:08 +0000 (11:31 -0700)]
coverage.sh: use .lcov instead of .info to avoid confusion

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoMerge remote branch 'origin/wip_coverage'
Josh Durgin [Fri, 10 Jun 2011 18:28:09 +0000 (11:28 -0700)]
Merge remote branch 'origin/wip_coverage'

Conflicts:
src/mon/Monitor.cc

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agorgw: remove required indexes when modifying user info
Yehuda Sadeh [Fri, 10 Jun 2011 17:07:55 +0000 (10:07 -0700)]
rgw: remove required indexes when modifying user info

Conflicts:

src/rgw/rgw_admin.cc

14 years agomon: Follow the Message rules when forwarding tells
Greg Farnum [Fri, 10 Jun 2011 00:41:39 +0000 (17:41 -0700)]
mon: Follow the Message rules when forwarding tells

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>
14 years agomds: clear correct state bit in do_file_recover
Sage Weil [Fri, 10 Jun 2011 16:25:49 +0000 (09:25 -0700)]
mds: clear correct state bit in do_file_recover

The RECOVERING bit is set, not NEEDSRECOVER.  This way we match
_recovered().

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoThread: remove globals. Thread create must succeed
Colin Patrick McCabe [Fri, 10 Jun 2011 01:26:58 +0000 (18:26 -0700)]
Thread: remove globals. Thread create must succeed

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>
14 years agoLogClient: pass in CephContext explicitly
Colin Patrick McCabe [Fri, 10 Jun 2011 01:04:39 +0000 (18:04 -0700)]
LogClient: pass in CephContext explicitly

Again, the Messenger passed to LogClient may be NULL, so pass in the
CephContext explicitly.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMonitor: pass in CephContext explicitly
Colin Patrick McCabe [Fri, 10 Jun 2011 00:56:41 +0000 (17:56 -0700)]
Monitor: pass in CephContext explicitly

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>
14 years agomds, mon, osd: with coverage enabled, exit(0) when SIGTERM is received
Josh Durgin [Fri, 10 Jun 2011 00:33:25 +0000 (17:33 -0700)]
mds, mon, osd: with coverage enabled, exit(0) when SIGTERM is received

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoRevert "mon: add all_exit and exit commands"
Josh Durgin [Thu, 9 Jun 2011 23:57:52 +0000 (16:57 -0700)]
Revert "mon: add all_exit and exit commands"

This reverts commit 69092735c4b25c88ded58b17b1c198fafcf5931b.

14 years agoRevert "mds: allow mds to 'exit immediately'"
Josh Durgin [Thu, 9 Jun 2011 23:57:41 +0000 (16:57 -0700)]
Revert "mds: allow mds to 'exit immediately'"

This reverts commit c01961ff4b712a12e25e437adceae264273d7428.

14 years agoRevert "osd: add command to exit cleanly"
Josh Durgin [Thu, 9 Jun 2011 23:57:28 +0000 (16:57 -0700)]
Revert "osd: add command to exit cleanly"

This reverts commit 1cc78b6a864d36cbe1eda45890d7f361adb8201d.

14 years agomds: fix up MDCache::path_is_mine to remove a totally bogus assert.
Greg Farnum [Thu, 9 Jun 2011 23:53:22 +0000 (16:53 -0700)]
mds: fix up MDCache::path_is_mine to remove a totally bogus assert.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agomon: add new "tell" infrastructure.
Greg Farnum [Fri, 10 Jun 2011 00:21:33 +0000 (17:21 -0700)]
mon: add new "tell" infrastructure.

This lets you issue commands
like "ceph mon tell 0 heap start_profiler". Hurray!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoCephContext: initialize module_type in ctor
Colin Patrick McCabe [Thu, 9 Jun 2011 23:21:23 +0000 (16:21 -0700)]
CephContext: initialize module_type in ctor

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomds: be slightly more careful about checking if lock has caps
Sage Weil [Thu, 9 Jun 2011 21:58:16 +0000 (14:58 -0700)]
mds: be slightly more careful about checking if lock has caps

issued_caps_need_gather==true implies it, but we can skip the work if the
lock has no caps.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix xlock_finish do_issue checks
Sage Weil [Thu, 9 Jun 2011 21:52:55 +0000 (14:52 -0700)]
mds: fix xlock_finish do_issue checks

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>
14 years agomds: fix eval_gather callers passing pissue_gather as wrong arg
Sage Weil [Thu, 9 Jun 2011 21:22:52 +0000 (14:22 -0700)]
mds: fix eval_gather callers passing pissue_gather as wrong arg

Whoops!

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix xlock_finish issue flag check
Sage Weil [Thu, 9 Jun 2011 21:21:12 +0000 (14:21 -0700)]
mds: fix xlock_finish issue flag check

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>
14 years agomds: make pneed_issue required for eval(SimpleLock*)
Sage Weil [Thu, 9 Jun 2011 21:09:10 +0000 (14:09 -0700)]
mds: make pneed_issue required for eval(SimpleLock*)

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: explicitly issue_caps after file_recover
Sage Weil [Thu, 9 Jun 2011 21:07:39 +0000 (14:07 -0700)]
mds: explicitly issue_caps after file_recover

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: make pneed_issue required for *lock_finish()
Sage Weil [Thu, 9 Jun 2011 19:57:13 +0000 (12:57 -0700)]
mds: make pneed_issue required for *lock_finish()

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: efficiently issue_caps for OOO or extra locks in acquire_locks
Sage Weil [Thu, 9 Jun 2011 19:56:51 +0000 (12:56 -0700)]
mds: efficiently issue_caps for OOO or extra locks in acquire_locks

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: explicitly issue_caps for rdlock_finish_set
Sage Weil [Thu, 9 Jun 2011 19:53:40 +0000 (12:53 -0700)]
mds: explicitly issue_caps for rdlock_finish_set

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: explicitly issue_caps for slave xlock release
Sage Weil [Thu, 9 Jun 2011 19:52:48 +0000 (12:52 -0700)]
mds: explicitly issue_caps for slave xlock release

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: efficiently issue_caps for scatterlocks unlock during refragment
Sage Weil [Thu, 9 Jun 2011 19:52:22 +0000 (12:52 -0700)]
mds: efficiently issue_caps for scatterlocks unlock during refragment

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: efficiently drop_rdlocks and drop_xlocks too
Sage Weil [Thu, 9 Jun 2011 21:43:05 +0000 (14:43 -0700)]
mds: efficiently drop_rdlocks and drop_xlocks too

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: set or issue caps on lock state changes
Sage Weil [Thu, 9 Jun 2011 18:37:18 +0000 (11:37 -0700)]
mds: set or issue caps on lock state changes

Set pneed_issue (or issue ourselves) whenever we jump directly to the
target lock state.  Make sure we only do it if there are caps (cap shift)
for this particular lock.

Part of fix for #1084.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: make issue_caps from file_update_finish smarter
Sage Weil [Thu, 9 Jun 2011 17:43:13 +0000 (10:43 -0700)]
mds: make issue_caps from file_update_finish smarter

We do one funky thing in file_update_finish that only issues caps on a
single cap when max_size changes.  This is more commonly we see.  However,
if a lock changes state and we need to issue on the whole inode (for all
clients), avoid doing the cap-specific issue by checking the issue set.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: issue caps from drop_locks
Sage Weil [Thu, 9 Jun 2011 17:41:53 +0000 (10:41 -0700)]
mds: issue caps from drop_locks

In drop_locks, build a set of inodes we need to issue caps on.  Then do it
all at once.  This does two things:

 - it fixes the fact that currently a dropped lock leading to an eval and
   lock state change will not issue caps _at_all_
 - it ensure we only issue_caps once for each inode, even when we are
   dropping multiple locks on it.

This should fix #1084.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: pass pissue_caps through *lock_finish()
Sage Weil [Thu, 9 Jun 2011 17:03:08 +0000 (10:03 -0700)]
mds: pass pissue_caps through *lock_finish()

This allows *lock_finish() callers to handle the issue_caps themselves.
None of them do yet (this arg is still optional) so this is patch has no
functional change (yet!).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoCephContext: remove silly debug code
Colin Patrick McCabe [Thu, 9 Jun 2011 23:09:38 +0000 (16:09 -0700)]
CephContext: remove silly debug code

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoDispatcher should take a CephContext argument
Colin Patrick McCabe [Thu, 9 Jun 2011 23:08:14 +0000 (16:08 -0700)]
Dispatcher should take a CephContext argument

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomds: fix tcmalloc check.
Greg Farnum [Thu, 9 Jun 2011 22:26:13 +0000 (15:26 -0700)]
mds: fix tcmalloc check.

We can run commands to do things like start the profiler even if
it's not already running!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>