Commit Graph

15129 Commits

Author SHA1 Message Date
Sage Weil
3a59579eeb mds: fix transitions away from XSYN state
If we are in XSYN, we need to transition first to EXCL before moving on.
Simply going to the other unstable state isn't enough, because if gather
is zero at the end of the method we end up jumping directly to the wrong
state without passing EXCL.   Instead, call file_excl(), and continue only
if we got there immediately.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-06-16 19:44:06 -07:00
Yehuda Sadeh
9974b7e58a rgw: user suspension 2011-06-16 16:53:38 -07:00
Yehuda Sadeh
c35770c4b0 Merge branch 'rgw-multipart' 2011-06-16 14:20:33 -07:00
Yehuda Sadeh
abfa872f64 Merge remote-tracking branch 'origin/master' into rgw-multipart
Conflicts:
	src/os/FileStore.cc
	src/rgw/rgw_admin.cc
	src/rgw/rgw_fs.h
	src/rgw/rgw_log.cc
	src/rgw/rgw_rados.cc
	src/rgw/rgw_user.cc
	src/rgw/rgw_user.h
2011-06-16 14:19:47 -07:00
Sage Weil
3aa6a4d658 qa: pjd must run as root 2011-06-16 14:07:26 -07:00
Yehuda Sadeh
8b4b83842c rgw: get multipart list marker to work 2011-06-16 13:26:19 -07:00
Sage Weil
77d38e420b v0.29.1
Signed-off-by: Sage Weil <sage@newdream.net>
2011-06-16 13:10:59 -07:00
Sage Weil
062ddf25a2 Merge remote branch 'origin/mds_xsyn' 2011-06-16 11:30:45 -07:00
Yehuda Sadeh
a379c67d03 rgw: some multipart cleanups, fixes 2011-06-16 11:17:01 -07:00
Josh Durgin
5e1768eeba Merge remote branch 'origin/stable' 2011-06-15 17:43:35 -07:00
Josh Durgin
515f0884d4 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>
2011-06-15 17:32:29 -07:00
Yehuda Sadeh
e9e3feeaf5 rgw: implement list multiparts
doesn't work completely, getting there
2011-06-15 17:06:55 -07:00
Josh Durgin
2d63264ccd librbd: add AioCompletion debugging
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-06-15 14:43:24 -07:00
Greg Farnum
4a7a42b5e1 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>
2011-06-15 14:24:43 -07:00
Sage Weil
e90e04117f 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>
2011-06-15 12:11:24 -07:00
Tommi Virtanen
af9879deca qa: Make snaptest-git-ceph.sh clean up after itself.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-06-15 11:27:54 -07:00
Yehuda Sadeh
1aa29320b5 rgw: fix abort multipart upload 2011-06-15 10:16:42 -07:00
Colin Patrick McCabe
27f79fc8e8 auth: remove CephCryptoManager
It doesn't do anything.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-06-14 16:34:42 -07:00
Josh Durgin
ea3db17697 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>
2011-06-14 15:55:13 -07:00
Colin Patrick McCabe
eced4d6bb6 monmaptool: implement --help
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-06-14 14:47:03 -07:00
Colin Patrick McCabe
41d9335db7 test/bufferlist: don't alloc large array on stack
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-06-14 14:43:02 -07:00
Sage Weil
8c97e6c6d5 .gitignore man/Makefile
blech

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-14 13:58:05 -07:00
Sage Weil
954e09661f qa: do not use automake for workunit makefiles
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-14 12:53:33 -07:00
Sage Weil
40f5ab9659 qa/workunits/direct_io: fit .gitignore
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-14 12:35:35 -07:00
Sage Weil
51b3651b54 radosgw_admin: fix clitest help 2011-06-14 12:27:41 -07:00
Sage Weil
d2b7e291f2 crbdnamer: man page
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 22:22:25 -07:00
Sage Weil
e64515257a crbdnamer: +x
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 22:19:04 -07:00
Sage Weil
cca3da1fda qa: radosgw_admin: fix clitest
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 22:14:13 -07:00
Sage Weil
66229c7a54 qa: direct_io: fix warnings
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 22:11:51 -07:00
Sage Weil
71543246d3 configure: check for boost statechart header
Partially fixes: #1124
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 21:56:47 -07:00
Yehuda Sadeh
e304fd0970 radosgw_admin: log show can dump info in xml, json 2011-06-13 16:48:19 -07:00
Yehuda Sadeh
28e1a89431 radosgw_admin: fix log show (with new poolid param) 2011-06-13 16:23:09 -07:00
Yehuda Sadeh
efe1aa719c radosgw_admin: pool create command 2011-06-13 16:23:09 -07:00
Sage Weil
8684467153 Merge branch 'wip-workunits' 2011-06-13 16:25:13 -07:00
Sage Weil
b91c2c99c4 librados: use empty(), not size()
Signed-off-by: Sage Weil <sage@newdream.net>
2011-06-13 16:24:58 -07:00
Sage Weil
8ce98b22de 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>
2011-06-13 16:23:28 -07:00
Sage Weil
d89c9a1303 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>
2011-06-13 16:18:23 -07:00
Yehuda Sadeh
bc8e120939 rgw: log pool id, and store/retrieve pool id info 2011-06-13 15:30:48 -07:00
Yehuda Sadeh
34098a39e2 librados: expose pool id
Conflicts:

	src/librados.cc
2011-06-13 15:30:37 -07:00
Sage Weil
1e96f71fba qa: fix test_shorT_dio_read
No args, hardcode filename.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-06-13 14:17:16 -07:00
Samuel Just
f9e9490d77 PG: clear scrub_received_maps in scrub_clear_state
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-06-13 13:36:03 -07:00
Sage Weil
9d1e897107 qa: fix loopall, runallonce scripts
Run anything executable.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-06-13 13:31:35 -07:00
Sage Weil
d5bba79ebb 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>
2011-06-13 13:29:30 -07:00
Sage Weil
d851deeac1 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>
2011-06-13 13:22:06 -07:00
Sage Weil
8a12a01cf7 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>
2011-06-13 13:22:06 -07:00
Sage Weil
7087b2da91 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>
2011-06-13 13:22:06 -07:00
Sage Weil
8147076d98 qa: add direct and sync io workunits
Just run the test programs in ../src

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 13:22:06 -07:00
Sage Weil
adc98c0e0e qa: expand test_sync_io
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 13:22:06 -07:00
Sage Weil
f2aef3e1da qa: organize workunits a bit
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-06-13 13:22:06 -07:00
Sage Weil
953bb605e6 qa: move compiled items into qa/src/ 2011-06-13 13:22:06 -07:00