[kernel] r14739 - in dists/trunk/linux-2.6/debian: . patches/bugfix/all patches/features/all/aufs2 patches/series

Ben Hutchings benh at alioth.debian.org
Sun Dec 6 16:11:27 UTC 2009


Author: benh
Date: Sun Dec  6 16:11:08 2009
New Revision: 14739

Log:
aufs2: Update to snapshot from 2009-11-29

Deleted:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/aufs2-remove-incorrect-static-assertion.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch
   dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch
   dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch
   dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch
   dists/trunk/linux-2.6/debian/patches/series/base

Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	Sat Dec  5 15:38:45 2009	(r14738)
+++ dists/trunk/linux-2.6/debian/changelog	Sun Dec  6 16:11:08 2009	(r14739)
@@ -41,6 +41,7 @@
     case they are also buggy
   * usbnet: Set link down initially for drivers that update link state
     (Closes: #444043)
+  * aufs2: Update to snapshot from 2009-11-29
 
   [ dann frazier ]
   * mac80211 (CVE-2009-4026, CVE-2009-4027):

Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch	Sat Dec  5 15:38:45 2009	(r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch	Sun Dec  6 16:11:08 2009	(r14739)
@@ -242,10 +242,10 @@
 +#endif /* __AUFS_H__ */
 diff --git a/fs/aufs/branch.c b/fs/aufs/branch.c
 new file mode 100644
-index 0000000..102786d
+index 0000000..bb7ad86
 --- /dev/null
 +++ b/fs/aufs/branch.c
-@@ -0,0 +1,970 @@
+@@ -0,0 +1,988 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -269,6 +269,7 @@
 + */
 +
 +#include <linux/file.h>
++#include <linux/statfs.h>
 +#include "aufs.h"
 +
 +/*
@@ -544,7 +545,9 @@
 +		       int perm, struct path *path)
 +{
 +	int err;
++	struct kstatfs kst;
 +	struct au_wbr *wbr;
++	struct dentry *h_dentry;
 +
 +	wbr = br->br_wbr;
 +	au_rw_init(&wbr->wbr_wh_rwsem);
@@ -552,8 +555,23 @@
 +	atomic_set(&wbr->wbr_wh_running, 0);
 +	wbr->wbr_bytes = 0;
 +
-+	err = au_br_init_wh(sb, br, perm, path->dentry);
++	/*
++	 * a limit for rmdir/rename a dir
++	 * cf. AUFS_MAX_NAMELEN in include/linux/aufs_type.h
++	 */
++	h_dentry = path->dentry;
++	err = vfs_statfs(h_dentry, &kst);
++	if (unlikely(err))
++		goto out;
++	err = -EINVAL;
++	if (kst.f_namelen >= NAME_MAX)
++		err = au_br_init_wh(sb, br, perm, h_dentry);
++	else
++		pr_err("%.*s(%s), unsupported namelen %ld\n",
++		       AuDLNPair(h_dentry), au_sbtype(h_dentry->d_sb),
++		       kst.f_namelen);
 +
++ out:
 +	return err;
 +}
 +
@@ -4032,10 +4050,10 @@
 +#endif /* __AUFS_DEBUG_H__ */
 diff --git a/fs/aufs/dentry.c b/fs/aufs/dentry.c
 new file mode 100644
-index 0000000..8bf218b
+index 0000000..28525d4
 --- /dev/null
 +++ b/fs/aufs/dentry.c
-@@ -0,0 +1,879 @@
+@@ -0,0 +1,880 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -4108,6 +4126,7 @@
 +		path_put(&h_nd.path);
 +	}
 +
++	AuTraceErrPtr(h_dentry);
 +	return h_dentry;
 +}
 +
@@ -7011,10 +7030,10 @@
 +}
 diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
 new file mode 100644
-index 0000000..1065559
+index 0000000..7601012
 --- /dev/null
 +++ b/fs/aufs/f_op.c
-@@ -0,0 +1,826 @@
+@@ -0,0 +1,827 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -7515,7 +7534,8 @@
 +	if (unlikely(err))
 +		goto out;
 +
