[Devel] [PATCH rh7] ext4: ext4_mkdir must set S_IOPS_WRAPPER bit
Maxim Patlasov
mpatlasov at virtuozzo.com
Mon Jul 25 14:01:16 PDT 2016
ext4_iget() sets this bit for directories. Let's do the same in ext4_mkdir().
Otherwise, the behaviour of vfs_rename (on top of ext4) varies depending on
how the in-core inode was born: via lookup or mkdir.
The key place in vfs_rename sensible to the change is:
> if (flags && !rename2)
> return -EINVAL;
Signed-off-by: Maxim Patlasov <mpatlasov at virtuozzo.com>
---
fs/ext4/namei.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index 0adc6df..bebe698 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -2413,6 +2413,7 @@ retry:
inode->i_op = &ext4_dir_inode_operations.ops;
inode->i_fop = &ext4_dir_operations;
+ inode->i_flags |= S_IOPS_WRAPPER;
err = ext4_init_new_dir(handle, dir, inode);
if (err)
goto out_clear_inode;
More information about the Devel
mailing list