[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251020163713.GM6178@frogsfrogsfrogs>
Date: Mon, 20 Oct 2025 09:37:13 -0700
From: "Darrick J. Wong" <djwong@...nel.org>
To: Christoph Hellwig <hch@...radead.org>, Theodore Ts'o <tytso@....edu>
Cc: zlang@...hat.com, fstests@...r.kernel.org, linux-xfs@...r.kernel.org,
linux-ext4 <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH 6/8] common/filter: fix _filter_file_attributes to handle
xfs file flags
On Mon, Oct 20, 2025 at 12:01:21AM -0700, Christoph Hellwig wrote:
> On Fri, Oct 17, 2025 at 09:22:18AM -0700, Darrick J. Wong wrote:
> > > What XFS flags end up in lsattr?
> >
> > Assuming you're asking which XFS flags are reported by ext4 lsattr...
> >
> > append, noatime, nodump, immutable, projinherit, fsdax
> >
> > Unless you meant src/file_attr.c? In which case theyr'e
>
> I'm actually not sure. I was just surprised about the flags showing
> up.
>
> >
> > > Is this coordinated with the official
> > > registry in ext4?
> >
> > Only informally by Ted and I talking on Thursdays.
> >
> > The problem here is that _filter_file_attributes ... probably ought to
> > say which domain (ext4 lsattr or xfs_io lsattr) it's actually filtering.
>
> Oooh. That explains my confusion.
>
> > Right now the only users of this helper are using it to filter
> > src/file_attr.c output (aka xfs_io lsattr) so I think I should change
> > the patch to document that.
>
> Yes, please. And we really need to figure out central authoritisied
> to document the lsattr and fsxattr domain flags.
[add tytso and linux-ext4]
I think we should standardize on the VFS (aka file_getattr) flag values,
which means the xfs version more or less wins.
The only problem there of course is that file_getattr doesn't know about
the ext-specific flags, which are:
{ EXT2_SECRM_FL, "s", "Secure_Deletion" },
{ EXT2_UNRM_FL, "u" , "Undelete" },
{ EXT2_DIRSYNC_FL, "D", "Synchronous_Directory_Updates" },
{ EXT2_COMPR_FL, "c", "Compression_Requested" },
{ EXT4_ENCRYPT_FL, "E", "Encrypted" },
{ EXT3_JOURNAL_DATA_FL, "j", "Journaled_Data" },
{ EXT2_INDEX_FL, "I", "Indexed_directory" },
{ EXT2_NOTAIL_FL, "t", "No_Tailmerging" },
{ EXT2_TOPDIR_FL, "T", "Top_of_Directory_Hierarchies" },
{ EXT4_EXTENTS_FL, "e", "Extents" },
{ FS_NOCOW_FL, "C", "No_COW" },
{ EXT4_CASEFOLD_FL, "F", "Casefold" },
{ EXT4_INLINE_DATA_FL, "N", "Inline_Data" },
{ EXT4_VERITY_FL, "V", "Verity" },
{ EXT2_NOCOMPR_FL, "m", "Dont_Compress" },
Not sure what we want to do about that, since some of those flags like
the ones related to deletion, compression, and tailmerging aren't
implemented.
Other things like extents/topdir seem too ext4-specific to put in a vfs
interface....?
--D
Powered by blists - more mailing lists