lkml.org 
[lkml]   [2000]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: NTFS-like streams?


    On Sat, 12 Aug 2000, Michael Rothwell wrote:
    >
    > > 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,

    I agree 100%.

    I do not like speciality access methods. I'd hate to have yet another
    "ioctl"-like thing that does some magic to the file. It should be exported
    as yet another byte stream, the way real UNIX data was always represented.

    The UNIX notion of "everything is a file" is a thing of beauty. Plan-9
    took it further, and I'm a staunch believer in things like /proc etc. I
    don't think resource forks are anything special.

    > 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.

    Indeed. We should look at this from an interface viewpoint: we don't care
    _what_ the low-level filesystem actually does, but the interface should be
    a generic and clean one that allows us to support different kinds of
    filesystems. Ranging from the traditional UNIX ones that do not support
    forks at all, to something that support "arbitrary" forks (ie forks that
    don't have a fixed structure).

    If a filesystem only supports a resource of a particular type, then that
    filesystem won't support lseek() etc on that resource. Big deal. Named
    pipes don't support lseek either. Neither do sockets etc. That doesn't
    mean that they can't be accessed with read/write and friends.

    Linus


    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:58    [W:4.414 / U:0.576 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site