ceph/src
Sage Weil 1d72d1888a mds: fix SimpleLock::try_clear_more()
We were dropping gather state on the floor, which resulted in
general confusion and errors like this

10.03.16 14:17:17.622280 mds0.locker handle_simple_lock lock(a=lockack dn 1000000019c/NEWS1_1B.PRN snap head) on (dn xlock x=1 by 0x307c050) [dentry #1/clients/client2/~dmtmp/WORDPRO/NEWS1_1B.PRN [2,head] auth{1=1} (dn xlock x=1 by 0x307c050) v=90 inode=0x7f2fe90a7980 | nref=5 0x7f2fe0349b80]
mds/Locker.cc: In function 'void Locker::handle_simple_lock(SimpleLock*, MLock*)':
mds/Locker.cc:2424: FAILED assert(lock->get_state() == 7 || lock->get_state() == 12)
 1: (Locker::handle_simple_lock(SimpleLock*, MLock*)+0x374) [0x8607bc]
 2: (Locker::handle_lock(MLock*)+0x18b) [0x861b91]
 3: (Locker::dispatch(Message*)+0x41) [0x86470b]
 4: (MDS::_dispatch(Message*)+0x1b42) [0x72ce68]
 5: (MDS::ms_dispatch(Message*)+0x2f) [0x72e1e9]
 6: (Messenger::ms_deliver_dispatch(Message*)+0x55) [0x72086b]
 7: (SimpleMessenger::dispatch_entry()+0x4f4) [0x70d50e]
 8: (SimpleMessenger::DispatchThread::entry()+0x29) [0x7095bd]
 9: (Thread::_entry_func(void*)+0x20) [0x71a9e1]
 10: /lib/libpthread.so.0 [0x7f2fe8d6573a]
 11: (clone()+0x6d) [0x7f2fe7f906dd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
2010-03-16 14:28:05 -07:00
..
active
auth cephx: initialize values 2010-03-12 09:02:43 -08:00
client synclient: print mount error 2010-03-12 09:02:43 -08:00
common thread: mask all signals on child threads 2010-03-09 15:02:30 -08:00
crush
crush.old
doc rgw: Add documentation 2010-03-12 14:23:06 -08:00
ebofs
include Merge branch 'unstable' into mds 2010-03-16 12:39:17 -07:00
jobs
mds mds: fix SimpleLock::try_clear_more() 2010-03-16 14:28:05 -07:00
messages Merge branch 'unstable' into mds 2010-03-16 12:39:17 -07:00
mon Revert "mon: PaxosServiceMessages now routed through paxos_dispatch and get caps set" 2010-03-16 11:18:26 -07:00
mount
msg Merge branch 'unstable' into mds 2010-03-16 12:39:17 -07:00
objclass
os filestore: clean up btrfs, clone range detection 2010-03-08 14:51:24 -08:00
osbdb
osd osd: do no index reqid for CLONE ops (or BACKLOG ops) 2010-03-16 11:38:41 -07:00
osdc xlist: clean up interface 2010-03-12 15:56:53 -08:00
rgw rgw: remove unused refcount data member from XMLObj. Also clears up ctor 2010-03-12 14:24:17 -08:00
script
test
.gitignore
barclass.cc
cauthtool.cc cauthtool: verify set_uid arg 2010-03-08 14:51:23 -08:00
cconf.cc
ceph_common.sh init-ceph: return success error code on missing ceph.conf if no -c 2010-03-03 14:40:31 -08:00
ceph_ver.c
ceph.cc ceph: drop (broken) poll mode (use -w instead) 2010-03-16 11:38:41 -07:00
ceph.conf.twoosds
cfuse.cc
cls_acl.cc
cls_crypto.cc
cm.txt
cmds.cc
cmon.cc cmon: suggest mkcephfs when 'whoami' not in monfs 2010-02-10 15:00:57 -08:00
cmonctl
config.cc
config.h
cosd.cc timer: kill unused g_timer 2010-03-09 14:51:05 -08:00
crun
crushtool.cc crushtool: fail on parse error 2010-03-04 10:02:15 -08:00
csyn.cc csyn: print something on mount failure 2010-02-11 10:03:25 -08:00
dumpjournal.cc msgr: Remove the type CEPH_ENTITY_TYPE_ADMIN. 2010-03-02 10:02:03 -08:00
dupstore.cc
extractosdmaps.cc
fakefuse.cc timer: kill unused g_timer 2010-03-09 14:51:05 -08:00
fakesyn.cc timer: kill unused g_timer 2010-03-09 14:51:05 -08:00
fooclass.cc
init-ceph.in init-ceph: don't barf on dash when no command 2010-02-23 20:33:16 -08:00
libceph.cc
librados.cc objecter: librados: add optional auid param to 2010-03-08 07:42:16 -08:00
loadclass.sh
make_version
Makefile.am elist: simpler embedded list 2010-03-12 15:56:47 -08:00
Makefile.old
Makefile.orig
mkcephfs.in mkcephfs: cosd mkfs as root, then chown 2010-03-08 14:51:24 -08:00
mkmonfs.cc
monmaptool.cc
osdmaptool.cc OSDMap: get_pg_pool now returns a pointer 2010-02-16 09:27:41 -08:00
psim.cc OSDMap: get_pg_pool now returns a pointer 2010-02-16 09:27:41 -08:00
push_to_kclient.pl
rados.cc rados tool: mkpool/rmpool commands now available 2010-02-16 14:34:44 -08:00
radosacl.cc
README
sample.ceph.conf
stop.sh
streamtest.cc osd: use per-PG ObjectStore::Sequencer when possible 2010-03-02 15:09:24 -08:00
test_trans.cc
testclass.cc
testcrypto.cc
testkeys.cc
testmsgr.cc
testrados.c
testradospp.cc
TODO mds: detach mdsdir inode from hierarchy 2010-03-11 15:39:30 -08:00
valgrind.supp
verify-mds-journal.sh
vstart.sh vstart: use 'allow *' notation instead of 'allow rwx' 2010-03-10 13:22:02 -08:00

A few helper scripts:

mkcephfs.sh -- initialize a new, empty ceph filesystem (by creating a
               fresh monfs)

mkfs.sh     -- same, but also initialize empty object stores.  assumes
               all osds are on the same node, with dev/osd# for storage.

stop.sh     -- stop/kill all daemons.

restart.sh  -- stop everything, then restart everything.  (does not mkfs.)

startnew.sh -- stop everything, initialize new ceph fs, and start it.
               assumes everything is on one node.  for ease of testing.