Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Mar 2002 08:05:18 -0600 (CST)
From:      Quincey Koziol <koziol@ncsa.uiuc.edu>
To:        freebsd-fs@freebsd.org
Subject:   Re: Filesystem books?
Message-ID:  <200203211405.g2LE5IW84437@sleipnir.ncsa.uiuc.edu>
In-Reply-To: <xzpsn6u35wv.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
> Quincey Koziol <koziol@ncsa.uiuc.edu> writes:
> > Hmm, what set of the POSIX filesyetem semantics are you talking about?
> 
> The ususal file and directory manipulation functions - open(2),
> read(2), mkdir(2), stat(2) etc.  Think "directory" instead of "group",
> and "file" instead of "object".
    Oh, certainly, we realized this when we started the design for HDF5.
However, HDF5 has some features that more filesystems don't have, such as
allowing hard links to groups (directories), allowing for a graph instead of
a tree of directories.  We also allow "anonymous" objects to be created in
the group hierarchy, which are linked to from objects and not groups.
    We were also concerned about moving files easily from one machine to
another, which is difficult when all the objects are individual files.  Yes, we
could re-code tools like ftp & tar to "know about" our funny filesystem, but
we fealt that it would be too much work and difficult for our users to use
portably across all the different operating systems we supported (many varieties
of UNIX, Windows, Macintosh, VMS, etc. :-)

> > Where is the best place to start looking into EA API stuff for FreeBSD?
> 
> des@des ~% man -k extattr
> VOP_GETEXTATTR(9)        - retrieve named extended attribute from a vnode
> VOP_SETEXTATTR(9)        - set named extended attribute for a vnode
> extattr(9)               - virtual file system named extended attributes
> extattr_get_fd(2), extattr_set_fd(2), extattr_delete_fd(2), extattr_get_file(2), extattr_set_file(2), extattr_delete_file(2) - system calls to manipulate VFS extended attributes
> extattr_namespace_to_string(3), extattr_string_to_namespace(3) - convert an extended attribute namespace identifier to a string and vice versa
> extattrctl(8)            - manage FFS extended attributes
> getextattr(8)            - retrieve a named extended attribute
> setextattr(8)            - set a named extended attribute
> 
> This is on -CURRENT, mind you.  -STABLE has some of it, but not all.
> The other BSDs support the same API, while Linux is gratuitously
> different.  OS/2 has had extended attributes practically forever, and
> Windows NT and 2000 have similar facilities under a different name
> that I don't recall at the moment.  On systems that don't support
> extended attributes natively (Solaris, for instance), you can store
> your metadata in a Berkely DB file.
    Ah, we are trying to have a single file-format that is portable across
all the machines.  Having different formats on different machines gets away
from the whole point.

> > > That being said, HDF makes a neat interchange format, once you get rid
> > > of the silly limitations on object size & count.
> >     Hmm, which limitations are you talking about?
> 
> Those in HDF4 - I am aware that HDF5 eliminates most of them.
    Good. :-)  We are ending up designing a portable "filesystem in a file",
which is interesting and has somewhat different constraints than "real"
filesystems tied to a device... ;-)

    Thanks,
        Quincey

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203211405.g2LE5IW84437>