diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-05-10 13:12:26 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-05-10 13:12:29 +0200 |
commit | 7c224a03a79021ab12ce057964df9e679af5386d (patch) | |
tree | 809dbf3bcb5978e7b1845eb4c46179f1c9405f0c /fs/ceph/dir.c | |
parent | 5bdb7934ca4115a12c7d585c5a45312b1c36909b (diff) | |
parent | b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (diff) | |
download | linux-7c224a03a79021ab12ce057964df9e679af5386d.tar.gz linux-7c224a03a79021ab12ce057964df9e679af5386d.tar.bz2 linux-7c224a03a79021ab12ce057964df9e679af5386d.zip |
Merge commit 'v2.6.34-rc7' into oprofile
Merge reason: Update to Linus's latest -rc.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/ceph/dir.c')
-rw-r--r-- | fs/ceph/dir.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index ea8ee2e526aa..650d2db5ed26 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -880,7 +880,16 @@ static int ceph_rename(struct inode *old_dir, struct dentry *old_dentry, * do_request, above). If there is no trace, we need * to do it here. */ + + /* d_move screws up d_subdirs order */ + ceph_i_clear(new_dir, CEPH_I_COMPLETE); + d_move(old_dentry, new_dentry); + + /* ensure target dentry is invalidated, despite + rehashing bug in vfs_rename_dir */ + new_dentry->d_time = jiffies; + ceph_dentry(new_dentry)->lease_shared_gen = 0; } ceph_mdsc_put_request(req); return err; |