Miklos, Most of this series is sorting out internal overlayfs messy code having to do with i_ino. The value of i_ino was very inconsistent in different setups, so this series also sorts this out and adds documentation of expected values for st_ino/d_ino/i_ino in different setups. Patch #5 fixes a potential inode number collision bug (st_ino;st_dev). It happens with the "less tested" case of xino bits overflow. I have recently posted [1] some xfstests which also test overlay i_ino. They require a /proc/locks fix that was merged to v5.5-rc4. The test overlay/071 also tests a case of xino bits overflow. Patch #6 includes a change of behavior, which auto enables xino for tmpfs/xfs. The series is available on branch ovl-ino on my github [2] and depends on the previously posted ovl-layers pathces [3]. [1] https://lore.kernel.org/fstests/20191230141423.31695-1-amir73il@xxxxxxxxx [2] https://github.com/amir73il/linux/commits/ovl-ino [3] https://marc.info/?l=linux-unionfs&m=157700209100564&w=2 Amir Goldstein (7): ovl: fix value of i_ino for lower hardlink corner case ovl: fix out of date comment and unreachable code ovl: factor out helper ovl_get_root() ovl: simplify i_ino initialization ovl: avoid possible inode number collisions with xino=on ovl: enable xino automatically in more cases ovl: document xino expected behavior Documentation/filesystems/overlayfs.rst | 38 ++++++++- fs/overlayfs/inode.c | 101 ++++++++++++++++++------ fs/overlayfs/overlayfs.h | 21 ++++- fs/overlayfs/readdir.c | 17 ++-- fs/overlayfs/super.c | 83 ++++++++++++------- fs/overlayfs/util.c | 20 ----- 6 files changed, 198 insertions(+), 82 deletions(-) -- 2.17.1