summaryrefslogtreecommitdiff
path: root/target/linux/pxa/patches-2.6.21/034-ramfs-mode-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/pxa/patches-2.6.21/034-ramfs-mode-support.patch')
-rw-r--r--target/linux/pxa/patches-2.6.21/034-ramfs-mode-support.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/target/linux/pxa/patches-2.6.21/034-ramfs-mode-support.patch b/target/linux/pxa/patches-2.6.21/034-ramfs-mode-support.patch
deleted file mode 100644
index 8154857..0000000
--- a/target/linux/pxa/patches-2.6.21/034-ramfs-mode-support.patch
+++ /dev/null
@@ -1,86 +0,0 @@
---- a/fs/ramfs/inode.c
-+++ b/fs/ramfs/inode.c
-@@ -33,6 +33,7 @@
- #include <linux/smp_lock.h>
- #include <linux/backing-dev.h>
- #include <linux/ramfs.h>
-+#include <linux/ctype.h>
-
- #include <asm/uaccess.h>
- #include "internal.h"
-@@ -160,10 +161,66 @@ static const struct super_operations ram
- .drop_inode = generic_delete_inode,
- };
-
-+static int ramfs_parse_options(char *options, int *mode)
-+{
-+ char *this_char, *value, *rest;
-+
-+ while (options != NULL) {
-+ this_char = options;
-+ for (;;) {
-+ /*
-+ * NUL-terminate this option: unfortunately,
-+ * mount options form a comma-separated list,
-+ * but mpol's nodelist may also contain commas.
-+ */
-+ options = strchr(options, ',');
-+ if (options == NULL)
-+ break;
-+ options++;
-+ if (!isdigit(*options)) {
-+ options[-1] = '\0';
-+ break;
-+ }
-+ }
-+ if (!*this_char)
-+ continue;
-+ if ((value = strchr(this_char,'=')) != NULL) {
-+ *value++ = 0;
-+ } else {
-+ printk(KERN_ERR
-+ "ramfs: No value for mount option '%s'\n",
-+ this_char);
-+ return 1;
-+ }
-+
-+ if (!strcmp(this_char,"mode")) {
-+ if (!mode)
-+ continue;
-+ *mode = simple_strtoul(value,&rest,8);
-+ if (*rest)
-+ goto bad_val;
-+ } else {
-+ printk(KERN_ERR "ramfs: Bad mount option %s\n",
-+ this_char);
-+ return 1;
-+ }
-+ }
-+ return 0;
-+
-+bad_val:
-+ printk(KERN_ERR "ramfs: Bad value '%s' for mount option '%s'\n",
-+ value, this_char);
-+ return 1;
-+}
-+
- static int ramfs_fill_super(struct super_block * sb, void * data, int silent)
- {
- struct inode * inode;
- struct dentry * root;
-+ int mode = 0755;
-+
-+ if (ramfs_parse_options(data, &mode))
-+ return -EINVAL;
-
- sb->s_maxbytes = MAX_LFS_FILESIZE;
- sb->s_blocksize = PAGE_CACHE_SIZE;
-@@ -171,7 +228,7 @@ static int ramfs_fill_super(struct super
- sb->s_magic = RAMFS_MAGIC;
- sb->s_op = &ramfs_ops;
- sb->s_time_gran = 1;
-- inode = ramfs_get_inode(sb, S_IFDIR | 0755, 0);
-+ inode = ramfs_get_inode(sb, S_IFDIR | mode, 0);
- if (!inode)
- return -ENOMEM;
-