-+	vm_ops = vma->vm_ops;
++	/* oops, it became 'const' */
++	vm_ops = (struct vm_operations_struct *)vma->vm_ops;
 +	err = do_munmap(current->mm, vma->vm_start,
 +			vma->vm_end - vma->vm_start);
 +	if (unlikely(err)) {
@@ -7843,10 +7863,10 @@
 +};
 diff --git a/fs/aufs/file.c b/fs/aufs/file.c
 new file mode 100644
-index 0000000..5821834
+index 0000000..a4f33aa
 --- /dev/null
 +++ b/fs/aufs/file.c
-@@ -0,0 +1,587 @@
+@@ -0,0 +1,591 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -8412,6 +8432,9 @@
 +				      read_descriptor_t *desc,
 +				      unsigned long from)
 +{ AuUnsupport(); return 0; }
++static int aufs_error_remove_page(struct address_space *mapping,
++				  struct page *page)
++{ AuUnsupport(); return 0; }
 +#endif /* CONFIG_AUFS_DEBUG */
 +
 +struct address_space_operations aufs_aop = {
@@ -8431,7 +8454,8 @@
 +	.get_xip_mem		= aufs_get_xip_mem,	/* todo */
 +	.migratepage		= aufs_migratepage,
 +	.launder_page		= aufs_launder_page,
-+	.is_partially_uptodate	= aufs_is_partially_uptodate
++	.is_partially_uptodate	= aufs_is_partially_uptodate,
++	.error_remove_page	= aufs_error_remove_page
 +#endif /* CONFIG_AUFS_DEBUG */
 +};
 diff --git a/fs/aufs/file.h b/fs/aufs/file.h
@@ -10891,10 +10915,10 @@
 +};
 diff --git a/fs/aufs/i_op_add.c b/fs/aufs/i_op_add.c
 new file mode 100644
-index 0000000..39b7a48
+index 0000000..813890f
 --- /dev/null
 +++ b/fs/aufs/i_op_add.c
-@@ -0,0 +1,649 @@
+@@ -0,0 +1,658 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -10990,6 +11014,10 @@
 +	struct dentry *h_dentry;
 +	struct inode *h_inode;
 +
++	err = -ENAMETOOLONG;
++	if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN))
++		goto out;
++
 +	h_dentry = au_h_dptr(dentry, bindex);
 +	h_inode = h_dentry->d_inode;
 +	if (!dentry->d_inode) {
@@ -11020,6 +11048,7 @@
 +	err = 0;
 +
 + out:
++	AuTraceErr(err);
 +	return err;
 +}
 +
@@ -11040,6 +11069,8 @@
 +	unsigned int udba;
 +	aufs_bindex_t bcpup;
 +
++	AuDbg("%.*s\n", AuDLNPair(dentry));
++
 +	err = au_wr_dir(dentry, src_dentry, wr_dir_args);
 +	bcpup = err;
 +	wh_dentry = ERR_PTR(err);
@@ -11056,13 +11087,14 @@
 +
 +	h_parent = au_pinned_h_parent(pin);
 +	if (udba != AuOpt_UDBA_NONE
-+	    && au_dbstart(dentry) == bcpup) {
++	    && au_dbstart(dentry) == bcpup)
 +		err = au_may_add(dentry, bcpup, h_parent,
 +				 au_ftest_wrdir(wr_dir_args->flags, ISDIR));
-+		wh_dentry = ERR_PTR(err);
-+		if (unlikely(err))
-+			goto out_unpin;
-+	}
++	else if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN))
++		err = -ENAMETOOLONG;
++	wh_dentry = ERR_PTR(err);
++	if (unlikely(err))
++		goto out_unpin;
 +
 +	br = au_sbr(sb, bcpup);
 +	if (dt) {
@@ -11122,6 +11154,7 @@
 +		.flags		= AuWrDir_ADD_ENTRY
 +	};
 +
++	AuDbg("%.*s\n", AuDLNPair(dentry));
 +	IMustLock(dir);
 +
 +	parent = dentry->d_parent; /* dir inode is locked */
@@ -11546,10 +11579,10 @@
 +}
 diff --git a/fs/aufs/i_op_del.c b/fs/aufs/i_op_del.c
 new file mode 100644
-index 0000000..c0ee77d
+index 0000000..d47ddfb
 --- /dev/null
 +++ b/fs/aufs/i_op_del.c
-@@ -0,0 +1,468 @@
+@@ -0,0 +1,470 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -11801,6 +11834,7 @@
 +	}
 +
 + out:
++	AuTraceErr(err);
 +	return err;
 +}
 +
@@ -12016,14 +12050,15 @@
 + out_unlock:
 +	aufs_read_unlock(dentry, AuLock_DW);
 + out:
++	AuTraceErr(err);
 +	return err;
 +}
 diff --git a/fs/aufs/i_op_ren.c b/fs/aufs/i_op_ren.c
 new file mode 100644
-index 0000000..9a81ffb
+index 0000000..b107f93
 --- /dev/null
 +++ b/fs/aufs/i_op_ren.c
-@@ -0,0 +1,957 @@
+@@ -0,0 +1,961 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -12601,6 +12636,7 @@
 + out:
 +	if (unlikely(err == -ENOENT || err == -EEXIST))
 +		err = -EIO;
++	AuTraceErr(err);
 +	return err;
 +}
 +
@@ -12849,6 +12885,7 @@
 +	/* reduce stack space */
 +	struct au_ren_args *a;
 +
++	AuDbg("%.*s, %.*s\n", AuDLNPair(_src_dentry), AuDLNPair(_dst_dentry));
 +	IMustLock(_src_dir);
 +	IMustLock(_dst_dir);
 +
@@ -12933,11 +12970,12 @@
 +	if (unlikely(err))
 +		goto out_children;
 +
-+	if (!au_opt_test(au_mntflags(a->dst_dir->i_sb), UDBA_NONE)) {
++	if (!au_opt_test(au_mntflags(a->dst_dir->i_sb), UDBA_NONE))
 +		err = au_may_ren(a);
-+		if (unlikely(err))
-+			goto out_hdir;
-+	}
++	else if (unlikely(a->dst_dentry->d_name.len > AUFS_MAX_NAMELEN))
++		err = -ENAMETOOLONG;
++	if (unlikely(err))
++		goto out_hdir;
 +
 +	/* store timestamps to be revertible */
 +	au_ren_dt(a);
@@ -12979,6 +13017,7 @@
 +		au_whtmp_rmdir_free(a->thargs);
 +	kfree(a);
 + out:
++	AuTraceErr(err);
 +	return err;
 +}
 diff --git a/fs/aufs/iinfo.c b/fs/aufs/iinfo.c
@@ -14366,10 +14405,10 @@
 +#endif /* __AUFS_LOOP_H__ */
 diff --git a/fs/aufs/magic.mk b/fs/aufs/magic.mk
 new file mode 100644
-index 0000000..83d613c
+index 0000000..1e55221
 --- /dev/null
 +++ b/fs/aufs/magic.mk
-@@ -0,0 +1,52 @@
+@@ -0,0 +1,48 @@
 +
 +# defined in ${srctree}/fs/fuse/inode.c
 +# tristate
@@ -14389,10 +14428,6 @@
 +ccflags-y += -DDLMFS_MAGIC=0x76a9f425
 +endif
 +
-+# defined in ${srctree}/fs/ramfs/inode.c
-+# always true
-+ccflags-y += -DRAMFS_MAGIC=0x858458f6
-+
 +# defined in ${srctree}/fs/cifs/cifsfs.c
 +# tristate
 +ifdef CONFIG_CIFS_FS
@@ -14688,10 +14723,10 @@
 +#endif /* __AUFS_MODULE_H__ */
 diff --git a/fs/aufs/opts.c b/fs/aufs/opts.c
 new file mode 100644
-index 0000000..7e936b8
+index 0000000..4d9b60f
 --- /dev/null
 +++ b/fs/aufs/opts.c
-@@ -0,0 +1,1546 @@
+@@ -0,0 +1,1549 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -14877,7 +14912,7 @@
 +	{AuBrPerm_RO, NULL}
 +};
 +
-+static int br_perm_val(char *perm)
++static int noinline_for_stack br_perm_val(char *perm)
 +{
 +	int val;
 +	substring_t args[MAX_OPT_ARGS];
@@ -14902,7 +14937,7 @@
 +	{-1, NULL}
 +};
 +
-+static int udba_val(char *str)
++static int noinline_for_stack udba_val(char *str)
 +{
 +	substring_t args[MAX_OPT_ARGS];
 +
@@ -14939,7 +14974,8 @@
 + * gave up calling memparse() since it uses simple_strtoull() instead of
 + * strict_...().
 + */
-+static int au_match_ull(substring_t *s, unsigned long long *result)
++static int noinline_for_stack
++au_match_ull(substring_t *s, unsigned long long *result)
 +{
 +	int err;
 +	unsigned int len;
@@ -14988,7 +15024,8 @@
 +	return err;
 +}
 +
-+static int au_wbr_create_val(char *str, struct au_opt_wbr_create *create)
++static int noinline_for_stack
++au_wbr_create_val(char *str, struct au_opt_wbr_create *create)
 +{
 +	int err, e;
 +	substring_t args[MAX_OPT_ARGS];
@@ -15040,7 +15077,7 @@
 +	{-1, NULL}
 +};
 +
-+static int au_wbr_copyup_val(char *str)
++static int noinline_for_stack au_wbr_copyup_val(char *str)
 +{
 +	substring_t args[MAX_OPT_ARGS];
 +
@@ -15335,7 +15372,8 @@
 +}
 +#endif
 +
-+static int au_opts_parse_mod(struct au_opt_mod *mod, substring_t args[])
++static int noinline_for_stack
++au_opts_parse_mod(struct au_opt_mod *mod, substring_t args[])
 +{
 +	int err;
 +	struct path path;
@@ -15418,10 +15456,10 @@
 +	return err;
 +}
 +
-+static
-+int au_opts_parse_xino_itrunc_path(struct super_block *sb,
-+				   struct au_opt_xino_itrunc *xino_itrunc,
-+				   substring_t args[])
++static int noinline_for_stack
++au_opts_parse_xino_itrunc_path(struct super_block *sb,
++			       struct au_opt_xino_itrunc *xino_itrunc,
++			       substring_t args[])
 +{
 +	int err;
 +	aufs_bindex_t bend, bindex;
@@ -17712,7 +17750,7 @@
 +#endif /* __AUFS_SPL_H__ */
 diff --git a/fs/aufs/super.c b/fs/aufs/super.c
 new file mode 100644
-index 0000000..6124d17
+index 0000000..10d30f2
 --- /dev/null
 +++ b/fs/aufs/super.c
 @@ -0,0 +1,876 @@
@@ -18069,7 +18107,7 @@
 +
 +	if (!err) {
 +		buf->f_type = AUFS_SUPER_MAGIC;
-+		buf->f_namelen -= AUFS_WH_PFX_LEN;
++		buf->f_namelen = AUFS_MAX_NAMELEN;
 +		memset(&buf->f_fsid, 0, sizeof(buf->f_fsid));
 +	}
 +	/* buf->f_bsize = buf->f_blocks = buf->f_bfree = buf->f_bavail = -1; */
@@ -19596,10 +19634,10 @@
 +}
 diff --git a/fs/aufs/vdir.c b/fs/aufs/vdir.c
 new file mode 100644
-index 0000000..99fd839
+index 0000000..50a3caf
 --- /dev/null
 +++ b/fs/aufs/vdir.c
-@@ -0,0 +1,879 @@
+@@ -0,0 +1,878 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -19627,7 +19665,6 @@
 +
 +static unsigned int calc_size(int nlen)
 +{
-+	BUILD_BUG_ON(sizeof(ino_t) != sizeof(long));
 +	return ALIGN(sizeof(struct au_vdir_de) + nlen, sizeof(ino_t));
 +}
 +
@@ -20481,10 +20518,10 @@
 +}
 diff --git a/fs/aufs/vfsub.c b/fs/aufs/vfsub.c
 new file mode 100644
-index 0000000..ab0a419
+index 0000000..34c0d95
 --- /dev/null
 +++ b/fs/aufs/vfsub.c
-@@ -0,0 +1,751 @@
+@@ -0,0 +1,753 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -20593,6 +20630,7 @@
 +		vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/
 +
 + out:
++	AuTraceErrPtr(path.dentry);
 +	return path.dentry;
 +}
 +
@@ -20608,6 +20646,7 @@
 +	if (!IS_ERR(path.dentry) && path.dentry->d_inode)
 +		vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/
 +
++	AuTraceErrPtr(path.dentry);
 +	return path.dentry;
 +}
 +
@@ -22063,10 +22102,10 @@
 +};
 diff --git a/fs/aufs/whout.c b/fs/aufs/whout.c
 new file mode 100644
-index 0000000..177e1dd
+index 0000000..b0ee925
 --- /dev/null
 +++ b/fs/aufs/whout.c
-@@ -0,0 +1,1053 @@
+@@ -0,0 +1,1056 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -22190,19 +22229,21 @@
 +struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br,
 +			     struct qstr *prefix)
 +{
-+#define HEX_LEN	4
 +	struct dentry *dentry;
 +	int i;
++	/* cf. AUFS_MAX_NAMELEN in include/linux/aufs_type.h */
 +	char defname[AUFS_WH_PFX_LEN * 2 + DNAME_INLINE_LEN_MIN + 1
-+		     + HEX_LEN + 1], *name, *p;
++		     + AUFS_WH_TMP_LEN + 1], *name, *p;
 +	static unsigned short cnt;
 +	struct qstr qs;
 +
++	BUILD_BUG_ON(sizeof(cnt) * 2 > AUFS_WH_TMP_LEN);
++
 +	name = defname;
 +	qs.len = sizeof(defname) - DNAME_INLINE_LEN_MIN + prefix->len - 1;
 +	if (unlikely(prefix->len > DNAME_INLINE_LEN_MIN)) {
 +		dentry = ERR_PTR(-ENAMETOOLONG);
-+		if (unlikely(qs.len >= PATH_MAX))
++		if (unlikely(qs.len > NAME_MAX))
 +			goto out;
 +		dentry = ERR_PTR(-ENOMEM);
 +		name = kmalloc(qs.len + 1, GFP_NOFS);
@@ -22216,11 +22257,11 @@
 +	memcpy(p, prefix->name, prefix->len);
 +	p += prefix->len;
 +	*p++ = '.';
-+	AuDebugOn(name + qs.len + 1 - p <= HEX_LEN);
++	AuDebugOn(name + qs.len + 1 - p <= AUFS_WH_TMP_LEN);
 +
 +	qs.name = name;
 +	for (i = 0; i < 3; i++) {
-+		sprintf(p, "%.*d", HEX_LEN, cnt++);
++		sprintf(p, "%.*d", AUFS_WH_TMP_LEN, cnt++);
 +		dentry = au_sio_lkup_one(&qs, h_parent, br);
 +		if (IS_ERR(dentry) || !dentry->d_inode)
 +			goto out_name;
@@ -22235,8 +22276,8 @@
 +	if (name != defname)
 +		kfree(name);
 + out:
++	AuTraceErrPtr(dentry);
 +	return dentry;
-+#undef HEX_LEN
 +}
 +
 +/*
@@ -22266,6 +22307,7 @@
 +	dput(h_path.dentry);
 +
 + out:
++	AuTraceErr(err);
 +	return err;
 +}
 +
@@ -24778,10 +24820,10 @@
 +}
 diff --git a/include/linux/aufs_type.h b/include/linux/aufs_type.h
 new file mode 100644
-index 0000000..f34d9ed
+index 0000000..b4fee85
 --- /dev/null
 +++ b/include/linux/aufs_type.h
-@@ -0,0 +1,184 @@
+@@ -0,0 +1,191 @@
 +/*
 + * Copyright (C) 2005-2009 Junjiro R. Okajima
 + *
@@ -24804,9 +24846,10 @@
 +#define __AUFS_TYPE_H__
 +
 +#include <linux/ioctl.h>
++#include <linux/limits.h>
 +#include <linux/types.h>
 +
-+#define AUFS_VERSION	"2-standalone.tree-31-20091012"
++#define AUFS_VERSION	"2-standalone.tree-20091130"
 +
 +/* todo? move this to linux-2.6.19/include/magic.h */
 +#define AUFS_SUPER_MAGIC	('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -24843,6 +24886,12 @@
 +
 +#define AUFS_WH_PFX		".wh."
 +#define AUFS_WH_PFX_LEN		((int)sizeof(AUFS_WH_PFX) - 1)
++#define AUFS_WH_TMP_LEN		4
++/* a limit for rmdir/rename a dir */
++#define AUFS_MAX_NAMELEN	(NAME_MAX \
++				- AUFS_WH_PFX_LEN * 2	/* doubly whiteouted */\
++				- 1			/* dot */\
++				- AUFS_WH_TMP_LEN)	/* hex */
 +#define AUFS_XINO_FNAME		"." AUFS_NAME ".xino"
 +#define AUFS_XINO_DEFPATH	"/tmp/" AUFS_XINO_FNAME
 +#define AUFS_XINO_TRUNC_INIT	64 /* blocks */

Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch	Sat Dec  5 15:38:45 2009	(r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch	Sun Dec  6 16:11:08 2009	(r14739)
@@ -1,7 +1,7 @@
-aufs2 base patch for linux-2.6.31
+aufs2 base patch for linux-2.6.
 
 diff --git a/fs/namei.c b/fs/namei.c
-index 1f13751..b49c2af 100644
+index d11f404..7d28f56 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
 @@ -1219,7 +1219,7 @@ out:
@@ -23,10 +23,10 @@
  {
  	unsigned long hash;
 diff --git a/fs/splice.c b/fs/splice.c
-index 73766d2..0cb8873 100644
+index 7394e9e..77184f0 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -1057,8 +1057,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
+@@ -1051,8 +1051,8 @@ EXPORT_SYMBOL_GPL(generic_splice_sendpage);
  /*
   * Attempt to initiate a splice from pipe to file.
   */
@@ -37,7 +37,7 @@
  {
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
  				loff_t *, size_t, unsigned int);
-@@ -1084,9 +1084,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1078,9 +1078,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  /*
   * Attempt to initiate a splice from a file to a pipe.
   */
@@ -51,7 +51,7 @@
  	ssize_t (*splice_read)(struct file *, loff_t *,
  			       struct pipe_inode_info *, size_t, unsigned int);
 diff --git a/include/linux/namei.h b/include/linux/namei.h
-index d870ae2..a49900e 100644
+index ec0f607..1438153 100644
 --- a/include/linux/namei.h
 +++ b/include/linux/namei.h
 @@ -75,6 +75,9 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry

Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch	Sat Dec  5 15:38:45 2009	(r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch	Sun Dec  6 16:11:08 2009	(r14739)
@@ -1,12 +1,10 @@
-aufs2 kbuild patch for linux-2.6.31
-
-Trivial update for 2.6.32 by Ben Hutchings <ben at decadent.org.uk>
+aufs2 kbuild patch for linux-2.6.
 
 diff --git a/fs/Kconfig b/fs/Kconfig
-index 0e7da7b..a4194da 100644
+index 64d44ef..3e1f2f0 100644
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -187,6 +187,7 @@ source "fs/sysv/Kconfig"
+@@ -188,6 +188,7 @@ source "fs/romfs/Kconfig"
  source "fs/sysv/Kconfig"
  source "fs/ufs/Kconfig"
  source "fs/exofs/Kconfig"
@@ -24,7 +22,7 @@
  obj-$(CONFIG_EXOFS_FS)          += exofs/
 +obj-$(CONFIG_AUFS_FS)           += aufs/
 diff --git a/include/linux/Kbuild b/include/linux/Kbuild
-index 334a359..2a88f69 100644
+index 1feed71..4ceebc7 100644
 --- a/include/linux/Kbuild
 +++ b/include/linux/Kbuild
 @@ -34,6 +34,7 @@ header-y += atmppp.h

Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch	Sat Dec  5 15:38:45 2009	(r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch	Sun Dec  6 16:11:08 2009	(r14739)
@@ -1,12 +1,10 @@
-aufs2 standalone patch for linux-2.6.31
-
-Trivial update for 2.6.32 by Ben Hutchings <ben at decadent.org.uk>
+aufs2 standalone patch for linux-2.6.
 
 diff --git a/fs/namei.c b/fs/namei.c
-index b49c2af..4521c70 100644
+index 7d28f56..0f6117c 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
-@@ -337,6 +337,7 @@ int deny_write_access(struct file * file)
+@@ -350,6 +350,7 @@ int deny_write_access(struct file * file)
  
  	return 0;
  }
@@ -31,7 +29,7 @@
  /**
   * lookup_one_len - filesystem helper to lookup single pathname component
 diff --git a/fs/namespace.c b/fs/namespace.c
-index 7230787..8269b66 100644
+index bdc3cb4..a2cadcf 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
 @@ -39,6 +39,7 @@
@@ -43,10 +41,10 @@
  static int event;
  static DEFINE_IDA(mnt_id_ida);
 diff --git a/fs/open.c b/fs/open.c
-index dd98e80..04b9aad 100644
+index 4f01e06..ef09031 100644
 --- a/fs/open.c
 +++ b/fs/open.c
-@@ -221,6 +221,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
+@@ -223,6 +223,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
  	mutex_unlock(&dentry->d_inode->i_mutex);
  	return ret;
  }
@@ -55,10 +53,10 @@
  static long do_sys_truncate(const char __user *pathname, loff_t length)
  {
 diff --git a/fs/splice.c b/fs/splice.c
-index 0cb8873..0e7b0b9 100644
+index 77184f0..8479d95 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -1080,6 +1080,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1074,6 +1074,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  
  	return splice_write(pipe, out, ppos, len, flags);
  }
@@ -66,7 +64,7 @@
  
  /*
   * Attempt to initiate a splice from a file to a pipe.
-@@ -1105,6 +1106,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
+@@ -1099,6 +1100,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
  
  	return splice_read(in, ppos, pipe, len, flags);
  }
@@ -75,10 +73,10 @@
  /**
   * splice_direct_to_actor - splices data directly between two non-pipes
 diff --git a/security/device_cgroup.c b/security/device_cgroup.c
-index b8186ba..42208d8 100644
+index 6cf8fd2..008e0d8 100644
 --- a/security/device_cgroup.c
 +++ b/security/device_cgroup.c
-@@ -513,6 +513,7 @@ found:
+@@ -514,6 +514,7 @@ found:
  
  	return -EPERM;
  }
@@ -99,7 +97,7 @@
  /**
   * ima_bprm_check - based on policy, collect/store measurement.
 diff --git a/security/security.c b/security/security.c
-index dc7674f..b309f88 100644
+index c4c6732..854d15c 100644
 --- a/security/security.c
 +++ b/security/security.c
 @@ -386,6 +386,7 @@ int security_path_mkdir(struct path *path, struct dentry *dentry, int mode)

Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base	Sat Dec  5 15:38:45 2009	(r14738)
+++ dists/trunk/linux-2.6/debian/patches/series/base	Sun Dec  6 16:11:08 2009	(r14739)
@@ -24,7 +24,6 @@
 + features/all/aufs2/aufs2-add.patch
 # mark as staging/crap
 + features/all/aufs2/mark-as-staging.patch
-+ bugfix/all/aufs2-remove-incorrect-static-assertion.patch
 
 # content of src/ from speakup package; generated with:
 # diff -ur --unidirectional-new-file nonexistent src | filterdiff --strip=1 --addoldprefix=a/drivers/staging/speakup/ --addnewprefix=b/drivers/staging/speakup/



More information about the Kernel-svn-changes mailing list