[lkml]   [2009]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] ramfs: ignore tmpfs options when we emulate it
    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

    Signed-off-by: Mike Frysinger <>
    another option might be to restore the previous behavior where ramfs simply
    ignored all unknown mount options ...

    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;
    +#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;
    printk(KERN_ERR "ramfs: bad mount option: %s\n", p);
    return -EINVAL;

     \ /
      Last update: 2009-06-13 08:05    [W:0.018 / U:8.840 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site