[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new version of glibc xattr patch
From: |
Michael Banck |
Subject: |
Re: new version of glibc xattr patch |
Date: |
Wed, 22 Feb 2006 13:49:33 +0100 |
On Mon, Feb 20, 2006 at 02:15:48PM -0800, Roland McGrath wrote:
> > if (value != NULL && bufsz > *size)
> > return ERANGE;
> > *size = bufsz;
>
> That fix leaks in the ERANGE case. I did a different fix.
> Please verify it.
It works just as fine.
> > Our tests seemed to have shown that most (all?) passive translators do
> > not have the S_IPTRANS stat bit set, thus not reporting the
> > gnu.translator xattr through listxattr. Are we missing something here?
>
> I doubt this is true. If it is, it's a server-side bug. Note that
> S_IPTRANS and the gnu.translator xattr are found on nodes opened with
> O_NOTRANS. They will more or less never be seen by the file name-based
> calls, only by f*xattr on an fd opened using O_NOTRANS.
I see. This means existing code will need to get changed or rewritten I
guess. Star and {get,set}fattr always use the file name-based calls,
which is why they do not report passive translators. We could write a
{set,show}trans replacement for GNU/Linux perhaps, and add an option to
GNU tar to not follow translators (along with the other xattr support).
Star would be a bit more difficult to change, I couldn't get it to use
O_NOTRANS and f*xattr when I quickly tried, the build system breaks down
when _GNU_SOURCE is defined.
Michael