From: Nathan Scott <nathans@sgi.com>
To: Daniel Phillips <phillips@bonn-fries.net>,
Linus Torvalds <torvalds@transmeta.com>,
Alexander Viro <viro@math.psu.edu>, Andi Kleen <ak@suse.de>,
Andreas Gruenbacher <ag@bestbits.at>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-xfs@oss.sgi.com
Subject: Re: [PATCH] Revised extended attributes interface
Date: Fri, 7 Dec 2001 10:15:17 +1100 [thread overview]
Message-ID: <20011207101517.B46546@wobbly.melbourne.sgi.com> (raw)
In-Reply-To: <20011205143209.C44610@wobbly.melbourne.sgi.com> <E16Boqr-0000m9-00@starship.berlin> <20011206164131.F50483@wobbly.melbourne.sgi.com> <E16C0PD-0000ot-00@starship.berlin>
In-Reply-To: <E16C0PD-0000ot-00@starship.berlin>; from phillips@bonn-fries.net on Thu, Dec 06, 2001 at 04:25:41PM +0100
hi Daniel,
On Thu, Dec 06, 2001 at 04:25:41PM +0100, Daniel Phillips wrote:
> On December 6, 2001 06:41 am, Nathan Scott wrote:
> >
> > I guess it ultimately comes down to simplicity.
>
> Right now we have two namespaces, user and system.
Andreas and the security folk have long been investigating
"trusted" and "owner" namespaces too. See Andreas' web pages
for more discussion on those.
I see no reason to impose such arbitrary restrictions as you
seem to be suggesting - if a filesystem does not want to or
cannot implement some particular namespace, then it shouldn't
be forced to. eg. there is no reason why the user namespace
has to be implemented - Andreas patches for ext2/ext3 go so
far as to make this namespace compile-time conditional (and
his userspace tools just continue to work - its really quite
a nice design, IMO).
> That's one bit of
> information, and the proposal is to represent it with 5-7 bytes, passing it
> on every call, and decoding it with a memcmp or similar. This is just extra
> fluff as far as I can see,
I'd be interested in seeing exactly how you'd like to see the
interfaces changed - could you put forward some APIs?
<guessing here>
It sounds like you're suggesting a separate integer namespace
parameter to each syscall/vfs interface? I think you'll find
this solves none of the problems you're describing, and makes
every operation more complex, and more difficult. Worse, its
alot more open to abuse in the way the old command parameter
was than namespace-prefixed names are! (there would probably
be some free high-order bits in there where I could sneak new
functionality in, right?)
</guessing here>
But perhaps I'm misunderstanding what you're suggesting - I
should wait to see your patch.
> and provides every bit as much opportunity for
> implementing a private API as the original cmd parameter did, by encoding
> whatever one pleases before the dot.
This is just not true - the API does not change at all if a new
namespace was needed for some reason. Restricting namespaces by
using a binary namespace also doesn't help at all - the namespace
becomes obfuscated (strings are easier to grok than bitfields),
divorced from the name (which it clarifies, making life difficult
for the userspace tools) and doesn't even solve the "problem" -
someone could use new bits just as easily as use new namespace
strings.
> > (unless you go for a binary namespace representation, and that's a
> > real can of worms).
>
> I'm suggesting we take a look at that.
>
Andreas and I did have such an implementation, but we ditched it.
The CVS revision history of cmd/attr2/{set,get}fattr/*.c in the XFS
tree show the progression of user<->kernel interfaces which I tried
while Andreas and I were nutting out a clean solution that we both
could use.
Thar be dragons thar. Big hairy ones.
> > [extended attributes on symlinks]
>
> OK, well it looks like you're going a little overboard here in dividing out
> the functionality. What you're talking about is 'follow symlink or not',
> right? That really does sound to me as though it's naturally expressed with
> a flag bit. I really don't see a compelling reason to go beyond 8 syscalls:
>
> get, fget, set, fset, del, fdel, list, flist
>
I'm not too fussed - the second draft patch I sent out did exactly
as you describe, in an attempt to cut down on syscalls. This again
meant adding a "flags" field to each operation. We also have stat/
lstat/fstat and chown/lchown/fchown - I was trying to be consistent
with those, and I still think that is the right thing to do.
cheers.
--
Nathan
next prev parent reply other threads:[~2001-12-06 23:17 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-05 3:32 Nathan Scott
2001-12-05 9:08 ` Anton Altaparmakov
2001-12-06 5:46 ` Nathan Scott
2001-12-06 3:05 ` Daniel Phillips
2001-12-06 5:41 ` Nathan Scott
2001-12-06 15:25 ` Daniel Phillips
2001-12-06 23:15 ` Nathan Scott [this message]
2001-12-07 1:45 ` Daniel Phillips
2001-12-07 2:03 ` Daniel Phillips
2001-12-07 3:51 ` Nathan Scott
2001-12-07 20:20 ` Stephen C. Tweedie
2001-12-08 4:58 ` Nathan Scott
2001-12-08 20:17 ` Hans Reiser
2001-12-11 2:42 ` reiser4 (was Re: [PATCH] Revised extended attributes interface) Nathan Scott
2001-12-11 12:02 ` Hans Reiser
2001-12-11 19:23 ` Anton Altaparmakov
2001-12-11 20:14 ` reiser4 (was Re: [PATCH] Revised extended attributesinterface) curtis
2001-12-11 21:34 ` Hans Reiser
2001-12-11 23:04 ` curtis
2001-12-11 23:28 ` Hans Reiser
2001-12-11 23:46 ` Anton Altaparmakov
2001-12-12 1:00 ` curtis
2001-12-11 21:21 ` reiser4 (was Re: [PATCH] Revised extended attributes interface) Hans Reiser
2001-12-11 23:33 ` Anton Altaparmakov
2001-12-11 23:59 ` Hans Reiser
2001-12-12 2:16 ` Anton Altaparmakov
2001-12-12 12:02 ` Hans Reiser
2001-12-12 13:34 ` Anton Altaparmakov
2001-12-12 15:40 ` Hans Reiser
2001-12-13 1:43 ` Andrew Pimlott
2001-12-13 9:23 ` Hans Reiser
2001-12-13 10:36 ` User-manageable sub-ids proposals Romano Giannetti
2001-12-13 13:37 ` Ragnar Kjørstad
2001-12-13 16:06 ` Romano Giannetti
2001-12-13 18:58 ` Ragnar Kjørstad
2001-12-18 0:17 ` Pavel Machek
2001-12-13 23:24 ` David Wagner
2001-12-21 21:28 ` Andreas Ferber
2001-12-13 15:27 ` reiser4 (was Re: [PATCH] Revised extended attributes interface) Andrew Pimlott
2001-12-13 20:47 ` Hans Reiser
2001-12-13 21:01 ` Anton Altaparmakov
2001-12-10 11:52 ` [PATCH] Revised extended attributes interface Stephen C. Tweedie
2001-12-10 15:00 ` Peter J. Braam
2001-12-10 15:56 ` Stephen C. Tweedie
2001-12-10 16:00 ` Mr. James W. Laferriere
2001-12-10 16:15 ` Stephen C. Tweedie
2001-12-10 19:01 ` John Stoffel
2001-12-11 1:22 ` Timothy Shimmin
2001-12-11 11:33 ` Stephen C. Tweedie
2001-12-11 15:15 ` Implementing POSIX ACLs - was: " Anton Altaparmakov
2001-12-11 1:41 ` Nathan Scott
2001-12-11 13:47 ` Stephen C. Tweedie
2001-12-11 18:23 ` Hans Reiser
2001-12-11 18:46 ` Anton Altaparmakov
2001-12-11 23:37 ` Implementing POSIX ACLs - was " Nathan Scott
2001-12-11 13:30 ` Implementing POSIX ACLs - was: " Anton Altaparmakov
2001-12-11 14:34 ` Stephen C. Tweedie
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=20011207101517.B46546@wobbly.melbourne.sgi.com \
--to=nathans@sgi.com \
--cc=ag@bestbits.at \
--cc=ak@suse.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@oss.sgi.com \
--cc=phillips@bonn-fries.net \
--cc=torvalds@transmeta.com \
--cc=viro@math.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
all inboxes | Powered by JetHome®