lkml.org 
[lkml]   [2004]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: silent semantic changes with reiser4
On Sat, Aug 28, 2004 at 11:09:38AM -0700, Linus Torvalds wrote:
>
> If you look at the Solaris interface, the _nice_ part about "openat()" is
> that you can do something like
>
> file = open(filename, O_RDONLY);
> if (file < 0)
> return -ENOENT;
> icon = openat(file, "icon", O_RDONLY | O_XATTR);
> if (icon < 0)
> icon = default_icon_file;
> ..
>
> and it will work regardless of whether "filename" is a directory or a
> regular file, if I've understood correctly.
>
> Now, I think that makes sense for several reasons:
> - single case
> - race-free (think "stat()" vs "fstat()" races).
> - I think we want to do "openat()" regardless of whether we ever
> support extended attributes or not ("openat()" is nice for doing
> "namei()" in user space even in the absense of any attributes or
> named streams).
>
> So what we can do is
> - implement openat() regardless, and expect to do the Solaris thing for
> it if we ever do streams.

Hurrah ! Definately the best way to go as far as Samba is concerned.
Makes our portability easier. Now the NT interface allows an open on
a named data stream without an open on the containing file (ie.
you can do CreateFile("filename::STREAMNAME",....) without doing
CreateFile("filename",..." first, but I personally think those
semantics are a nasty hack. It makes much more sense (IMHO) to
ensure that you already have an open fd on a file before allowing
access to the named streams inside, Windows be damned. If we have
some semantic issues mapping from the Windows semantics to Solaris/Linux
semantics then so be it, it's a Samba problem so to speak :-).
Thanks,

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

\
 
 \ /
  Last update: 2005-03-22 14:05    [from the cache]
©2003-2011 Jasper Spaans