lkml.org 
[lkml]   [2009]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] ramfs: ignore tmpfs options when we emulate it
    On Sat, Jun 13, 2009 at 10:15:51PM +0800, 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.
    >
    [snip]
    > [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>
    > Cc: stable@kernel.org
    > ---
    >
    > fs/ramfs/inode.c | 9 ++++++---
    > 1 file changed, 6 insertions(+), 3 deletions(-)
    >
    > --- 2.6.30/fs/ramfs/inode.c 2009-06-10 04:05:27.000000000 +0100
    > +++ linux/fs/ramfs/inode.c 2009-06-13 14:45:33.000000000 +0100
    > @@ -202,9 +202,12 @@ static int ramfs_parse_options(char *dat
    > return -EINVAL;
    > opts->mode = option & S_IALLUGO;
    > break;
    > - default:
    > - printk(KERN_ERR "ramfs: bad mount option: %s\n", p);
    > - return -EINVAL;
    > + /*
    > + * We might like to report bad mount options here;
    > + * but traditionally ramfs has ignored all mount options,
    > + * and as it is used as a !CONFIG_SHMEM simple substitute
    > + * for tmpfs, better continue to ignore other mount options.
    > + */
    > }
    > }
    >

    Acked-by: Wu Fengguang <fengguang.wu@intel.com>


    \
     
     \ /
      Last update: 2009-06-14 14:19    [W:8.589 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site