[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wifig365Ej8JQrXBzK1_BzU9H9kqvvbBGuboF7CzR28VQ@mail.gmail.com>
Date: Sat, 12 Apr 2025 15:36:00 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: "Theodore Ts'o" <tytso@....edu>
Cc: Mateusz Guzik <mjguzik@...il.com>, Christian Brauner <brauner@...nel.org>,
Al Viro <viro@...iv.linux.org.uk>, linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Jan Kara <jack@...e.cz>, Ext4 Developers List <linux-ext4@...r.kernel.org>
Subject: Re: generic_permission() optimization
On Sat, 12 Apr 2025 at 14:53, Theodore Ts'o <tytso@....edu> wrote:
>
> Linus, what problems did you run into?
So this is a resurrected thread from November last year, and I have
long since paged out the exact details...
But when I did basically the exact patch that Mateusz posted, it
didn't actually change any behavior for me, and I still had roughly
half the lookups done the slow way (I also had a really hacky patch
that literally just counted "has cached ACL vs has not").
It is also entirely possible that I messed something up. My
*assumption* at the time was that I was hitting something like this:
> tests if the inode does not have an extended attribute. Posix ACL's
> are stored as xattr's --- but if there are any extended attributes (or
> in some cases, inline data), in order to authoratatively determine
> whether there is an ACL or not will require iterating over all of the
> extended attributes.
Indeed. I sent a query to the ext4 list (and I think you) about
whether my test was even the right one.
Also, while I did a "getfattr -dR" to see if there are any *existing*
attributes (and couldn't find any), I also assume that if a file has
ever *had* any attributes, the filesystem may have the attribute block
allocated even if it's now empty.
And I have this memory that some gnome GUI tools used to use extended
attributes for things like file icon caching purposes. I didn't even
know how to sanely check for that.
I assume there's some trivial e2fstools thing to show things like
that, but it needs more ext4 specific knowledge than I have.
Linus
Powered by blists - more mailing lists