]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: unify slave request waiting
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 13 Mar 2013 02:28:58 +0000 (10:28 +0800)
committerGreg Farnum <greg@inktank.com>
Mon, 1 Apr 2013 16:17:19 +0000 (09:17 -0700)
commit131271655f36ec40c3d0e4129fed6ab863d8f0e2
tree41f825ce9068cdf232cd8f12bc270b489c1dd603
parentef9a4f6605f90427b69c02cf8a5f4c78997b3457
mds: unify slave request waiting

When requesting remote xlock or remote wrlock, the master request is
put into lock object's REMOTEXLOCK waiting queue. The problem is that
remote wrlock's target can be different from lock's auth MDS. When
the lock's auth MDS recovers, MDCache::handle_mds_recovery() may wake
incorrect request. So just unify slave request waiting, dispatch the
master request when receiving slave request reply.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/mds/Locker.cc
src/mds/Server.cc