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)
commitea1409f96197c1bffe5d7d5bc967b3445edcc1fa
treecbbd8ed4cca9bb718a596277f1152f2f1d629c37
parent5c6a2cdb4fe8aaf6b54f022c14f13d2a12b45914
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