]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: clear dir complete, invalidate dentry on replayed rename
authorSage Weil <sage@newdream.net>
Wed, 28 Apr 2010 23:12:06 +0000 (16:12 -0700)
committerSage Weil <sage@newdream.net>
Mon, 3 May 2010 17:49:25 +0000 (10:49 -0700)
commitd9b0a027f717b0d40b35c50b28695ece912fbfe2
treecbbd8ed4cca9bb718a596277f1152f2f1d629c37
parent1c0f5d8075ad7a745022b686eacc67448b20220a
ceph: clear dir complete, invalidate dentry on replayed rename

If a rename operation is resent to the MDS following an MDS restart, the
client does not get a full reply (containing the resulting metadata) back.
In that case, a ceph_rename() needs to compensate by doing anything useful
that fill_inode() would have, like d_move().

It also needs to invalidate the dentry (to workaround the vfs_rename_dir()
bug) and clear the dir complete flag, just like fill_trace().

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/dir.c