public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ramfs: ignore tmpfs options when we emulate it
@ 2009-06-13  6:02 Mike Frysinger
  2009-06-13 14:15 ` Hugh Dickins
  0 siblings, 1 reply; 19+ messages in thread
From: Mike Frysinger @ 2009-06-13  6:02 UTC (permalink / raw)
  To: linux-kernel

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 <vapier@gentoo.org>
---
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;
 			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


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2009-06-14 21:57 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox