On Wed, Jan 14, 2026 at 12:01:30PM -0800, Darrick J. Wong wrote: > 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.
Fine by me as well. _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
