ceph/src
Sage Weil d55399ffec mds: remove MDSlaveUpdate from list on deletion
These are added to the LogSegment list on the slaves, but also need to be
removed from that list when we replay a COMMIT|ROLLBACK or when the op's
fate is determined during the resolve stage.

This fixes a crash like

./include/elist.h: In function 'elist<T>::item::~item() [with T =
MDSlaveUpdate*]', in thread '0x7fb2004d5700'
./include/elist.h: 39: FAILED assert(!is_on_list())
 ceph version 0.26 (commit:9981ff90968398da43c63106694d661f5e3d07d5)
 1: (MDSlaveUpdate::~MDSlaveUpdate()+0x59) [0x4d9fe9]
 2: (ESlaveUpdate::replay(MDS*)+0x422) [0x4d2772]
 3: (MDLog::_replay_thread()+0xb90) [0x67f850]
 4: (MDLog::ReplayThread::entry()+0xd) [0x4b89ed]
 5: (()+0x7971) [0x7fb20564a971]
 6: (clone()+0x6d) [0x7fb2042e692d]
 ceph version 0.26 (commit:9981ff90968398da43c63106694d661f5e3d07d5)
 1: (MDSlaveUpdate::~MDSlaveUpdate()+0x59) [0x4d9fe9]
 2: (ESlaveUpdate::replay(MDS*)+0x422) [0x4d2772]
 3: (MDLog::_replay_thread()+0xb90) [0x67f850]
 4: (MDLog::ReplayThread::entry()+0xd) [0x4b89ed]
 5: (()+0x7971) [0x7fb20564a971]

