From: Amit Gud <amitgud1@gmail.com>
To: Jan Engelhardt <jengelh@linux01.gwdg.de>
Cc: Hans Reiser <reiser@namesys.com>, linux-kernel@vger.kernel.org
Subject: Re: file as a directory
Date: Tue, 23 Nov 2004 15:16:51 +0530 [thread overview]
Message-ID: <2c59f00304112301467b411a46@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.53.0411222002380.21595@yvahk01.tjqt.qr>
On Mon, 22 Nov 2004 20:05:25 +0100 (MET), Jan Engelhardt
<jengelh@linux01.gwdg.de> wrote:
> >>(Hint - "file as directory" broke a number of programs that didn't
> >>expect that a file *could* be a directory, when run on a reiser4
> >>filesystem...)
> >
> >It broke extraordinarily few.
>
> (The fewer the better.)
>
> That's good news, and frankly, I did not expect anything else. That's because
> either programs definitely know that "it" is a file/directory because they just
> mkdir'ed or so, or they implement correct error checks, e.g. the user just
> created a directory and we check back (i.e. race protection).
>
Correct me if I'm wrong, but the best way I know whether a file should
be treated as directory or as a file (atleast how I've implemented it)
depends upon the context (how the file is accessed) in the user-space
and this context is reflected in the kernel space in the flags of the
struct nameidata. So ...
----
/* check if the archive is a path component or if last
component with slash */
flags = (nd->flags & LOOKUP_CONTINUE) || (nd->flags & LOOKUP_DIRECTORY);
if(flags)
/* directory */
else
/* file */
----
> What I am worried about is the opendir() libc call, which AFAIK does this:
> fd = open("directory", myflags | O_DIRECTORY)
>
No more worries! Am I missing something?
AG
--
May the source be with you.
next prev parent reply other threads:[~2004-11-23 9:47 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-22 13:54 file as a directory Amit Gud
2004-11-22 14:37 ` Martin Waitz
2004-11-22 15:34 ` Zan Lynx
2004-11-22 17:18 ` Martin Waitz
2004-11-22 18:16 ` Jan Engelhardt
2004-11-22 14:38 ` Al Viro
2004-11-22 15:04 ` Helge Hafting
2004-11-22 17:15 ` Tomas Carnecky
2004-11-22 18:48 ` Hans Reiser
2004-11-24 9:16 ` Peter Foldiak
2004-11-24 14:05 ` Jan Engelhardt
2004-11-24 15:02 ` Paolo Ciarrocchi
2004-11-24 15:25 ` Peter Foldiak
2004-11-26 16:13 ` Hans Reiser
2004-11-24 16:11 ` Christian Mayrhuber
2004-11-25 10:50 ` Peter Foldiak
2004-11-26 18:19 ` Hans Reiser
2004-11-26 21:13 ` Christian Mayrhuber
2004-11-27 11:09 ` Peter Foldiak
2004-11-27 13:14 ` Christian Mayrhuber
2004-11-29 21:20 ` Horst von Brand
2004-11-29 22:59 ` Peter Foldiak
2004-11-29 23:35 ` Kevin Fox
2004-11-30 8:54 ` Peter Foldiak
2004-11-30 16:28 ` Kevin Fox
2004-11-30 16:42 ` Jan Engelhardt
2004-11-30 17:35 ` Jesse Pollard
2004-11-30 17:49 ` Jan Engelhardt
2004-11-30 18:26 ` Amit Gud
2004-11-30 18:39 ` Jan Engelhardt
2004-12-01 2:44 ` Scott Young
2004-12-03 9:58 ` Amit Gud
2004-11-30 14:51 ` Horst von Brand
2004-11-30 15:29 ` Peter Foldiak
2004-11-30 16:31 ` Horst von Brand
2004-11-30 17:03 ` Hans Reiser
2004-12-14 16:58 ` Peter Foldiak
2004-12-14 17:21 ` Jan Engelhardt
2004-12-14 18:11 ` Peter Foldiak
2004-12-14 18:16 ` Jan Engelhardt
2004-12-14 17:24 ` Hans Reiser
2004-12-14 21:27 ` Peter Foldiak
2004-12-15 4:47 ` David Masover
2004-12-15 5:28 ` Hans Reiser
2004-12-16 0:16 ` David Masover
2004-12-16 18:52 ` Hans Reiser
2004-12-17 15:58 ` David Masover
2004-12-17 16:52 ` Hans Reiser
2004-12-18 1:52 ` Horst von Brand
2004-12-20 17:21 ` Hans Reiser
2004-12-21 3:40 ` Alexander G. M. Smith
2004-12-21 5:31 ` David Masover
2004-12-21 13:16 ` Alexander G. M. Smith
2004-12-21 16:29 ` Horst von Brand
2004-12-22 0:47 ` Alexander G. M. Smith
2004-12-15 9:27 ` Peter Foldiak
2004-12-15 23:56 ` David Masover
2004-12-16 18:48 ` Hans Reiser
2004-12-16 19:01 ` Peter Foldiak
2004-12-17 18:09 ` Hans Reiser
2004-12-18 0:20 ` David Masover
2004-12-17 16:02 ` David Masover
2004-12-17 16:54 ` Hans Reiser
2004-12-15 5:19 ` Hans Reiser
2004-12-14 19:30 ` Horst von Brand
2004-12-15 4:52 ` David Masover
2004-12-15 5:31 ` Hans Reiser
2004-12-15 5:10 ` Hans Reiser
2004-12-15 13:28 ` Horst von Brand
2004-12-15 16:57 ` Hans Reiser
2004-12-15 19:11 ` mjt
2004-12-15 19:11 ` Markus Törnqvist
2004-12-15 20:57 ` Hans Reiser
2004-11-30 17:03 ` Peter Foldiak
2004-11-30 17:50 ` Horst von Brand
2004-11-30 18:23 ` Dr. Giovanni A. Orlando
2004-11-29 23:11 ` Peter Foldiak
2004-11-30 5:53 ` prymitive
2004-11-30 16:04 ` Martin Waitz
2004-11-27 12:49 ` mjt
2004-11-27 12:49 ` Markus Törnqvist
2004-11-29 15:41 ` Hans Reiser
2004-11-26 17:43 ` Hans Reiser
2004-11-27 11:50 ` Tomasz Torcz
2005-05-10 9:39 ` Peter Foldiak
2005-05-10 14:53 ` Hans Reiser
2005-05-10 15:32 ` Peter Foldiak
2005-05-10 16:30 ` Sean McGrath
2005-05-10 17:25 ` Hans Reiser
2005-05-10 17:39 ` Sean McGrath
2005-05-10 18:52 ` Hans Reiser
2005-05-10 19:39 ` Sean McGrath
2005-05-10 20:11 ` Hans Reiser
2005-05-16 12:32 ` Leo Comerford
2005-05-17 1:25 ` Alexander G. M. Smith
2005-05-17 22:51 ` David Masover
2005-05-17 23:57 ` Alexander G. M. Smith
2005-05-18 11:46 ` Leo Comerford
2005-05-18 11:50 ` Leo Comerford
2005-05-10 15:14 ` Valdis.Kletnieks
2005-05-10 15:38 ` Peter Foldiak
2005-05-10 17:20 ` Hans Reiser
2005-05-11 10:23 ` Helge Hafting
2004-11-23 6:20 ` Amit Gud
2004-11-24 10:32 ` Helge Hafting
2004-11-24 11:07 ` Amit Gud
2004-11-25 23:09 ` Pavel Machek
2004-11-28 18:53 ` Helge Hafting
2004-11-28 19:01 ` Pavel Machek
2004-11-22 17:59 ` Valdis.Kletnieks
2004-11-22 18:24 ` Jan Engelhardt
2004-11-22 18:24 ` Jan Engelhardt
2004-11-22 18:52 ` Hans Reiser
2004-11-22 19:05 ` Jan Engelhardt
2004-11-23 9:46 ` Amit Gud [this message]
2004-11-23 14:00 ` Jan Engelhardt
2004-11-23 14:17 ` Amit Gud
2004-11-23 9:11 ` Dirk Steinberg
2004-11-23 9:37 ` mjt
2004-11-23 9:37 ` Markus Törnqvist
2004-11-23 19:00 ` Hans Reiser
[not found] <fa.imi6gu8.1e7qkqc@ifi.uio.no>
[not found] ` <fa.hcr9rb0.k6egam@ifi.uio.no>
2004-11-26 4:11 ` Bodo Eggert
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=2c59f00304112301467b411a46@mail.gmail.com \
--to=amitgud1@gmail.com \
--cc=jengelh@linux01.gwdg.de \
--cc=linux-kernel@vger.kernel.org \
--cc=reiser@namesys.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.