mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@turbolinux.com>
To: Matthew Wilcox <matthew@wil.cx>
Cc: Andreas Dilger <adilger@turbolinux.com>,
	Alexander Viro <viro@math.psu.edu>,
	Linux kernel development list <linux-kernel@vger.kernel.org>,
	Linux FS development list <linux-fsdevel@vger.kernel.org>
Subject: Re: (struct dentry *)->vfsmnt;
Date: Wed, 14 Mar 2001 11:06:20 -0700 (MST)	[thread overview]
Message-ID: <200103141806.f2EI6K209984@webber.adilger.int> (raw)
In-Reply-To: <20010314174031.A12200@parcelfarce.linux.theplanet.co.uk> from Matthew Wilcox at "Mar 14, 2001 05:40:31 pm"

You write:
> > For the same reason that the UUID and LABEL are stored in the superblock:
> > you want this infomation kept with the filesystem and not anywhere else,
> > otherwise it will quickly get out-of-date.  Wherever you mounted the
> > filesystem last is where it would be mounted if you import the VG on
> > another system.  You can obviously edit /etc/fstab afterwards if it is
> > wrong, and then remount the filesystem(s), and this will store the
> > correct mountpoint into the filesystem for the next vgimport.
> 
> Al is saying `why not do this in mount(8) instead of mount(2)?'  I haven't
> seen you answer that yet.

Because this is totally filesystem specific - why put extra knowledge
of filesystem internals into mount?  I personally don't want it writing
into the ext2 or ext3 superblock.  How can it possibly know what to do,
without embedding a lot of knowledge there?  Yes, mount(8) can _read_
the UUID and LABEL for ext2 filesystems, but I would rather not have it
_write_ into the superblock.  Also, InterMezzo and SnapFS have the same
on-disk format as ext2, but would mount(8) know that?

There are other filesystems (at least IBM JFS) that could also take
advantage of this feature, should we make mount(8) have code for each
and every filesystem?  Yuck.  Sort of ruins the whole modularity thing.
Yes, I know mount(8) does funny stuff for SMB and NFS, but that is a
reason to _not_ put more filesystem-specific information into mount(8).

Actually, one more reason to have this in the kernel is for InterMezzo
(distributed filesystem which uses ext3 for on-disk storage).  Currently,
the mount point is passed as a mount parameter (yuck) because it is
needed internally to the InterMezzo kernel code.  If the filesystem
could extract this information at mount time, it would remove the need
for the mount parameter.

The benefit of doing all of this in *_read_super() (probably would be in
ext2_setup_super() for ext2) is that filesystems which can use this feature
will do so, and others will not.  It is a matter of a single "d_path()"
call at mount (or remount for R/O mounted filesystems), so it is not like
it's going to slow down the system a lot.

Cheers, Andreas
-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert

  reply	other threads:[~2001-03-14 18:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-09 23:20 LA Walsh
2001-03-10  1:00 ` Alexander Viro
2001-03-10  1:56   ` LA Walsh
2001-03-10  2:42     ` Alexander Viro
2001-03-14  1:28       ` Andreas Dilger
2001-03-14  2:32         ` Alexander Viro
2001-03-14  4:27           ` Andreas Dilger
2001-03-14  5:11             ` Alexander Viro
2001-03-14  5:19               ` Andreas Dilger
2001-03-14  5:49                 ` Alexander Viro
2001-03-14  6:05                   ` Andreas Dilger
2001-03-14  6:50                     ` Alexander Viro
2001-03-14 17:26                       ` Andreas Dilger
2001-03-14 17:40                         ` Matthew Wilcox
2001-03-14 18:06                           ` Andreas Dilger [this message]
2001-03-14 18:11                         ` Alexander Viro
2001-03-14 19:14                           ` Andreas Dilger
2001-03-14 19:32                             ` Alexander Viro
2001-03-14 20:21                               ` Ragnar Kjørstad
2001-03-14 19:31                         ` Dave Kleikamp
2001-03-14 19:45                           ` Andreas Dilger
2001-03-14 19:51                             ` Alexander Viro
2001-03-14 19:57                             ` Dave Kleikamp
2001-03-14 21:07                               ` Andreas Dilger
2001-03-15 12:21 bsuparna
2001-03-15 12:59 bsuparna

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=200103141806.f2EI6K209984@webber.adilger.int \
    --to=adilger@turbolinux.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --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®