WSL2-Linux-Kernel/fs/overlayfs
Amir Goldstein a0c5ad307a ovl: relax same fs constraint for constant st_ino
For the case of all layers not on the same fs, return the copy up origin
inode st_dev/st_ino for non-dir from stat(2).

This guaranties constant st_dev/st_ino for non-dir across copy up.
Like the same fs case, st_ino of non-dir is also persistent.

If the st_dev/st_ino for copied up object would have been the same as
that of the real underlying lower file, running diff on underlying lower
file and overlay copied up file would result in diff reporting that the
two files are equal when in fact, they may have different content.

Therefore, unlike the same fs case, st_dev is not persistent because it
uses the unique anonymous bdev allocated for the lower layer.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2017-11-09 10:23:27 +01:00
..
Kconfig ovl: introduce the inodes index dir feature 2017-07-04 22:03:17 +02:00
Makefile ovl: split super.c 2016-12-16 11:02:56 +01:00
copy_up.c ovl: move include of ovl_entry.h into overlayfs.h 2017-11-09 10:23:27 +01:00
dir.c ovl: fix rmdir problem on non-merge dir with origin xattr 2017-11-09 10:23:27 +01:00
inode.c ovl: relax same fs constraint for constant st_ino 2017-11-09 10:23:27 +01:00
namei.c ovl: re-structure overlay lower layers in-memory 2017-11-09 10:23:27 +01:00
overlayfs.h ovl: re-structure overlay lower layers in-memory 2017-11-09 10:23:27 +01:00
ovl_entry.h ovl: allocate anonymous devs for lowerdirs 2017-11-09 10:23:27 +01:00
readdir.c ovl: re-structure overlay lower layers in-memory 2017-11-09 10:23:27 +01:00
super.c ovl: allocate anonymous devs for lowerdirs 2017-11-09 10:23:27 +01:00
util.c ovl: re-structure overlay lower layers in-memory 2017-11-09 10:23:27 +01:00