Hi,

On Wed, Oct 25, 2000 at 06:21:05PM -0700, Hans Reiser wrote:

> > It's not the atomicity which we need to differentiate here --- it's
> > the namespace.  In other words, attribute "FOO" can coexist with named
> > stream "FOO" on the same inode, the two still being quite distinct
> > entities.
> 
> filename/stream/foo and filename/attribute/FOO
> 
> ?
> 
> This way only those filesystems that need to encumber their semantics have to do so.

But this removes half of the point of having extended attributes ---
portability!

By specifying the attribute families explicitly, the application can
tell the filesystem what it is expecting, and all filesystems will
have available that information in a unified manner.  An application
can use "ATR_USER" and get the lowest-common-denominator named
attribute semantics regardless of whether the underlying filesystem is
"encumbered" with streams too or not.  

If you start inventing different naming conventions depending on what
_other_ features are being provided, rather than on what the user is
requesting, then access to the common features in a consistent manner
is impossible.

> > Yes, but most filesystems don't, and will not, support arbitrary
> > atomic operations.  Heck, not even write(2) is atomic on any
> > filesystems I know of right now, since you can take a page fault
> > during the write as we copy the data from user space to the page cache
> > and another application can then see the partially complete write in
> > memory.  (NB this is *completely* different from the atomic updates
> > we were talking about in Miami, which were concerned not with atomic
> > updates to cache but atomic updates to disk, which is where journal
> > transactions enter the picture.)
> 
> why make it impossible for any fs to ever implement an atomic write?

Sorry --- I don't understand.  Who is saying this?  Certainly not me.

What I'm saying is that these are different problems.  Making huge
atomic updates possible is a very, very different problem to
generating a decent attribute API.  I'm trying to solve problem 2
without forcing all existing filesystems to fix problem 1 first,
because a lot of the existing filesystems *can't* fix problem 1.

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