Re: [PATCH] get/set FAT filesystem attribute bits
From: H. Peter Anvin
Date: Mon Jan 03 2005 - 18:31:11 EST
[Pruning the Cc: list.]
Nicholas Miell wrote:
On Mon, 2005-01-03 at 14:25 -0800, H. Peter Anvin wrote:
I'm honestly not sure that using an ASCII string in an xattr is the sane
way of doing this. Even a binary byte in an xattr would make more sense
in some ways.
ASCII strings require no special tools to manipulate from shell scripts.
You need some kind of special tool anyway, i.e. getfattr/setfattr. What
tool you use isn't really important.
The fact that getfattr/setfattr can't deal with attributes that aren't
ASCII strings seem like flaws in these tools.
I think the xattr mechanism is ignored largely because it's painfully
complex.
A plus with using xattr is that in theory (but of course not in
practice!) it would let one store a copy of a DOS filesystem on an ext3
(or xfs, or...) filesystem and have it restored, all using standard (but
by necessity, xattr-aware) tools. However, the splitting of xattr into
namespaces may very well make that impossible, since what's a "system"
attribute to one filesystem is a "user" attribute to another. Classic
design flaw, by the way.
The design does allow users to store whatever they want as an xattr
without having to worry about how the kernel chooses to interpret it,
though. (i.e. the user namespace is just a byte array that the kernel
stores for you, while the system/security namespaces are probably
generated and interpreted on demand.)
>
Exactly, and that's a total screwup. It makes something that would
otherwise be possible -- for some filesystems to have an attribute (call
it "system.dosattrib") which is used, and for others which is stored.
The problem is that with the current design, that won't happen.
Encoding this in the namespace, therefore preventing this kind of
compatiblity, is daft. From the looks of it, the CIFS people were
planning to do the "put everything in user.*" workaround for this design
error.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/