On Wed, Jan 14, 2026 at 02:01:14PM -0500, Chuck Lever wrote: > > > On Wed, Jan 14, 2026, at 1:11 PM, Jan Kara wrote: > > On Wed 14-01-26 09:28:44, Chuck Lever wrote: > >> From: Chuck Lever <[email protected]> > >> > >> Enable upper layers such as NFSD to retrieve case sensitivity > >> information from file systems by adding case_insensitive and > >> case_nonpreserving boolean fields to struct file_kattr. > >> > >> These fields default to false (POSIX semantics: case-sensitive and > >> case-preserving), allowing filesystems to set them only when > >> behavior differs from the default. > >> > >> Signed-off-by: Chuck Lever <[email protected]> > > ... > >> diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h > >> index 66ca526cf786..07286d34b48b 100644 > >> --- a/include/uapi/linux/fs.h > >> +++ b/include/uapi/linux/fs.h > >> @@ -229,10 +229,20 @@ struct file_attr { > >> __u32 fa_nextents; /* nextents field value (get) */ > >> __u32 fa_projid; /* project identifier (get/set) */ > >> __u32 fa_cowextsize; /* CoW extsize field value (get/set) */ > >> + /* VER1 additions: */ > >> + __u32 fa_case_behavior; /* case sensitivity (get) */ > >> + __u32 fa_reserved; > >> }; > >> > >> #define FILE_ATTR_SIZE_VER0 24 > >> -#define FILE_ATTR_SIZE_LATEST FILE_ATTR_SIZE_VER0 > >> +#define FILE_ATTR_SIZE_VER1 32 > >> +#define FILE_ATTR_SIZE_LATEST FILE_ATTR_SIZE_VER1 > >> + > >> +/* > >> + * Case sensitivity flags for fa_case_behavior > >> + */ > >> +#define FS_CASE_INSENSITIVE 0x00000001 /* case-insensitive > >> lookups */ > >> +#define FS_CASE_NONPRESERVING 0x00000002 /* case not preserved */ > > > > This is a matter of taste so not sure what others think about it but > > file_attr already have fa_xflags field and there is already one flag which > > doesn't directly correspond to on-disk representation (FS_XFLAG_HASATTR) so > > we could also put the two new flags in there... I have hard time imagining > > fa_case_behavior would grow past the two flags you've introduced so u32 > > seems a bit wasteful. > > No problem. I'll wait for additional guidance on this.
Sounds like a better use of space in struct file_attr than adding another pair of u32. --D > > -- > Chuck Lever > _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
