[packages/kernel] - updated overlayfs and vserver patches for 3.14

baggins baggins at pld-linux.org
Thu Apr 24 21:09:43 CEST 2014


commit f15949f24e2969289ea53ceb8ab1e3cd3addddf7
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Thu Apr 24 21:07:14 2014 +0200

    - updated overlayfs and vserver patches for 3.14

 kernel-vserver-2.3.patch             | 75 ++++++++++--------------------------
 ovl01-vfs-add-i_op-dentry_open.patch |  2 +-
 2 files changed, 21 insertions(+), 56 deletions(-)
---
diff --git a/kernel-vserver-2.3.patch b/kernel-vserver-2.3.patch
index ad79292..81b74fd 100644
--- a/kernel-vserver-2.3.patch
+++ b/kernel-vserver-2.3.patch
@@ -1111,18 +1111,6 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/vroot.c linux-3.13.10-vs2.3.6.
 +
 +#endif
 +
-diff -NurpP --minimal linux-3.13.10/drivers/infiniband/Kconfig linux-3.13.10-vs2.3.6.11/drivers/infiniband/Kconfig
---- linux-3.13.10/drivers/infiniband/Kconfig	2014-01-22 20:38:35.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/infiniband/Kconfig	2014-01-31 20:38:03.000000000 +0000
-@@ -39,7 +39,7 @@ config INFINIBAND_USER_MEM
- config INFINIBAND_ADDR_TRANS
- 	bool
- 	depends on INET
--	depends on !(INFINIBAND = y && IPV6 = m)
-+	depends on !(INFINIBAND = y && IPV6 = y)
- 	default y
- 
- source "drivers/infiniband/hw/mthca/Kconfig"
 diff -NurpP --minimal linux-3.13.10/drivers/infiniband/core/addr.c linux-3.13.10-vs2.3.6.11/drivers/infiniband/core/addr.c
 --- linux-3.13.10/drivers/infiniband/core/addr.c	2013-11-25 15:44:35.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/drivers/infiniband/core/addr.c	2014-01-31 20:38:03.000000000 +0000
@@ -1665,12 +1653,13 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
  	btrfs_set_token_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size,
  				   &token);
  	btrfs_set_token_inode_mode(leaf, item, inode->i_mode, &token);
-@@ -8652,12 +8669,15 @@ static const struct inode_operations btr
+@@ -8652,14 +8669,17 @@ static const struct inode_operations btr
  	.listxattr	= btrfs_listxattr,
  	.removexattr	= btrfs_removexattr,
  	.permission	= btrfs_permission,
 +	.sync_flags	= btrfs_sync_flags,
  	.get_acl	= btrfs_get_acl,
+ 	.set_acl	= btrfs_set_acl,
  	.update_time	= btrfs_update_time,
  };
 +
@@ -1679,6 +1668,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
  	.permission	= btrfs_permission,
 +	.sync_flags	= btrfs_sync_flags,
  	.get_acl	= btrfs_get_acl,
+ 	.set_acl	= btrfs_set_acl,
  	.update_time	= btrfs_update_time,
  };
 @@ -8727,6 +8747,7 @@ static const struct inode_operations btr
@@ -1867,9 +1857,9 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/super.c linux-3.13.10-vs2.3.6.11/fs
 --- linux-3.13.10/fs/btrfs/super.c	2014-01-22 20:39:05.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/fs/btrfs/super.c	2014-01-31 23:58:08.000000000 +0000
 @@ -323,7 +323,7 @@ enum {
- 	Opt_check_integrity, Opt_check_integrity_including_extent_data,
- 	Opt_check_integrity_print_mask, Opt_fatal_errors, Opt_rescan_uuid_tree,
- 	Opt_commit_interval,
+ 	Opt_commit_interval, Opt_barrier, Opt_nodefrag, Opt_nodiscard,
+ 	Opt_noenospc_debug, Opt_noflushoncommit, Opt_acl, Opt_datacow,
+ 	Opt_datasum, Opt_treelog, Opt_noinode_cache,
 -	Opt_err,
 +	Opt_tag, Opt_notag, Opt_tagid, Opt_err,
  };
