summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* v0.29.1v0.29.1Sage Weil2011-06-162-1/+7
| | | | Signed-off-by: Sage Weil <sage@newdream.net>
* librbd: fix block_completion race conditionJosh Durgin2011-06-161-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* librbd: add AioCompletion debuggingJosh Durgin2011-06-151-4/+9
| | | | Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
* librbd: fix AioCompletion race conditionJosh Durgin2011-06-151-1/+5
| | | | | | | | | | | | | | | | | | | | 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>
* PG: clear scrub_received_maps in scrub_clear_stateSamuel Just2011-06-131-0/+1
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* ReplicatedPG: make_writeable, use correct size for clone_size entrySamuel Just2011-06-091-1/+1
| | | | | | | | Previously, we used obs.oi.size for the clone size, but obs refers to new_obs. The clone's size should be the old size, ctx->obc->obs.oi.size. Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* man: update cosd man page to include info on flush-journal option.Greg Farnum2011-06-091-0/+6
| | | | Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
* mkcephfs: fix ceph.conf referenceSage Weil2011-06-091-1/+1
| | | | | | | It's $conf (which is $dir/conf). Reported-by: biyan chen <riby.chen@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
* Makefile: remove ancient commentSage Weil2011-06-091-4/+0
| | | | Signed-off-by: Sage Weil <sage@newdream.net>
* mon: weaken pool creation caps checkSage Weil2011-06-081-2/+2
| | | | | | | Allow a pool creation if we specify an auid but are allowed to create buckets as anybody. Signed-off-by: Sage Weil <sage@newdream.net>
* moncaps: whitespaceSage Weil2011-06-081-4/+8
| | | | Signed-off-by: Sage Weil <sage@newdream.net>
* Fix typo in usage output for --num-osdsSam Lang2011-06-082-2/+2
| | | | | | | This patch fixes the typo in the usage description to match the actual argument string. Signed-off-by: Sam Lang <samlang@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
* Fix segfault caused by invalid argument string.Sam Lang2011-06-081-6/+8
| | | | | | | This patchset includes minor fixes to the crushtool utility. If an invalid bucket type is speicifed on the command line, the code was iterating through bucket_types for the length of the static array, but the last entry in that array has null (0) values, which was causing a segfault. This patch just checks that bucket_types[i].name is non-null instead. Also, if the wrong bucket type or algorithm is specified, prints the usage string on exit. Signed-off-by: Sam Lang <samlang@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
* v0.29v0.29Sage Weil2011-06-062-1/+7
|
* remove dumpjournalGreg Farnum2011-06-062-147/+2
| | | | | | | | This code has suffered a great deal of bitrot and is superceded by the cmds --dump-journal functionality anyway, which is much more full-featured. Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
* Merge remote branch 'origin/stable' into nextSage Weil2011-06-063-3/+10
|\
| * SimpleMessenger: Keep a disposable flag for use in resetSamuel Just2011-06-032-2/+8
| | | | | | | | | | | | | | | | pipes marked disposable must not inherit the lossy policy on reconnect. Also, in Pipe::writer, when sent.empty() && close_on_empty, mark as lossy to ensure that fault will close the connection. Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
| * rados_bencher: re-add written objects constraint to read benchmark.Greg Farnum2011-06-031-1/+2
| | | | | | | | | | | | | | | | Somehow, in the last major change, the constraints that kept the bencher from trying to read non-existent objects got removed. Put a check back in the main bench loop to fix that. Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
* | Merge remote branch 'origin/filestore_debugging' into nextSage Weil2011-06-062-8/+42
|\ \
| * | filestore: compare dentry->d_type against d_type constantJosh Durgin2011-06-031-1/+1
| | | | | | | | | | | | Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
| * | filestore: stat to test for file type if d_type is unsupportedJosh Durgin2011-06-031-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only affects list_collections. Previously, when using an FS that does not support d_type, like xfs, load_pgs would fail to find any pgs, since list_collections skipped all files. This made clients hang because all pgs were considered non-existent by the osd. Reported-by: Yoshiaki Tamura <yoshi@midokura.jp> Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
| * | osd, filestore: debug collection listingJosh Durgin2011-06-032-6/+18
| |/ | | | | | | Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
| * filestore: fix fallback/slow do_clone_rangeSage Weil2011-06-021-0/+3
| | | | | | | | | | | | | | We need to seek to the appropriate offsets on the src and destination fd's for this to do the right thing. Signed-off-by: Sage Weil <sage@newdream.net>
| * OSD: don't keep old connection over new one in update_heartbeat_peersSamuel Just2011-06-021-1/+4
| | | | | | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* | Remove unneeded libcrush1 filesLaszlo Boszormenyi2011-06-032-84/+0
| |
* | mds: journal parents of srci when srcdn is remoteSage Weil2011-06-031-1/+3
| | | | | | | | | | | | | | | | If srcdn is a remote dentry, we will be journaling the src inode to update the mtime, but we need to ensure the parent dirs are in the metablob. Fixes: #1132 Signed-off-by: Sage Weil <sage@newdream.net>
* | journaler: also initialize safe_posSage Weil2011-06-021-1/+1
| | | | | | | | | | | | on reread_head. Keep consistent across the two methods. Signed-off-by: Sage Weil <sage@newdream.net>
* | journaler: fix trim crash after standby-replay -> activeSage Weil2011-06-021-1/+1
| | | | | | | | | | | | | | The reread_head method needs to initialize trimming_pos (like read_head does) or else we get confused later. Signed-off-by: Sage Weil <sage@newdream.net>
* | mds: cleanup rename_prepare a bitSage Weil2011-06-021-16/+17
| | | | | | | | | | | | Use *srci tmp. Signed-off-by: Sage Weil <sage@newdream.net>
* | vstart.sh: turn down debug msSage Weil2011-06-021-1/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@newdream.net>
* | mds: pin inode while one renamed_files listSage Weil2011-06-024-8/+21
| | | | | | | | | | | | | | Make sure the inode is pinned while it is on the LogSegment::renamed_files list. Avoids a crash when an inode on that list is wrongly trimmed. Signed-off-by: Sage Weil <sage@newdream.net>
* | mon: make sure osd paxos is writeable before doing timeoutsSage Weil2011-06-021-1/+2
| | | | | | | | | | | | | | The osd paxos machine has to be writeable before we can update it. Fixes: #1130 Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | Merge branch 'stable' into nextSage Weil2011-06-025-2/+17
|\|
| * osd: protect recovery_wq ops with the recovery lockGreg Farnum2011-05-302-1/+9
| | | | | | | | | | | | | | We were calling recovery_item.remove_myself() without holding the recoveryWQ::lock. Naughty naughty! Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
| * Add content to obsync packageLaszlo Boszormenyi2011-05-301-0/+1
| |
| * v0.28.2v0.28.2Sage Weil2011-05-282-1/+7
| |
* | Allow embedded '\0' in bufferlists when copying to std::string.Tommi Virtanen2011-06-011-2/+0
| | | | | | | | Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
* | debian: depend on libboost-dev >= 1.34Sage Weil2011-05-311-1/+1
| | | | | | | | | | | | for statechart. Partially fixes #1124. Signed-off-by: Sage Weil <sage@newdream.net>
* | osd: don't leak Connection referenceSage Weil2011-05-311-0/+2
| | | | | | | | Signed-off-by: Sage Weil <sage@newdream.net>
* | osd: ignore old/stale heartbeat messagesSage Weil2011-05-311-1/+20
| | | | | | | | | | | | | | | | | | | | | | If we get heartbeat messages from old epochs from peers that are not current, drop them and mark the connection down. Even if they are peers we _should_ have (because we haven't gotten a notify yet to learn about a pg we should have but don't yet) we have a newer map epoch and will learn about them shortly, reopening the connection. Fixes: #1107 Signed-off-by: Sage Weil <sage@newdream.net>
* | osd: fix map sharing due to heartbeatsSage Weil2011-05-311-6/+7
| | | | | | | | | | | | | | | | - share the map with the cluster addr - use the new {note,get}_peer_epoch helpers to do it sanely - don't share if we're booting; see 818fa33a661 Signed-off-by: Sage Weil <sage@newdream.net>
* | crushtool: add -v verbose for --test modeSage Weil2011-05-301-1/+5
| | | | | | | | Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | hadoop: track Hadoop API changesColin Patrick McCabe2011-05-273-10/+9
| | | | | | | | Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
* | SimpleMessenger: allow multiple calls to shutdownColin Patrick McCabe2011-05-271-0/+5
| | | | | | | | | | | | Fixes a case where radostool crashed on an error shutdown. Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
* | common/Thread.h: const cleanupColin Patrick McCabe2011-05-271-1/+1
| | | | | | | | Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
* | Merge branch 'wip-obsync'Colin Patrick McCabe2011-05-272-15/+35
|\ \
| * | obysnc: rgw target: validate all usersColin Patrick McCabe2011-05-262-15/+35
| | | | | | | | | | | | Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
* | | mkcephfs: pass config to osdmaptoolSage Weil2011-05-272-2/+2
| | | | | | | | | | | | | | | | | | | | | This lets OSDMap::create_simple() see g_conf.osd_pool_default_size when creating the initial data, metadata, and rbd pools. Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | | drop useless cm.txtSage Weil2011-05-272-85/+0
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | | osdmap: take default pool size from configSage Weil2011-05-271-1/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage.weil@dreamhost.com>