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: 107+ 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-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 ` 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 16:04 ` Martin Waitz
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-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: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 ` 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox