Hi,

On Thu, Oct 26, 2000 at 09:26:22PM -0700, Hans Reiser wrote:
> You are making extended attributes different from files in more than name.  This is 
>deeply and
> fundamentally wrong.

ACLs, MACs etc _are_ fundamentally different.  They don't have a byte
stream structure.  They are more like datagrams than tcp streams, to
take a networking analogy.  There are plenty of file attributes which
are not streamlike: mode, owner etc.  This is nothing new.

The API here is designed *exclusively* for non-streamlike attributes.
If your filesystem can actually implement stream-like attributes, then
you can also use the filesystem namespace to access those attributes
--- that's great.

> > I am *not* going to implement database-style transactions just for
> > something which is basically an extended chmod()!  It is also quite
> 
> then don't misfeature atomicity in!  If you can't do it right, don't code it into 
>VFS so that we all
> get stuck with it!

Huh?  ACLs *must* be updated atomically.  You have no choice.
Anything else is a security hole.  It's not optional.

> > impossible to implement arbitrary transactions over filesystems such
> > as NFS, but we still need ACL APIs for that.
> 
> So don't make atomic a filesystem that doesn't support atomicity.  Why do you want 
>to do that?  What
> is even crazier is that you blame me for this requirement of yours which is 
>supposedly a requirement
> of mine.  If it doesn't support atomicity it ignores the atomicity specification by 
>the user, if it
> requires atomicity it imposes it on the user, if it is well designed it does as 
>asked, what is the
> problem?

Calm down --- who said anything about blame???!!!

I already said that "transactional" != "atomic".  "transactional"
means updated atomically on disk.  "atomic" in memory is a separate
issue, and ACLs only need that.  Atomic in memory is much easier ---
we only need a lock around the update, we don't need any fancy on-disk
write ordering tricks.

If you mean transactional on disk, then we agree --- if the filesystem
can support it, that's great; if not, no big loss, we weren't
promising anything anyway.

> You have some misdesigned filesystems you want to support by forcing all the rest of 
>the filesystems
> to be misdesigned.  Make misdesign optional not mandatory.  That means don't give us 
>a single way of
> doing things that combines several different features in a non-orthogonalized way 
>that forces us to
> take all features when we only want one of them.

I agree --- that's why we need an ACL API which doesn't require the
use of a named-file byte-stream.  The two pieces of functionality are
orthogonal.  I don't want to get in the way of anybody who wants to
implement named streams, but there are a ton of existing ACL
implementations which don't work that way and we need to support them.

Hans, I am *NOT* suggesting that reiserfs must implement all its
attributes in any specific way.  However, there is most definitely a
need for some form of fairly standard way to access specific
attributes such as ACLs and DMAPI attributes.

Cheers,
 Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]

Reply via email to