@@ -5455,7 +5445,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs4xdr.c linux-3.13.10-vs2.3.6.11/f
  
  #include "idmap.h"
  #include "acl.h"
-@@ -2430,14 +2431,18 @@ out_acl:
+@@ -2430,10 +2431,14 @@ out_acl:
  		WRITE32(stat.nlink);
  	}
  	if (bmval1 & FATTR4_WORD1_OWNER) {
@@ -5463,8 +5453,6 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs4xdr.c linux-3.13.10-vs2.3.6.11/f
 +		status = nfsd4_encode_user(rqstp,
 +			TAGINO_KUID(DX_TAG(dentry->d_inode),
 +			stat.uid, stat.tag), &p, &buflen);
- 		if (status == nfserr_resource)
- 			goto out_resource;
  		if (status)
  			goto out;
  	}
@@ -5473,9 +5461,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs4xdr.c linux-3.13.10-vs2.3.6.11/f
 +		status = nfsd4_encode_group(rqstp,
 +			TAGINO_KGID(DX_TAG(dentry->d_inode),
 +			stat.gid, stat.tag), &p, &buflen);
- 		if (status == nfserr_resource)
- 			goto out_resource;
  		if (status)
+ 			goto out;
+ 	}
 diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfsxdr.c linux-3.13.10-vs2.3.6.11/fs/nfsd/nfsxdr.c
 --- linux-3.13.10/fs/nfsd/nfsxdr.c	2013-05-31 13:45:24.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/fs/nfsd/nfsxdr.c	2014-01-31 20:38:03.000000000 +0000
@@ -6845,16 +6833,16 @@ diff -NurpP --minimal linux-3.13.10/fs/super.c linux-3.13.10-vs2.3.6.11/fs/super
  	error = security_sb_kern_mount(sb, flags, secdata);
  	if (error)
  		goto out_sb;
