diff --git a/[refs] b/[refs] index 5533d94451ec..3f46ec0c2b88 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 349457ccf2592c14bdf13b6706170ae2e94931b1 +refs/heads/master: 1ba9da2ffa54b56a6346746248bfa38124d499a6 diff --git a/trunk/fs/ocfs2/dcache.c b/trunk/fs/ocfs2/dcache.c index 09efe240e652..18a31906316e 100644 --- a/trunk/fs/ocfs2/dcache.c +++ b/trunk/fs/ocfs2/dcache.c @@ -414,7 +414,7 @@ void ocfs2_dentry_move(struct dentry *dentry, struct dentry *target, * XXX: Is there any advantage to dropping the lock here? */ if (old_dir == new_dir) - return; + goto out_move; ocfs2_dentry_lock_put(osb, dentry->d_fsdata); @@ -423,6 +423,9 @@ void ocfs2_dentry_move(struct dentry *dentry, struct dentry *target, OCFS2_I(new_dir)->ip_blkno, 0); if (ret) mlog_errno(ret); + +out_move: + d_move(dentry, target); } struct dentry_operations ocfs2_dentry_ops = { diff --git a/trunk/fs/ocfs2/super.c b/trunk/fs/ocfs2/super.c index d17e33e66a1e..33a6de6fc612 100644 --- a/trunk/fs/ocfs2/super.c +++ b/trunk/fs/ocfs2/super.c @@ -682,7 +682,7 @@ static struct file_system_type ocfs2_fs_type = { .kill_sb = kill_block_super, /* set to the generic one * right now, but do we * need to change that? */ - .fs_flags = FS_REQUIRES_DEV, + .fs_flags = FS_REQUIRES_DEV|FS_RENAME_DOES_D_MOVE, .next = NULL };