Miklos, Following patch set addresses your comments to v2. It passed all the old and new xfstests [3]. Thanks, Amir. Changes since v2 [2]: - Rename overlay.xflags => overlay.protected - Generic vfs helper for filling statx flags - Un-generalize flag conversion helpers - Do not be forgiving with noxattr upper fs Changes since v1 [1]: - Store (i),(a) flags in xattr text format - Copy up (A),(S) flags to upper fileattr - Fixes the problems with setting ovl dirs and hardlinks immutable [1] https://lore.kernel.org/linux-unionfs/CAJfpeguMQca-+vTdzoDdDWNJraWyqMa3vYRFDWPMk_R6-L7Obw@xxxxxxxxxxxxxx/ [2] https://lore.kernel.org/linux-unionfs/CAOQ4uxgdWwrOa79BRzZ1PS6SxmLtywQCAr3+WLRZPx38aHHyQw@xxxxxxxxxxxxxx/ [3] https://github.com/amir73il/xfstests/commits/ovl-xflags Amir Goldstein (4): fs: add generic helper for filling statx attribute flags ovl: pass ovl_fs to ovl_check_setxattr() ovl: copy up sync/noatime fileattr flags ovl: consistent behavior for immutable/append-only inodes fs/orangefs/inode.c | 7 +-- fs/overlayfs/copy_up.c | 72 +++++++++++++++++++---- fs/overlayfs/dir.c | 6 +- fs/overlayfs/inode.c | 74 +++++++++++++++++++----- fs/overlayfs/namei.c | 2 +- fs/overlayfs/overlayfs.h | 44 ++++++++++++-- fs/overlayfs/util.c | 122 +++++++++++++++++++++++++++++++++++++-- fs/stat.c | 18 ++++++ include/linux/fs.h | 1 + include/linux/stat.h | 4 ++ 10 files changed, 307 insertions(+), 43 deletions(-) -- 2.32.0