]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: scatter pin frozen tree on importer too
authorSage Weil <sage@newdream.net>
Thu, 23 Sep 2010 23:12:21 +0000 (16:12 -0700)
committerSage Weil <sage@newdream.net>
Thu, 23 Sep 2010 23:44:47 +0000 (16:44 -0700)
commit043c9c8bed5c49a519654ebaedc085434e0d981b
tree1bf11bc71b1f3b77cc840caaa1c69cb6871b1696
parentc82bc1ccf638fbb3e1921af3d5fe9d2350fdf025
mds: scatter pin frozen tree on importer too

The importer also needs to scatter pin.  This avoids scatterlock gather
races like so:

A: start exporting to B
A: freeze, scatter pin tree
C: initiate gather
A: delay replay to gather
B: reply to gather, do not include (non-auth) dirfrag
A,B: finish migration
A: reply to gather, do not include (now non-auth) dirfrag
C: gets no info about the dirfrag!

By pinning on the importer, we ensure that at least one MDS will respond
to the gather with auth dirfrag info.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/Migrator.cc