From: Jeffrey Mahoney <jeffm@suse.com>
To: Hans Reiser <reiser@namesys.com>
Cc: 7eggert@gmx.de, Eric Dumazet <dada1@cosmosbay.com>,
ReiserFS List <reiserfs-list@namesys.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH] reiserfs: fix handling of device names with /'s in them
Date: Sun, 16 Jul 2006 21:50:26 -0400 [thread overview]
Message-ID: <44BAECE2.8070301@suse.com> (raw)
In-Reply-To: <44BAE619.9010307@namesys.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hans Reiser wrote:
> Jeff Mahoney wrote:
>
>> Hans Reiser wrote:
>>
>>
>> Hans, we're all in agreement that we'd prefer drivers not use names with
>> slashes in them,
>
> there is nothing wrong with using names that have slashes. The thing
> that is wrong is somehow needing to translate them into names with "!"'s.
If using something with slashes in it as a file name component isn't
problematic, then by all means create a single file system object named
"a/b" where "a" doesn't refer to a parent directory and tell us all how.
>> and it would be nice to correct drivers currently using
>> them. The problem is that when you change the name of a device, that's a
>> userspace visible change.
>
> So don't. Why would user space care how you parse it and whether the
> driver or reiserfs does it?
Huh? The block device's name is exported directly via /proc/partitions,
but then also used as a file name component in sysfs, and also procfs
via reiserfs. How do you propose fixing this without adding an
additional field to genhd? Adding a helper function is essentially the
same thing as this patch other than it being open coded, and I'm not
getting the impression that the open coding is your issue.
>> Scripts that currently expect, say,
>> /proc/partitions to contain cciss/<number> will break between kernel
>> versions. Sysfs wants to use the device name as a pathname component,
>> and as such translates the / to a !, the same as this patch proposes.
>>
>> Reiserfs gets involved because it expects that name to be usable as a
>> file system pathname component when it is not intended to be one without
>> translating slashes into another character. The difference is that
>> block device names are allowed to have slashes in them, while normal
>> file system names are not.
>
> We should distinguish here between names and name components.
In terms of file system names, I have been making that distinction. In
terms of block devices, the name consists of only one component. More below.
>> The fact is that device driver names, when in
>> /dev can use separate components, like /dev/cciss/0, but when used in
>> the manner reiserfs wants them to be used, they can't. Also, I'm not
>> talking about name spaces like struct namespace, I mean that the group
>> of names that block device drivers use have different constraints than
>> the group of names that are allowable as file names.
>>
>> The fact is that this change is required for users deploying devices
>> that use slashes in their names to see the proc data for a reiserfs file
>> system. You can point the finger all you want at the block drivers in
>> the mean time, but it's still a reiserfs problem.
>
> I still do not grok why you need to change / to !.
>
> Something is wrong. Reiserfs is being asked to do something that
> somebody else should be doing.
Splitting the block device names with / is applying file system path
name rules to the block device name, when they don't. The entire point
of this is that "cciss/whatever" refers to a single object in the block
layer, but when you apply file system rules, it becomes two. This is not
the desired interpretation, which is why we need to replace the pathname
separator in the name. ReiserFS is the component that is choosing to use
the block device name as a pathname component and is responsible for
making any translation to that usage.
- -Jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEuuzhLPWxlyuTD7IRAnH4AJ9b17T51IL+8f0TiewCKKS23H1c2wCeMF2W
/OhK0wnvQ1dql2Xd7OmocLI=
=G8iz
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2006-07-17 1:48 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <6xQ4C-6NB-43@gated-at.bofh.it>
[not found] ` <6xQea-6ZX-13@gated-at.bofh.it>
2006-07-14 16:10 ` [PATCH] reiserfs: fix handling of device names with /'s in them Bodo Eggert
2006-07-14 17:50 ` Jeff Mahoney
2006-07-16 7:12 ` Hans Reiser
2006-07-16 15:56 ` Jeffrey Mahoney
2006-07-16 18:14 ` Hans Reiser
2006-07-16 22:17 ` Jeff Mahoney
2006-07-17 1:21 ` Hans Reiser
2006-07-17 1:50 ` Jeffrey Mahoney [this message]
2006-07-17 3:02 ` Hans Reiser
2006-07-17 3:17 ` Jeffrey Mahoney
2006-07-17 7:29 ` Hans Reiser
2006-07-17 14:55 ` Jeff Mahoney
2006-07-17 18:19 ` Hans Reiser
2006-07-17 18:38 ` Jeff Mahoney
2006-07-17 19:07 ` Hans Reiser
2006-07-17 19:59 ` Jeff Mahoney
2006-07-17 21:03 ` Hans Reiser
2006-07-17 22:26 ` Rudy Zijlstra
2006-07-18 0:26 ` Horst von Brand
2006-07-18 16:38 ` Jan Engelhardt
2006-07-18 18:37 ` Pekka Enberg
2006-07-17 18:08 ` Valdis.Kletnieks
2006-07-17 18:16 ` Jeff Mahoney
2006-07-17 18:53 ` Hans Reiser
2006-07-17 19:07 ` Jeff Mahoney
2006-07-17 18:27 ` Hans Reiser
2006-07-17 19:52 ` Valdis.Kletnieks
2006-07-12 16:42 Jeff Mahoney
2006-07-12 16:57 ` Eric Dumazet
2006-07-12 17:02 ` Jeff Mahoney
2006-07-13 0:55 ` Andrew Morton
2006-07-13 3:51 ` Hans Reiser
2006-07-13 4:00 ` Andrew Morton
2006-07-13 7:34 ` Hans Reiser
2006-07-13 5:23 ` H. Peter Anvin
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=44BAECE2.8070301@suse.com \
--to=jeffm@suse.com \
--cc=7eggert@gmx.de \
--cc=akpm@osdl.org \
--cc=dada1@cosmosbay.com \
--cc=linux-kernel@vger.kernel.org \
--cc=reiser@namesys.com \
--cc=reiserfs-list@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