]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: identify slave requests with reqid + attempt number
authorSage Weil <sage@newdream.net>
Fri, 29 Jul 2011 20:44:24 +0000 (13:44 -0700)
committerSage Weil <sage@newdream.net>
Fri, 29 Jul 2011 22:14:19 +0000 (15:14 -0700)
commit6ad7dfbcb73489c0053355fbb1f7b05107a2e443
treed1a84b03f3155fe4e89798f76e8b2c81ceba8b4b
parent97c3bcb7fd22159ecc450f830d75129c0a44a5e4
mds: identify slave requests with reqid + attempt number

We need to distinguish between different attempts to process a request, or
else we can get annoying races in the slave request handling code.  E.g.,

- request sent to mds A
- A authpins items on B, B registered slave_request
- A forwards request to C, sends slave finish to B
- C receives request, sends authpin slave request to B
- B receives C's authpin request, discards (*)
- B receives A's finish, closes slave request

First we just add tracking of the attempt number.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/Locker.cc
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/Server.cc
src/messages/MMDSCacheRejoin.h
src/messages/MMDSSlaveRequest.h