]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: fix scattered wrlock rejoin
authorYan, Zheng <zheng.z.yan@intel.com>
Sun, 19 Jan 2014 04:13:06 +0000 (12:13 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 17 Feb 2014 01:37:51 +0000 (09:37 +0800)
commitcc77ef2d52666b62152024ae9b8b4ac98cb54950
treeb4102b0bd9019b6bc696d8cb6f986854c8ff159d
parent3b90c785402588bdc129a75b93f5589261fb481b
mds: fix scattered wrlock rejoin

If unstable scatter lock is encountered when handling weak cache
rejoin, don't remove the recovering MDS from the scatter lock's
gather list. The reason is the recovering MDS may hold rejoined
wrlock on the scatter lock. (Rejoined wrlocks were created when
handling strong cache rejoins from survivor MDS)

When composing cache rejoin ack, if the recovering MDS is in lock's
gather list, set lock state of the recovering MDS to a compatible
unstable stable.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/CInode.cc
src/mds/CInode.h
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/ScatterLock.h
src/mds/SimpleLock.h
src/messages/MMDSCacheRejoin.h