-diff -NurpP --minimal linux-3.13.10/fs/sysfs/mount.c linux-3.13.10-vs2.3.6.11/fs/sysfs/mount.c
---- linux-3.13.10/fs/sysfs/mount.c	2013-11-25 15:47:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/sysfs/mount.c	2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.13.10/fs/kernfs/mount.c linux-3.13.10-vs2.3.6.11/fs/kernfs/mount.c
+--- linux-3.13.10/fs/kernfs/mount.c	2013-11-25 15:47:00.000000000 +0000
++++ linux-3.13.10-vs2.3.6.11/fs/kernfs/mount.c	2014-01-31 20:38:03.000000000 +0000
 @@ -48,7 +48,7 @@ static int sysfs_fill_super(struct super
  
  	sb->s_blocksize = PAGE_CACHE_SIZE;
  	sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
 -	sb->s_magic = SYSFS_MAGIC;
 +	sb->s_magic = SYSFS_SUPER_MAGIC;
- 	sb->s_op = &sysfs_ops;
+ 	sb->s_op = &kernfs_sops;
  	sb->s_time_gran = 1;
  
 diff -NurpP --minimal linux-3.13.10/fs/utimes.c linux-3.13.10-vs2.3.6.11/fs/utimes.c
@@ -7479,7 +7467,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  
  static inline uid_t __kuid_val(kuid_t uid)
  {
-@@ -41,10 +45,16 @@ static inline gid_t __kgid_val(kgid_t gi
+@@ -41,11 +45,18 @@ static inline gid_t __kgid_val(kgid_t gi
  	return gid.val;
  }
  
@@ -7488,29 +7476,6 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
 +	return tag.val;
 +}
 +
- #else
- 
- typedef uid_t kuid_t;
- typedef gid_t kgid_t;
-+typedef vtag_t ktag_t;
- 
- static inline uid_t __kuid_val(kuid_t uid)
- {
-@@ -56,16 +66,24 @@ static inline gid_t __kgid_val(kgid_t gi
- 	return gid;
- }
- 
-+static inline vtag_t __ktag_val(ktag_t tag)
-+{
-+	return tag;
-+}
-+
- #define KUIDT_INIT(value) ((kuid_t) value )
- #define KGIDT_INIT(value) ((kgid_t) value )
-+#define KTAGT_INIT(value) ((ktag_t) value )
- 
- #endif
- 
  #define GLOBAL_ROOT_UID KUIDT_INIT(0)
  #define GLOBAL_ROOT_GID KGIDT_INIT(0)
 +#define GLOBAL_ROOT_TAG KTAGT_INIT(0)
@@ -11746,7 +11711,7 @@ diff -NurpP --minimal linux-3.13.10/include/net/route.h linux-3.13.10-vs2.3.6.11
 +	struct nx_info *nx_info = current_nx_info();
  
  	ip_route_connect_init(fl4, dst, src, tos, oif, protocol,
- 			      sport, dport, sk, can_sleep);
+ 			      sport, dport, sk);
  
 -	if (!dst || !src) {
 +	if (sk)
@@ -12987,21 +12952,21 @@ diff -NurpP --minimal linux-3.13.10/init/Kconfig linux-3.13.10-vs2.3.6.11/init/K
 --- linux-3.13.10/init/Kconfig	2014-04-17 01:12:39.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/init/Kconfig	2014-04-17 01:17:11.000000000 +0000
 @@ -855,6 +855,7 @@ config NUMA_BALANCING
+ 
  menuconfig CGROUPS
  	boolean "Control Group support"
- 	depends on EVENTFD
 +	default y
  	help
  	  This option adds support for grouping sets of processes together, for
  	  use with process control subsystems such as Cpusets, CFS, memory
 @@ -1117,6 +1118,7 @@ config IPC_NS
+ 
  config USER_NS
  	bool "User namespace"
- 	select UIDGID_STRICT_TYPE_CHECKS
 +	depends on VSERVER_DISABLED
- 
  	default n
  	help
+ 	  This allows containers, i.e. vservers, to use user namespaces
 diff -NurpP --minimal linux-3.13.10/init/main.c linux-3.13.10-vs2.3.6.11/init/main.c
 --- linux-3.13.10/init/main.c	2014-01-22 20:39:12.000000000 +0000
 +++ linux-3.13.10-vs2.3.6.11/init/main.c	2014-01-31 20:38:03.000000000 +0000
@@ -24718,9 +24683,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/tcp_ipv6.c linux-3.13.10-vs2.3.6.11
  	 *	connect() to INADDR_ANY means loopback (BSD'ism).
  	 */
  
--	if(ipv6_addr_any(&usin->sin6_addr))
+-	if (ipv6_addr_any(&usin->sin6_addr))
 -		usin->sin6_addr.s6_addr[15] = 0x1;
-+	if(ipv6_addr_any(&usin->sin6_addr)) {
++	if (ipv6_addr_any(&usin->sin6_addr)) {
 +		struct nx_info *nxi =  sk->sk_nx_info;
 +
 +		if (nxi && nx_info_has_v6(nxi))
diff --git a/ovl01-vfs-add-i_op-dentry_open.patch b/ovl01-vfs-add-i_op-dentry_open.patch
index 022b944..fc28489 100644
--- a/ovl01-vfs-add-i_op-dentry_open.patch
+++ b/ovl01-vfs-add-i_op-dentry_open.patch
@@ -117,9 +117,9 @@ Signed-off-by: Miklos Szeredi <mszeredi at suse.cz>
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
 @@ -1585,6 +1585,7 @@ struct inode_operations {
- 			   struct file *, unsigned open_flag,
  			   umode_t create_mode, int *opened);
  	int (*tmpfile) (struct inode *, struct dentry *, umode_t);
+ 	int (*set_acl)(struct inode *, struct posix_acl *, int);
 +	int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
  } ____cacheline_aligned;
  
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/7ea8ea5f8677c8be26856ec7d92308f45b577d21



More information about the pld-cvs-commit mailing list