ovl: fix inconsistent d_ino for legacy merge dir
For a merge dir that was copied up before v4.12 or that was hand crafted
offline (e.g. mkdir {upper/lower}/dir), upper dir does not contain the
'trusted.overlay.origin' xattr. In that case, stat(2) on the merge dir
returns the lower dir st_ino, but getdents(2) returns the upper dir d_ino.
After this change, on merge dir lookup, missing origin xattr on upper
dir will be fixed and 'impure' xattr will be fixed on parent of the legacy
merge dir.
Suggested-by:
zhangyi (F) <yi.zhang@huawei.com>
Reviewed-by:
zhangyi (F) <yi.zhang@huawei.com>
Signed-off-by:
Amir Goldstein <amir73il@gmail.com>
Signed-off-by:
Miklos Szeredi <mszeredi@redhat.com>
Loading
Please register or sign in to comment