diff --git a/features/aufs/aufs-import-aufs-3.x.patch b/features/aufs/aufs-import-aufs-3.x.patch index 05efb9a1ccefcde02e4c3df84d9a67cf1cf785a5..07e7bac443735063fbbec2e367639c549949650b 100644 --- a/features/aufs/aufs-import-aufs-3.x.patch +++ b/features/aufs/aufs-import-aufs-3.x.patch @@ -1,4 +1,4 @@ -From 85b6f34614e5af493c9faa9512beac35d3e1df51 Mon Sep 17 00:00:00 2001 +From 775a7316e5de64745792bea489e60d01d8ccbc63 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Fri, 7 Sep 2012 15:12:38 -0400 Subject: [PATCH] aufs: import aufs 3.x @@ -102,7 +102,7 @@ Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> fs/proc/nommu.c | 4 + fs/proc/task_mmu.c | 6 + fs/proc/task_nommu.c | 4 + - fs/splice.c | 2 + + fs/splice.c | 14 +- include/linux/Kbuild | 1 + include/linux/aufs_type.h | 233 +++ include/linux/fs.h | 1 + @@ -115,7 +115,7 @@ Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> security/commoncap.c | 2 + security/device_cgroup.c | 2 + security/security.c | 10 + - 106 files changed, 29876 insertions(+), 1 deletions(-) + 106 files changed, 29882 insertions(+), 7 deletions(-) create mode 100644 Documentation/ABI/testing/debugfs-aufs create mode 100644 Documentation/ABI/testing/sysfs-aufs create mode 100644 Documentation/filesystems/aufs/README @@ -1608,10 +1608,10 @@ index 0000000..1b5a7260 +/new. +Otherwise from /new. diff --git a/fs/Kconfig b/fs/Kconfig -index 37c50ff..1ef46cf 100644 +index f19f343..b9e0fa0 100644 --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -222,6 +222,7 @@ source "fs/pstore/Kconfig" +@@ -221,6 +221,7 @@ source "fs/pstore/Kconfig" source "fs/sysv/Kconfig" source "fs/ufs/Kconfig" source "fs/exofs/Kconfig" @@ -1620,10 +1620,10 @@ index 37c50ff..1ef46cf 100644 endif # MISC_FILESYSTEMS diff --git a/fs/Makefile b/fs/Makefile -index d094e94..73b9b8c 100644 +index 79b94eb..72d4adc 100644 --- a/fs/Makefile +++ b/fs/Makefile -@@ -127,3 +127,4 @@ obj-y += exofs/ # Multiple modules +@@ -126,3 +126,4 @@ obj-y += exofs/ # Multiple modules obj-$(CONFIG_CEPH_FS) += ceph/ obj-$(CONFIG_PSTORE) += pstore/ obj-$(CONFIG_YAFFS_FS) += yaffs2/ @@ -30476,25 +30476,60 @@ index 1ccfa53..c39acb5 100644 ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; diff --git a/fs/splice.c b/fs/splice.c -index aae192a..2e651e6 100644 +index 41514dd..e083432 100644 --- a/fs/splice.c +++ b/fs/splice.c -@@ -1087,6 +1087,7 @@ ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, struct file *out, +@@ -1087,14 +1087,13 @@ ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, struct file *out, { return splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_sendpage); } +- + EXPORT_SYMBOL(generic_splice_sendpage); + + /* + * Attempt to initiate a splice from pipe to file. + */ +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +- loff_t *ppos, size_t len, unsigned int flags) ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags) + { + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, + loff_t *, size_t, unsigned int); +@@ -1117,13 +1116,14 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + + return splice_write(pipe, out, ppos, len, flags); + } +EXPORT_SYMBOL(do_splice_from); - EXPORT_SYMBOL(generic_splice_sendpage); + /* + * Attempt to initiate a splice from a file to a pipe. + */ +-static long do_splice_to(struct file *in, loff_t *ppos, +- struct pipe_inode_info *pipe, size_t len, +- unsigned int flags) ++long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags) + { + ssize_t (*splice_read)(struct file *, loff_t *, + struct pipe_inode_info *, size_t, unsigned int); +@@ -1143,6 +1143,7 @@ static long do_splice_to(struct file *in, loff_t *ppos, -@@ -1276,6 +1277,7 @@ static int direct_splice_actor(struct pipe_inode_info *pipe, - return vfs_splice_from(pipe, file, &file->f_pos, sd->total_len, - sd->flags); + return splice_read(in, ppos, pipe, len, flags); } +EXPORT_SYMBOL(do_splice_to); + /** + * splice_direct_to_actor - splices data directly between two non-pipes +@@ -1275,6 +1276,7 @@ static int direct_splice_actor(struct pipe_inode_info *pipe, + sd->flags); + } + ++ /** * do_splice_direct - splices data directly between two files + * @in: file to splice from diff --git a/include/linux/Kbuild b/include/linux/Kbuild index fa21760..ee029e3 100644 --- a/include/linux/Kbuild @@ -30779,19 +30814,19 @@ index bf78672..cac65b6 100644 #ifndef CONFIG_MMU diff --git a/include/linux/splice.h b/include/linux/splice.h -index ebe231a..486d467 100644 +index 09a545a..5b1bb98 100644 --- a/include/linux/splice.h +++ b/include/linux/splice.h -@@ -96,4 +96,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); +@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); extern void spd_release_page(struct splice_pipe_desc *, unsigned int); extern const struct pipe_buf_operations page_cache_pipe_buf_ops; + -+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, -+ loff_t *ppos, size_t len, unsigned int flags); -+extern long do_splice_to(struct file *in, loff_t *ppos, -+ struct pipe_inode_info *pipe, size_t len, -+ unsigned int flags); ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags); ++long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags); #endif diff --git a/kernel/fork.c b/kernel/fork.c index 2c8857e..3709356 100644 @@ -30950,7 +30985,7 @@ index 442204c..e644a1c 100644 int devcgroup_inode_mknod(int mode, dev_t dev) { diff --git a/security/security.c b/security/security.c -index efe2b05..af0a81b 100644 +index 860aeb3..e4cce2b 100644 --- a/security/security.c +++ b/security/security.c @@ -384,6 +384,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) @@ -31017,7 +31052,7 @@ index efe2b05..af0a81b 100644 int security_inode_permission(struct inode *inode, int mask) { -@@ -646,6 +654,7 @@ int security_file_permission(struct file *file, int mask) +@@ -645,6 +653,7 @@ int security_file_permission(struct file *file, int mask) return fsnotify_perm(file, mask); } @@ -31025,7 +31060,7 @@ index efe2b05..af0a81b 100644 int security_file_alloc(struct file *file) { -@@ -706,6 +715,7 @@ int security_mmap_file(struct file *file, unsigned long prot, +@@ -705,6 +714,7 @@ int security_mmap_file(struct file *file, unsigned long prot, return ret; return ima_file_mmap(file, prot); } diff --git a/features/vfat/FAT-Added-FAT_NO_83NAME.patch b/features/vfat/FAT-Added-FAT_NO_83NAME.patch index b24b912d379cf17c9bf6e5f50b41bf57f05c24d6..2e49544ac5858d1102c57065c1988d1769cba859 100644 --- a/features/vfat/FAT-Added-FAT_NO_83NAME.patch +++ b/features/vfat/FAT-Added-FAT_NO_83NAME.patch @@ -1,7 +1,7 @@ -From da16ce3a6f2e32253b2b8d0fc1164c13ddc2730a Mon Sep 17 00:00:00 2001 +From 2fa9e7a7528b6e2b765daaab6e76c0f3162f169d Mon Sep 17 00:00:00 2001 From: Andrew Tridgell <tridge@samba.org> Date: Thu, 16 Jul 2009 12:47:15 +1000 -Subject: [PATCH 3/3] FAT: Added FAT_NO_83NAME +Subject: [PATCH] FAT: Added FAT_NO_83NAME This patch adds a new flag field 'FAT_NO_83NAME' for FAT files. When this flag is set on an 8.3 FAT entry, both the MSDOS and VFAT @@ -10,27 +10,39 @@ inaccessible. For VFAT it makes the file only accessible by the long filename. Signed-off-by: Andrew Tridgell <tridge@samba.org> +--- + fs/fat/dir.c | 17 ++++++++++++++++- + include/linux/msdos_fs.h | 1 + + 2 files changed, 17 insertions(+), 1 deletions(-) + diff --git a/fs/fat/dir.c b/fs/fat/dir.c -index dc49ed2..43ffba1 100644 +index dc49ed2..99ce0d0 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c -@@ -368,7 +368,15 @@ static int fat_parse_short(struct super_block *sb, +@@ -368,7 +368,8 @@ static int fat_parse_short(struct super_block *sb, dotoffset = 1; } - memcpy(work, de->name, sizeof(work)); -+ /* -+ * The FAT_NO_83NAME flag is used to mark files -+ * created with no 8.3 short name -+ */ -+ if (de->lcase & FAT_NO_83NAME) -+ goto compare_longname; -+ + memcpy(work, de->name, sizeof(de->name)); + /* see namei.c, msdos_format_name */ if (work[0] == 0x05) work[0] = 0xE5; +@@ -499,6 +500,13 @@ parse_record: + goto end_of_dir; + } + ++ /* ++ * The FAT_NO_83NAME flag is used to mark files ++ * created with no 8.3 short name ++ */ ++ if (de->lcase & FAT_NO_83NAME) ++ goto compare_longname; ++ + /* Never prepend '.' to hidden files here. + * That is done only for msdos mounts (and only when + * 'dotsOK=yes'); if we are executing here, it is in the @@ -512,6 +520,7 @@ parse_record: if (fat_name_match(sbi, name, name_len, bufname, len)) goto found; @@ -71,3 +83,6 @@ index 11cc2ac..0e3c229 100644 #define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */ #define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG) +-- +1.7.5.4 + diff --git a/ktypes/standard/standard-nocfg.scc b/ktypes/standard/standard-nocfg.scc index 4e857262c5b48add943eb0037efd80b07a1d4012..fecea52a43eaac6f08f18ca3c91456b3b9628be9 100644 --- a/ktypes/standard/standard-nocfg.scc +++ b/ktypes/standard/standard-nocfg.scc @@ -47,7 +47,7 @@ include patches/patches.scc include features/initramfs/initramfs.scc include features/yaffs2/yaffs2.scc -include features/unionfs/unionfs.scc +include features/aufs/aufs.scc # update / "is it useful" pending #include features/bsdjail/bsdjail diff --git a/patches/boot/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch b/patches/boot/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch index abad650d4a150f58c16e7f96b12bce5570779b83..f85bee268bf27bc1e5fa39dad18359d2ac3d11f8 100644 --- a/patches/boot/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch +++ b/patches/boot/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch @@ -1,4 +1,4 @@ -From c101a9affebb4273a6a4154788ba88d7e0080b49 Mon Sep 17 00:00:00 2001 +From 0d4c28fa31bf368cd30b0907cacf739b885c668c Mon Sep 17 00:00:00 2001 From: Jason Wessel <jason.wessel@windriver.com> Date: Wed, 7 Jan 2009 00:59:33 -0500 Subject: [PATCH] NFS: allow nfs root mount to use alternate rpc ports @@ -8,26 +8,28 @@ Allow an nfs root mount to use alternate RPC ports for mountd and nfsd. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> [forward port to 2.6.33+] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +--- + fs/nfs/client.c | 12 ++++++++++-- + fs/nfs/internal.h | 7 +++++-- + fs/nfs/mount_clnt.c | 7 ++++--- + fs/nfs/super.c | 33 ++++++++++++++++++++++++++++++++- + include/linux/nfs_fs_sb.h | 3 +++ + include/linux/nfs_mount.h | 4 +++- + 6 files changed, 57 insertions(+), 9 deletions(-) + diff --git a/fs/nfs/client.c b/fs/nfs/client.c -index 9969444..0742c9e 100644 +index 9969444..f95789b 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c -@@ -7,7 +7,14 @@ - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version +@@ -9,7 +9,6 @@ * 2 of the License, or (at your option) any later version. -+<<<<<<< */ -+||||||| -+}; -+======= -+ int nfs_prog; -+}; -+>>>>>>> - +- #include <linux/module.h> -@@ -70,7 +77,7 @@ static const struct rpc_version *nfs_version[5] = { + #include <linux/init.h> + #include <linux/sched.h> +@@ -70,7 +69,7 @@ static const struct rpc_version *nfs_version[5] = { [4] = NULL, }; @@ -36,7 +38,7 @@ index 9969444..0742c9e 100644 .name = "nfs", .number = NFS_PROGRAM, .nrvers = ARRAY_SIZE(nfs_version), -@@ -161,6 +168,7 @@ struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_init) +@@ -161,6 +160,7 @@ struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_init) try_module_get(clp->cl_nfs_mod->owner); clp->rpc_ops = clp->cl_nfs_mod->rpc_ops; @@ -44,7 +46,7 @@ index 9969444..0742c9e 100644 atomic_set(&clp->cl_count, 1); clp->cl_cons_state = NFS_CS_INITING; -@@ -419,6 +427,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat +@@ -419,6 +419,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat /* Match nfsv4 minorversion */ if (clp->cl_minorversion != data->minorversion) continue; @@ -54,7 +56,7 @@ index 9969444..0742c9e 100644 /* Match the full socket address */ if (!nfs_sockaddr_cmp(sap, clap)) continue; -@@ -597,6 +608,10 @@ int nfs_create_rpc_client(struct nfs_client *clp, +@@ -597,6 +600,10 @@ int nfs_create_rpc_client(struct nfs_client *clp, if (!IS_ERR(clp->cl_rpcclient)) return 0; @@ -65,7 +67,7 @@ index 9969444..0742c9e 100644 clnt = rpc_create(&args); if (IS_ERR(clnt)) { dprintk("%s: cannot create RPC client. Error = %ld\n", -@@ -750,6 +765,7 @@ static int nfs_init_server(struct nfs_server *server, +@@ -750,6 +757,7 @@ static int nfs_init_server(struct nfs_server *server, .nfs_mod = nfs_mod, .proto = data->nfs_server.protocol, .net = data->net, @@ -284,3 +286,6 @@ index 576bddd..9541d71 100644 }; /* bits in the flags field visible to user space */ +-- +1.7.5.4 +