From: Matt Mackall <mpm@selenic.com>
To: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Cc: Mike Frysinger <vapier@gentoo.org>,
Andrew Morton <akpm@linux-foundation.org>,
Wu Fengguang <fengguang.wu@intel.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ramfs: ignore tmpfs options when we emulate it
Date: Sat, 13 Jun 2009 13:51:25 -0500 [thread overview]
Message-ID: <1244919085.4496.192.camel@calx> (raw)
In-Reply-To: <Pine.LNX.4.64.0906131456090.5069@sister.anvils>
On Sat, 2009-06-13 at 15:15 +0100, Hugh Dickins wrote:
> On Sat, 13 Jun 2009, Mike Frysinger wrote:
>
> > On systems where CONFIG_SHMEM is disabled, mounting tmpfs filesystems can
> > fail when tmpfs options are used. This is because tmpfs creates a small
> > wrapper around ramfs which rejects unknown options, and ramfs itself only
> > supports a tiny subset of what tmpfs supports. This makes it pretty hard
> > to use the same userspace systems across different configuration systems.
> > As such, ramfs should ignore the tmpfs options when tmpfs is merely a
> > wrapper around ramfs.
>
> Yes, indeed, thanks a lot for reporting this.
>
> But I'm uneasy with making ramfs behaviour differ with CONFIG_SHMEM
> (perhaps that's silly: certainly tmpfs behaviour differs with it),
> and uneasy with coding a list of options we need to remember to keep
> in synch with mm/shmem.c. It's easier to justify ignoring all options,
> than rejecting some while ignoring others yet not respecting them.
>
> >
> > This used to work before commit c3b1b1cbf0 as previously, ramfs would
> > ignore all options. But now, we get:
> > ramfs: bad mount option: size=10M
> > mount: mounting mdev on /dev failed: Invalid argument
>
> I rather think the correct response to bugzilla #12843 should have
> been to say, either use chmod 1777 yourself, or use CONFIG_SHMEM=y.
> I fear we'll now get a line of requests for support of uid, gid, ...
> in ramfs; whereas ramfs is about blind simplicity, not feature bloat.
> However, that mode= feature is now in, so I guess we ride with it.
Ugh, hadn't noticed that go by.
> >
> > Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> > ---
> > another option might be to restore the previous behavior where ramfs simply
> > ignored all unknown mount options ...
>
> Yes, that would be my preference, return to the blind simplicity, with
> that one exception for mode=. Alternative patch suggested at the bottom,
> let's see if Cc's added feel strongly about it one way or another.
> Thanks,
> Hugh
>
> >
> > fs/ramfs/inode.c | 10 ++++++++++
> > 1 files changed, 10 insertions(+), 0 deletions(-)
> >
> > diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
> > index 3a6b193..57a797c 100644
> > --- a/fs/ramfs/inode.c
> > +++ b/fs/ramfs/inode.c
> > @@ -203,6 +203,16 @@ static int ramfs_parse_options(char *data, struct ramfs_mount_opts *opts)
> > opts->mode = option & S_IALLUGO;
> > break;
> > default:
> > +#ifndef CONFIG_SHMEM
> > + /* If tmpfs is using us to emulate it, ignore its options */
> > + if (!strncmp(p, "gid=", 4) ||
> > + !strncmp(p, "mpol=", 5) ||
> > + !strncmp(p, "nr_blocks=", 10) ||
> > + !strncmp(p, "nr_inodes=", 10) ||
> > + !strncmp(p, "size=", 5) ||
> > + !strncmp(p, "uid=", 4))
> > + continue;
> > +#endif
> > printk(KERN_ERR "ramfs: bad mount option: %s\n", p);
> > return -EINVAL;
> > }
> > --
> > 1.6.3.1
>
> [PATCH] ramfs: ignore unknown mount options
>
> From: Mike Frysinger <vapier@gentoo.org>
>
> On systems where CONFIG_SHMEM is disabled, mounting tmpfs filesystems can
> fail when tmpfs options are used. This is because tmpfs creates a small
> wrapper around ramfs which rejects unknown options, and ramfs itself only
> supports a tiny subset of what tmpfs supports. This makes it pretty hard
> to use the same userspace systems across different configuration systems.
> As such, ramfs should ignore the tmpfs options when tmpfs is merely a
> wrapper around ramfs.
>
> This used to work before commit c3b1b1cbf0 as previously, ramfs would
> ignore all options. But now, we get:
> ramfs: bad mount option: size=10M
> mount: mounting mdev on /dev failed: Invalid argument
>
> Another option might be to restore the previous behavior, where ramfs
> simply ignored all unknown mount options ... which is what Hugh prefers.
>
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Acked-by: Matt Mackall <mpm@selenic.com>
--
http://selenic.com : development and support for Mercurial and Linux
next prev parent reply other threads:[~2009-06-13 18:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-13 6:02 [PATCH] ramfs: ignore tmpfs options when we emulate it Mike Frysinger
2009-06-13 14:15 ` Hugh Dickins
2009-06-13 14:20 ` Mike Frysinger
2009-06-13 18:51 ` Matt Mackall [this message]
2009-06-14 10:01 ` Wu Fengguang
2009-06-14 10:20 ` Mike Frysinger
2009-06-14 10:43 ` Wu Fengguang
2009-06-14 10:39 ` Hugh Dickins
2009-06-14 10:48 ` Wu Fengguang
2009-06-14 16:00 ` Matt Mackall
2009-06-14 21:56 ` [PATCH] ramfs: ignore unknown mount options Hugh Dickins
2009-06-14 10:42 ` [PATCH] ramfs: ignore tmpfs options when we emulate it Wu Fengguang
2009-06-14 10:46 ` Mike Frysinger
2009-06-14 11:14 ` Wu Fengguang
2009-06-14 11:26 ` Mike Frysinger
2009-06-14 11:49 ` Wu Fengguang
2009-06-14 11:58 ` Mike Frysinger
2009-06-14 12:14 ` Wu Fengguang
2009-06-14 12:16 ` Wu Fengguang
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=1244919085.4496.192.camel@calx \
--to=mpm@selenic.com \
--cc=akpm@linux-foundation.org \
--cc=fengguang.wu@intel.com \
--cc=hugh.dickins@tiscali.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=vapier@gentoo.org \
/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.