Fixes: #1019
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-19 09:25:30 -07:00
..
auth config: normalize key names, cleanup 2011-04-15 13:18:38 -07:00
client libceph: implement ceph_conf_set and ceph_conf_get 2011-04-15 10:38:26 -07:00
common config: warn about old-style conf section names 2011-04-15 15:29:22 -07:00
crush crush: Remove dead code. 2011-04-07 14:42:05 -07:00
doc osbdb: Remove dead code. 2011-04-07 12:24:06 -07:00
gtest
include osd: move MAX_CEPH_OBJECT_NAME_LEN into object.h 2011-04-12 17:20:21 -07:00
jobs ebofs: Remove dead code. 2011-04-07 12:40:26 -07:00
mds mds: remove MDSlaveUpdate from list on deletion 2011-04-19 09:25:30 -07:00
messages mds: rejoin dirfrags explicitly 2011-04-01 14:34:32 -07:00
mon mon:don't check for old-style monitor section name 2011-04-15 14:40:49 -07:00
mount mount.ceph: behave when CONFIG_KEYS is not compiled in 2011-04-17 21:58:27 -07:00
msg msg, os: Remove dead code. 2011-04-07 14:22:39 -07:00
objclass Rename config.h -> common/config.h 2011-02-23 10:17:30 -08:00
objsync Merge branch 'master' of ssh://ceph.newdream.net/git/ceph 2011-03-23 13:22:49 -07:00
obsync obsync: preserve ACLs 2011-04-07 20:07:44 -07:00
os Merge remote branch 'origin/stable' 2011-04-18 09:58:15 -07:00
osd osd: make ZERO on non-existent object a no-op 2011-04-18 13:55:16 -07:00
osdc Merge remote branch 'origin/stable' into next 2011-04-18 16:23:03 -07:00
perfglue config: make md_config_t.name a value, not ptr 2011-04-14 15:14:06 -07:00
pybind pybind: convert to new API 2011-03-18 15:10:46 -07:00
rgw Merge remote branch 'origin/stable' 2011-04-18 09:58:15 -07:00
script ebofs: Remove dead code. 2011-04-07 12:40:26 -07:00
test clitests: fix radosgw_admin test 2011-04-18 11:44:37 -07:00
tools config: make md_config_t.name a value, not ptr 2011-04-14 15:14:06 -07:00
.gitignore Add test_mutate 2011-04-12 14:31:59 -07:00
barclass.cc
btrfs_ioc_test.c
cauthtool.cc config: make md_config_t.name a value, not ptr 2011-04-14 15:14:06 -07:00
cclass.in cclass: add bindir option 2011-04-01 16:59:59 -07:00
cclsinfo
cconf.cc cconf: fix usage; clean up some code 2011-04-15 13:58:00 -07:00
cdebugpack.in
ceph_common.sh mkcephfs, init-ceph: tolerate complete lack of a type 2011-04-15 14:04:42 -07:00
ceph_ver.c use 'git describe' version 2011-03-18 14:37:17 -07:00
ceph.conf.twoosds
cephfs.cc
cfuse.cc config: use std::string in md_config_t 2011-03-30 12:07:58 -07:00
check_version use 'git describe' version 2011-03-18 14:37:17 -07:00
cls_acl.cc
cls_crypto.cc
cls_rbd.cc
cm.txt
cmds.cc man: Update cmds documentation. 2011-04-15 15:54:12 -07:00
cmon.cc config: make md_config_t.name a value, not ptr 2011-04-14 15:14:06 -07:00
cmonctl
cosd.cc config: make md_config_t.name a value, not ptr 2011-04-14 15:14:06 -07:00
crbdnamer debian: add udev rules 2011-03-11 09:43:14 -08:00
crun
crushtool.cc common: rename old argument parsing macros 2011-03-28 16:14:47 -07:00
csyn.cc msgr: let user explicitly set nonce 2011-03-17 11:33:56 -07:00
dumpjournal.cc msgr: move test binaries to updated msgr bind/start interface 2011-03-17 12:06:26 -07:00
dupstore.cc ebofs: Remove dead code. 2011-04-07 12:40:26 -07:00
fetch_config
fooclass.cc
init-ceph.in init-ceph: no log_dir default 2011-04-14 21:17:54 -07:00
libceph.cc libceph: implement ceph_conf_set and ceph_conf_get 2011-04-15 10:38:26 -07:00
librados-config.cc cfuse: set proper defaults 2011-03-14 15:45:05 -07:00
librados.cc config: make md_config_t.name a value, not ptr 2011-04-14 15:14:06 -07:00
librbd.cc librbd: don't write to stdout 2011-04-12 16:40:03 -07:00
loadclass.sh
logrotate.conf
make_version use 'git describe' version 2011-03-18 14:37:17 -07:00
Makefile.am config: de-globalize reading config file 2011-04-14 15:49:16 -07:00
mkcephfs.in mkcephfs: fix check for highest osd 2011-04-15 15:11:25 -07:00
monmaptool.cc common: rename old argument parsing macros 2011-03-28 16:14:47 -07:00
multi-dump.sh
osdmaptool.cc common: rename old argument parsing macros 2011-03-28 16:14:47 -07:00
ps-ceph.pl
psim.cc Rename config.h -> common/config.h 2011-02-23 10:17:30 -08:00
push_to_kclient.pl
push_to_qemu.pl
rados.cc rados-tool: use init_with_config interface 2011-04-12 14:04:06 -07:00
radosacl.cc radosacl: read Ceph configuration file 2011-04-12 10:55:48 -07:00
rbd.cc common: rename old argument parsing macros 2011-03-28 16:14:47 -07:00
README
sample.ceph.conf vstart.sh: use new-style section names in config 2011-04-15 14:46:54 -07:00
stop.sh
streamtest.cc ebofs: Remove dead code. 2011-04-07 12:40:26 -07:00
test_trans.cc ebofs: Remove dead code. 2011-04-07 12:40:26 -07:00
testclass.cc
testcrypto.cc Rename config.h -> common/config.h 2011-02-23 10:17:30 -08:00
testkeys.cc Rename config.h -> common/config.h 2011-02-23 10:17:30 -08:00
testlibrbd.c librbdtest: check for error on out of bounds I/O 2011-04-08 17:39:11 -07:00
testlibrbdpp.cc testlibrbd, testradospp: read default conf file 2011-03-15 15:00:19 -07:00
testmsgr.cc msgr: move test binaries to updated msgr bind/start interface 2011-03-17 12:06:26 -07:00
testrados.c testrados: test default conf file location 2011-03-15 11:15:06 -07:00
testradospp.cc librados: compound ObjectOperation 2011-03-29 11:14:01 -07:00
TODO
valgrind.supp
verify-mds-journal.sh
vstart.sh vstart.sh: use new-style section names in config 2011-04-15 14:46:54 -07:00

Ceph - a scalable distributed file system
-----------------------------------------

Source files go here.

See ../README.