[Devel] [PATCH RHEL7 COMMIT] ext4: ext4_mkdir must set S_IOPS_WRAPPER bit
Konstantin Khorenko
khorenko at virtuozzo.com
Fri Jul 29 08:16:33 PDT 2016
The commit is pushed to "branch-rh7-3.10.0-327.22.2.vz7.16.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-327.22.2.vz7.16.1
------>
commit e8421e9d99ccbc3c8d2b3e79e1ebf3c70f9ec43c
Author: Maxim Patlasov <mpatlasov at virtuozzo.com>
Date: Fri Jul 29 19:16:33 2016 +0400
ext4: ext4_mkdir must set S_IOPS_WRAPPER bit
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