Re: NTFS-like streams?

From: Michael Rothwell (rothwell@flyingbuttmonkeys.com)
Date: Sat Aug 12 2000 - 15:43:07 EST


Linus Torvalds wrote:

> I don't think you realize something.
>
> You argue about resource forks as some abstract interface.
>
> And a lot of other people are arguing about resource forks as a hard, cold
> reality of existing filesystems.

NTFS, HFS, HPFS, BeFS ... and we are developing one

> The point is to be able to access resource forks in a way that is
> compatible with UNIX filesystem semantics.

I would agree -- we're not trying NT-ize Linux,
but simply access a pre-existing feature.

> Similarly, with resource forks you almost certainly cannot do a "chown()"
> on a fork. Live with it. It's how the filesystem works.

In our filesystem, we've generalized streams and
ACLs even more than NTFS has. You can actually
set separate quotas and ACLs on streams of a
single file.
 
> Similarly, resource forks are almost certainly not going to allow multiple
> levels: it's not a recursive directory-structure, it's a single level (no,
> it doesn't _have_ to be a single level, but I think it is in existing
> filesystems that support the notion).

Heirarchical streams are a curiosity -- because
most people think "oh, streams are like a file
is a directory," they think that they are also
heirarchical, or should be, etc. But when streams
are thought of as simply a way to associate
additional, arbitrary metadata with a file,
heirarchies make less sense.

> You miss the point. Ext2 doesn't have resource forks. End of story.
> There's no point in trying to force them upon it.

I agree. Let's not have any "LinuxDouble" crapola... :)

> This is a practical matter of "how do we sanely export non-UNIX semantics
> of other systems filesystems to UNIX programs".

Along those lines, I originally mentioned that
there are two ways to access the data; the Mac
and BeOS both require use of special functions to
manipulate extended attributes as name-value pairs.
NTFS allows streams to be used as regular files:
open, seek, read, close, etc. It seems to me that
the NTFS method is actually more Unix-like, and can
be used as the basis for providing BeOS-type
functionality -- all the accessor functions have
to do is open teh stream file, write a blob to it,
and close it again.

-Michael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:28 EST