]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
AnchorServer: overwrite old Anchor backpointers when proper.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 21 Jun 2011 00:55:54 +0000 (17:55 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 22 Jun 2011 21:22:54 +0000 (14:22 -0700)
commitbc273957af2224d028626a961fdb1bf3bc153f40
treed8801328cf364a186ed7680c3a61c290c6154f54
parentc9da3076d67d562b0c93894897a2f17576e426f5
AnchorServer: overwrite old Anchor backpointers when proper.

Sometimes when we do an AnchorTable update, it's because the inode
in question got moved. However, if the inode had multiple references,
its Anchor wasn't removed by decrementing its count, and so the add
function simply noted that it already had the Anchor and returned.

This obviously wasn't the proper behavior in cases where the inode
was getting moved -- we want to update its back pointer! So do so.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/mds/AnchorServer.cc
src/mds/AnchorServer.h