]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: fix remote auth pin race
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 14 May 2014 06:32:34 +0000 (14:32 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Sun, 18 May 2014 06:57:44 +0000 (14:57 +0800)
commitb223055e3a2dfc63c90e023c2d820a23d75fa1b0
tree13f2dea141f063b6812700414c9be6dfd2e8fa2e
parentf19cd4f7855b8856004703260e2593ade7ba0cc5
mds: fix remote auth pin race

When removing auth unpinned objects from mdr->remote_auth_pins,
Server::handle_slave_auth_pin() checks object's authority to decide
if the object was auth pinned by a given MDS. This method isn't
reliable because when object isn't auth pinned, its authority may
change.

The fix is remember from which MDS an objects was auth pinned.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/Locker.cc
src/mds/MDCache.cc
src/mds/Mutation.h
src/mds/Server.cc