• Amir Goldstein's avatar
    ovl: constant st_ino/st_dev across copy up · 72b608f0
    Amir Goldstein authored
    When all layers are on the same underlying filesystem, let stat(2) return
    st_dev/st_ino values of the copy up origin inode if it is known.
    
    This results in constant st_ino/st_dev representation of files in an
    overlay mount before and after copy up.
    
    When the underlying filesystem support NFS exportfs, the result is also
    persistent st_ino/st_dev representation before and after mount cycle.
    
    Lower hardlinks are broken on copy up to different upper files, so we
    cannot use the lower origin st_ino for those different files, even for the
    same fs case.
    
    When all overlay layers are on the same fs, use overlay st_dev for non-dirs
    to get the correct result from du -x.
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    72b608f0
inode.c 10.5 KB