diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/dcache.c | 5 | ||||
-rw-r--r-- | fs/ocfs2/super.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c index 09efe240e652..18a31906316e 100644 --- a/fs/ocfs2/dcache.c +++ b/fs/ocfs2/dcache.c | |||
@@ -414,7 +414,7 @@ void ocfs2_dentry_move(struct dentry *dentry, struct dentry *target, | |||
414 | * XXX: Is there any advantage to dropping the lock here? | 414 | * XXX: Is there any advantage to dropping the lock here? |
415 | */ | 415 | */ |
416 | if (old_dir == new_dir) | 416 | if (old_dir == new_dir) |
417 | return; | 417 | goto out_move; |
418 | 418 | ||
419 | ocfs2_dentry_lock_put(osb, dentry->d_fsdata); | 419 | ocfs2_dentry_lock_put(osb, dentry->d_fsdata); |
420 | 420 | ||
@@ -423,6 +423,9 @@ void ocfs2_dentry_move(struct dentry *dentry, struct dentry *target, | |||
423 | OCFS2_I(new_dir)->ip_blkno, 0); | 423 | OCFS2_I(new_dir)->ip_blkno, 0); |
424 | if (ret) | 424 | if (ret) |
425 | mlog_errno(ret); | 425 | mlog_errno(ret); |
426 | |||
427 | out_move: | ||
428 | d_move(dentry, target); | ||
426 | } | 429 | } |
427 | 430 | ||
428 | struct dentry_operations ocfs2_dentry_ops = { | 431 | struct dentry_operations ocfs2_dentry_ops = { |
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index d17e33e66a1e..33a6de6fc612 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c | |||
@@ -682,7 +682,7 @@ static struct file_system_type ocfs2_fs_type = { | |||
682 | .kill_sb = kill_block_super, /* set to the generic one | 682 | .kill_sb = kill_block_super, /* set to the generic one |
683 | * right now, but do we | 683 | * right now, but do we |
684 | * need to change that? */ | 684 | * need to change that? */ |
685 | .fs_flags = FS_REQUIRES_DEV, | 685 | .fs_flags = FS_REQUIRES_DEV|FS_RENAME_DOES_D_MOVE, |
686 | .next = NULL | 686 | .next = NULL |
687 | }; | 687 | }; |
688 | 688 | ||