]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: recommit after commit if waiting for newer version
authorSage Weil <sage@newdream.net>
Thu, 12 Nov 2009 22:54:22 +0000 (14:54 -0800)
committerSage Weil <sage@newdream.net>
Thu, 12 Nov 2009 22:54:22 +0000 (14:54 -0800)
commitad41e448b9e0e8d7fbd6d605f3fd3231153b9079
tree218f5596a461de3c7134758e1d4328926e0a64b0
parent05fceac3815058c8612bbbda3510c0327e4b7c9f
mds: recommit after commit if waiting for newer version

If there are waiters for a later version of the dir to hit
disk, then we need to recommit as soon as the prior commit
completes.  We auth_pin on adding the first waiter, and do
not unpin until removing the last waiter, so this doesn't
break auth_pin rules.

Previously we could stall because we didn't finish the
waiter (on the later version) but also never started the
commit.  Sometimes we would get lucky and someone else would
ask for a commit, but sometimes not.  We would then see old
LogSegments that would never get fully expired.
src/mds/CDir.cc