linux/fs/overlayfs
Amir Goldstein 300b124fcf ovl: fix value of i_ino for lower hardlink corner case
Commit 6dde1e42f4 ("ovl: make i_ino consistent with st_ino in more
cases"), relaxed the condition nfs_export=on in order to set the value of
i_ino to xino map of real ino.

Specifically, it also relaxed the pre-condition that index=on for
consistent i_ino. This opened the corner case of lower hardlink in
ovl_get_inode(), which calls ovl_fill_inode() with ino=0 and then
ovl_init_inode() is called to set i_ino to lower real ino without the xino
mapping.

Pass the correct values of ino;fsid in this case to ovl_fill_inode(), so it
can initialize i_ino correctly.

Fixes: 6dde1e42f4 ("ovl: make i_ino consistent with st_ino in more ...")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2020-03-17 15:04:21 +01:00
..
copy_up.c ovl: improving copy-up efficiency for big sparse file 2020-01-22 20:11:41 +01:00
dir.c ovl: use pr_fmt auto generate prefix 2020-01-22 20:11:41 +01:00
export.c ovl: layer is const 2020-01-24 09:46:45 +01:00
file.c ovl: fix lockdep warning for async write 2020-03-13 15:53:06 +01:00
inode.c ovl: fix value of i_ino for lower hardlink corner case 2020-03-17 15:04:21 +01:00
Kconfig ovl: fix some xino configurations 2020-03-13 15:53:06 +01:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
namei.c ovl: generalize the lower_layers[] array 2020-01-22 20:11:41 +01:00
overlayfs.h ovl: fix lock in ovl_llseek() 2020-03-12 16:38:10 +01:00
ovl_entry.h ovl: layer is const 2020-01-24 09:46:45 +01:00
readdir.c ovl: layer is const 2020-01-24 09:46:45 +01:00
super.c ovl: fix some xino configurations 2020-03-13 15:53:06 +01:00
util.c ovl: fix lock in ovl_llseek() 2020-03-12 16:38:10 +01:00