9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] new compilers
Date: Thu, 30 Mar 2006 11:15:31 -0800	[thread overview]
Message-ID: <3e1162e60603301115n238a39abka1e01d3dd2fd6de0@mail.gmail.com> (raw)
In-Reply-To: <ace468790603301057r58cf86f3we276b4cd6edcdd92@mail.gmail.com>

On 3/30/06, Burton Samograd <kruhft@gmail.com> wrote:
> > ioctl(fd, SETVOLUME, &vol); is more comfortable.
>
> I read somewhere (but haven't actually seen it implimented yet) about
> using xattrs (file system property lists) instead of ioctls and
> thought that it was a pretty interesting idea.  No needing to sort
> through headers to find some badly acronimized value with no docs on
> how to use it, etc...
>
> Anybody have any comments on the xattr -> ioctl type interfaces?

Doesn't seem so bad.  It opens up new questions about things like if
all xattr APIs and implementations are created equal, and they're not.

FreeBSD has one way.

Mac OS X adopted the Linux API (believe it or not).

Mac OS X's version differs in behavior from Linux's in some fundamental ways.

I found this out working with some friends on an archiver that gathers
things like Resource Fork data between mac os x revisions, at some
point you can access the data via xattrs if you wish, which changes
the amount of data that is normally storable in an xattr interface.

The other thing I didn't like about xattrs on linux is you have to
write weird looping mechanisms to make sure you have a buffer that's
big enough to hold the xattr data when reading.

example:

----
TRYAGAIN:
buf = malloc(bufsz);

if (!buf) abort();  //pretty much screwed here.

ret = listxattr(path, buf, bufsz, xattr_flags);
if (ret < 0) {
   switch (errno) {
   case ERANGE: // bufsz is too small.
       bufsz *= 2;
       free(buf);
       goto TRYAGAIN;
----

And this is just to get a list of the key'd extended attributes
existing on the file.  Not a nice interface if you ask me.  You
basically fail upwards without being told how far off you were from
having the correct buffer size.

FreeBSD has namespaced xattrs for the SYSTEM and USERSPACE.

I'll take control files any day of the week over this mess.

Dave

>
> --
> burton samograd                                                kruhft@gmail.com
> kruhft.blogspot.com   www.myspace.com/kruhft   metashell.blogspot.com
>


  reply	other threads:[~2006-03-30 19:15 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-25 13:56 Russ Cox
2006-03-25 19:48 ` David Leimbach
2006-03-25 19:53   ` Burton Samograd
2006-03-25 19:59     ` David Leimbach
2006-03-25 20:02   ` Charles Forsyth
2006-03-25 21:25     ` Brantley Coile
2006-03-25 21:28     ` quanstro
2006-03-25 21:33       ` Brantley Coile
2006-03-25 22:42         ` quanstro
2006-03-25 22:46         ` quanstro
2006-03-26  1:46           ` jmk
2006-03-26  2:52             ` quanstro
2006-03-26  8:14               ` Lyndon Nerenberg
2006-03-26  8:41                 ` Lyndon Nerenberg
2006-03-26 17:06                   ` Bruce Ellis
2006-03-26 17:00             ` David Leimbach
2006-03-27 17:31             ` rog
2006-03-27 19:01               ` Charles Forsyth
2006-03-27 19:15                 ` Paul Lalonde
2006-03-27 19:21                   ` Bruce Ellis
2006-03-30 17:41                   ` rog
2006-03-30 17:44                     ` Charles Forsyth
2006-03-30 18:24                       ` Skip Tavakkolian
2006-03-30 17:51                     ` Christoph Lohmann
2006-03-30 17:54                       ` Sape Mullender
2006-03-30 18:30                         ` Skip Tavakkolian
2006-03-30 18:43                           ` Gabriel Diaz
2006-03-30 18:48                             ` Skip Tavakkolian
2006-03-30 18:51                               ` Gabriel Diaz
2006-03-30 18:51                             ` Charles Forsyth
2006-03-30 21:00                           ` Bakul Shah
2006-03-30 23:16                             ` Skip Tavakkolian
2006-03-30 23:23                             ` Skip Tavakkolian
2006-03-31  6:16                               ` uriel
2006-03-31  7:56                           ` Bruce Ellis
2006-03-31  9:04                             ` Skip Tavakkolian
2006-03-30 23:32                         ` Adrian Tritschler
2006-03-30 17:57                       ` rog
2006-03-30 18:27                         ` rog
2006-03-30 20:46                           ` Roman Shaposhnick
2006-03-31  1:15                             ` Steve Simon
2006-03-31  1:24                               ` Russ Cox
2006-03-31  2:00                               ` Joel Salomon
2006-03-31  2:26                               ` Martin C. Atkins
2006-03-31  8:46                                 ` Charles Forsyth
2006-03-31  8:49                                   ` Bruce Ellis
2006-03-31 21:40                                 ` Taj Khattra
2006-03-31  4:24                             ` Jack Johnson
2006-03-31  4:33                               ` veritosproject
2006-03-30 17:58                       ` Charles Forsyth
2006-03-30 18:03                       ` jmk
2006-03-30 18:13                         ` Brantley Coile
2006-03-30 18:57                       ` Burton Samograd
2006-03-30 19:15                         ` David Leimbach [this message]
2006-03-30 19:22                           ` Charles Forsyth
2006-03-30 19:29                             ` Rob Pike
2006-03-30 19:58                               ` David Leimbach
2006-03-28  0:30 erik quanstrom
2006-03-28  0:40 erik quanstrom
2006-03-28 17:52 ` Lyndon Nerenberg
2006-03-28 18:15   ` Bakul Shah
2006-03-28 18:29     ` Sape Mullender
2006-03-28 18:52       ` LiteStar numnums
2006-03-28 19:15         ` Victor Nazarov
2006-03-29 16:33           ` Burton Samograd
2006-03-29 21:17             ` Francisco J Ballesteros
2006-03-29 21:44               ` Wes Kussmaul
2006-04-02 18:17       ` Aharon Robbins
2006-04-02 18:33         ` Bruce Ellis
2006-04-02 19:47         ` lucio
2006-04-02 20:12           ` Skip Tavakkolian
2006-04-02 20:16             ` LiteStar numnums
2006-04-03  4:35               ` lucio
2006-04-03  5:38                 ` George Michaelson
2006-04-03  6:45                   ` Lyndon Nerenberg
2006-04-03  5:38                 ` LiteStar numnums
2006-04-03  8:31                 ` Lyndon Nerenberg
2006-04-03  9:36                   ` uriel
2006-04-03 12:50                     ` Martin C. Atkins
2006-04-03  9:39                   ` lucio
2006-04-03 13:46                 ` Brantley Coile
2006-04-03 14:30                 ` David Leimbach
2006-04-03 16:02                   ` Bruce Ellis
2006-04-03 20:41                     ` Jack Johnson
2006-04-03 21:02                       ` uriel
2006-04-03 21:32                         ` Ronald G Minnich
2006-04-03 23:42                           ` Bruce Ellis
2006-04-04  0:29                           ` Anthony Sorace
2006-04-04  5:02                             ` Bruce Ellis
2006-04-04  3:15                         ` Jack Johnson
2006-04-04  3:28                         ` Jack Johnson
2006-04-04  6:31                           ` David Leimbach
2006-04-04  4:21                         ` lucio
2006-04-05  1:00                         ` Brantley Coile
2006-04-05  4:35                           ` Bruce Ellis
2006-04-04 12:31                       ` rog
2006-04-03  3:17           ` plan9
2006-04-03  4:17             ` lucio
2006-03-29  1:18 erik quanstrom
2006-03-30 20:14 Steve Simon
2006-03-31  9:17 Fco. J. Ballesteros
2006-03-31  9:40 ` Skip Tavakkolian
2006-03-31  9:42 ` Skip Tavakkolian
2006-03-31  9:43 ` Charles Forsyth
2006-03-31  9:46 ` Charles Forsyth
2006-03-31  9:48   ` Skip Tavakkolian
2006-03-31  9:56     ` Skip Tavakkolian
2006-03-31 10:01       ` Bruce Ellis
2006-03-31 10:03       ` Charles Forsyth
2006-03-31 10:08         ` Skip Tavakkolian
2006-03-31 14:58       ` David Leimbach
2006-03-31 15:01         ` Bruce Ellis
2006-03-31 22:02 ` Taj Khattra
2006-04-03 16:21 ` Ronald G Minnich
2006-04-03 17:17   ` Paul Lalonde
2006-04-03 19:01     ` Artem Letko
2006-04-03 19:22       ` Paul Lalonde
2006-03-31 12:31 Fco. J. Ballesteros
2006-03-31 12:53 ` Charles Forsyth
2006-03-31 13:23 ` Charles Forsyth
2006-03-31 14:42   ` Bruce Ellis
2006-03-31 13:27 erik quanstrom
2006-03-31 14:47 ` Bruce Ellis
2006-03-31 14:42 erik quanstrom
2006-04-03 22:54 erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e1162e60603301115n238a39abka1e01d3dd2fd6de0@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).