packages: kernel/kernel-aufs2.patch, kernel/kernel.spec, kernel/kernel-aufs...

baggins baggins at pld-linux.org
Fri Oct 1 14:09:36 CEST 2010


Author: baggins                      Date: Fri Oct  1 12:09:36 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- switch aufs2 to aufs2.1 (aufs2 is unmaintained)
- resolve conflict between aufs2.1 and reiser4 (symbol exported by both patches)

---- Files affected:
packages/kernel:
   kernel-aufs2.patch (1.8 -> 1.9) , kernel.spec (1.831 -> 1.832) , kernel-aufs2-reiser4.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/kernel/kernel-aufs2.patch
diff -u packages/kernel/kernel-aufs2.patch:1.8 packages/kernel/kernel-aufs2.patch:1.9
--- packages/kernel/kernel-aufs2.patch:1.8	Sat Aug 21 21:08:38 2010
+++ packages/kernel/kernel-aufs2.patch	Fri Oct  1 14:09:30 2010
@@ -1,4 +1,4 @@
-aufs2 kbuild patch for linux-2.6.35
+aufs2.1 kbuild patch for linux-2.6.35
 
 diff --git a/fs/Kconfig b/fs/Kconfig
 index 5f85b59..6ee7cf8 100644
@@ -33,7 +33,7 @@
  header-y += auto_fs4.h
  header-y += ax25.h
  header-y += b1lli.h
-aufs2 base patch for linux-2.6.35
+aufs2.1 base patch for linux-2.6.35
 
 diff --git a/fs/namei.c b/fs/namei.c
 index 868d0cb..6e92c81 100644
@@ -114,8 +114,40 @@
 +			 unsigned int flags);
 +
  #endif
-aufs2 standalone patch for linux-2.6.35
+aufs2.1 standalone patch for linux-2.6.35
 
+diff --git a/fs/file_table.c b/fs/file_table.c
+index 5c7d10e..9031acf 100644
+--- a/fs/file_table.c
++++ b/fs/file_table.c
+@@ -34,6 +34,7 @@ struct files_stat_struct files_stat = {
+ 
+ /* public. Not pretty! */
+ __cacheline_aligned_in_smp DEFINE_SPINLOCK(files_lock);
++EXPORT_SYMBOL(files_lock);
+ 
+ /* SLAB cache for file structures */
+ static struct kmem_cache *filp_cachep __read_mostly;
+@@ -346,6 +347,7 @@ void file_kill(struct file *file)
+ 		file_list_unlock();
+ 	}
+ }
++EXPORT_SYMBOL(file_kill);
+ 
+ int fs_may_remount_ro(struct super_block *sb)
+ {
+diff --git a/fs/inode.c b/fs/inode.c
+index 722860b..bfb0698 100644
+--- a/fs/inode.c
++++ b/fs/inode.c
+@@ -84,6 +84,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
+  * the i_state of an inode while it is in use..
+  */
+ DEFINE_SPINLOCK(inode_lock);
++EXPORT_SYMBOL(inode_lock);
+ 
+ /*
+  * iprune_sem provides exclusion between the kswapd or try_to_free_pages
 diff --git a/fs/namei.c b/fs/namei.c
 index 6e92c81..334130e 100644
 --- a/fs/namei.c
@@ -388,7 +420,7 @@
  			    unsigned long prot)
 diff -urN /usr/share/empty/Documentation/ABI/testing/debugfs-aufs linux/Documentation/ABI/testing/debugfs-aufs
 --- /usr/share/empty/Documentation/ABI/testing/debugfs-aufs	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/ABI/testing/debugfs-aufs	2010-08-21 21:00:02.956499131 +0200
++++ linux/Documentation/ABI/testing/debugfs-aufs	2010-10-01 13:09:26.340878164 +0200
 @@ -0,0 +1,37 @@
 +What:		/debug/aufs/si_<id>/
 +Date:		March 2009
@@ -429,7 +461,7 @@
 +		will be empty. About XINO files, see the aufs manual.
 diff -urN /usr/share/empty/Documentation/ABI/testing/sysfs-aufs linux/Documentation/ABI/testing/sysfs-aufs
 --- /usr/share/empty/Documentation/ABI/testing/sysfs-aufs	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/ABI/testing/sysfs-aufs	2010-08-21 21:00:02.956499131 +0200
++++ linux/Documentation/ABI/testing/sysfs-aufs	2010-10-01 13:09:26.340878164 +0200
 @@ -0,0 +1,24 @@
 +What:		/sys/fs/aufs/si_<id>/
 +Date:		March 2009
@@ -457,7 +489,7 @@
 +		will be empty. About XINO files, see the aufs manual.
 diff -urN /usr/share/empty/fs/aufs/aufs.h linux/fs/aufs/aufs.h
 --- /usr/share/empty/fs/aufs/aufs.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/aufs.h	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/aufs.h	2010-10-01 13:09:26.342878167 +0200
 @@ -0,0 +1,61 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -522,8 +554,8 @@
 +#endif /* __AUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
 --- /usr/share/empty/fs/aufs/branch.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.c	2010-08-21 21:00:02.972333781 +0200
-@@ -0,0 +1,1005 @@
++++ linux/fs/aufs/branch.c	2010-10-01 13:09:26.343878167 +0200
+@@ -0,0 +1,1008 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
 + *
@@ -669,9 +701,9 @@
 +
 +	kfree(add_branch->br_wbr);
 +
-+ out_br:
++out_br:
 +	kfree(add_branch);
-+ out:
++out:
 +	return ERR_PTR(err);
 +}
 +
@@ -689,7 +721,7 @@
 +	err = -EINVAL;
 +	pr_err("write permission for readonly mount or inode, %s\n", path);
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -779,7 +811,7 @@
 +				   (h_inode->i_mode & S_IALLUGO));
 +	}
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -859,7 +891,7 @@
 +		       AuDLNPair(h_dentry), au_sbtype(h_dentry->d_sb),
 +		       kst.f_namelen);
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -900,9 +932,9 @@
 +	mntget(add->path.mnt);
 +	goto out; /* success */
 +
-+ out_err:
++out_err:
 +	br->br_mnt = NULL;
-+ out:
++out:
 +	return err;
 +}
 +
@@ -962,7 +994,6 @@
 +
 +	root = sb->s_root;
 +	root_inode = root->d_inode;
-+	au_plink_maint_block(sb);
 +	bend = au_sbend(sb);
 +	amount = bend + 1 - bindex;
 +	au_br_do_add_brp(au_sbi(sb), bindex, br, bend, amount);
@@ -1032,7 +1063,7 @@
 +	    && add_branch->br_xino.xi_file->f_dentry->d_parent == h_dentry)
 +		au_xino_brid_set(sb, add_branch->br_id);
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -1101,9 +1132,9 @@
 +		}
 +	}
 +
-+ out_dpages:
++out_dpages:
 +	au_dpages_free(&dpages);
-+ out:
++out:
 +	return err;
 +}
 +
@@ -1240,7 +1271,6 @@
 +
 +	root = sb->s_root;
 +	inode = root->d_inode;
-+	au_plink_maint_block(sb);
 +	sbinfo = au_sbi(sb);
 +	bend = sbinfo->si_bend;
 +
@@ -1285,8 +1315,7 @@
 +	i = atomic_read(&br->br_count);
 +	if (unlikely(i)) {
 +		AuVerbose(verbose, "%d file(s) opened\n", i);
-+		if (!verbose)
-+			goto out;
++		goto out;
 +	}
 +
 +	wbr = br->br_wbr;
@@ -1329,13 +1358,13 @@
 +		au_xino_brid_set(sb, -1);
 +	goto out; /* success */
 +
-+ out_wh:
++out_wh:
 +	/* revert */
 +	rerr = au_br_init_wh(sb, br, br->br_perm, del->h_path.dentry);
 +	if (rerr)
 +		pr_warning("failed re-creating base whiteout, %s. (%d)\n",
 +			   del->pathname, rerr);
-+ out:
++out:
 +	return err;
 +}
 +
@@ -1349,7 +1378,7 @@
 +{
 +#ifdef CONFIG_IMA
 +	/* since it doesn't support mark_files_ro() */
-+	pr_warning("RW -> RO makes IMA to produce wrong message");
++	AuWarn1("RW -> RO makes IMA to produce wrong message");
 +#endif
 +}
 +
@@ -1368,8 +1397,11 @@
 +{
 +	int err;
 +	unsigned long n, ul, bytes, files;
-+	aufs_bindex_t bstart;
++	aufs_bindex_t br_id;
 +	struct file *file, *hf, **a;
++	struct dentry *dentry;
++	struct inode *inode;
++	struct au_hfile *hfile;
 +	const int step_bytes = 1024, /* memory allocation unit */
 +		step_files = step_bytes / sizeof(*a);
 +
@@ -1382,9 +1414,12 @@
 +		goto out;
 +
 +	/* no need file_list_lock() since sbinfo is locked? defered? */
++	br_id = au_sbr_id(sb, bindex);
 +	list_for_each_entry(file, &sb->s_files, f_u.fu_list) {
 +		if (special_file(file->f_dentry->d_inode->i_mode))
 +			continue;
++		dentry = file->f_dentry;
++		inode = dentry->d_inode;
 +
 +		AuDbg("%.*s\n", AuDLNPair(file->f_dentry));
 +		fi_read_lock(file);
@@ -1395,16 +1430,17 @@
 +			goto out_free;
 +		}
 +
-+		bstart = au_fbstart(file);
-+		if (!S_ISREG(file->f_dentry->d_inode->i_mode)
++		hfile = &au_fi(file)->fi_htop;
++		hf = hfile->hf_file;
++		if (!S_ISREG(inode->i_mode)
 +		    || !(file->f_mode & FMODE_WRITE)
-+		    || bstart != bindex) {
++		    || hfile->hf_br->br_id != br_id
++		    || !(hf->f_mode & FMODE_WRITE)) {
 +			FiMustNoWaiters(file);
 +			fi_read_unlock(file);
 +			continue;
 +		}
 +
-+		hf = au_hf_top(file);
 +		FiMustNoWaiters(file);
 +		fi_read_unlock(file);
 +
@@ -1439,9 +1475,9 @@
 +		}
 +	}
 +
-+ out_free:
++out_free:
 +	kfree(a);
-+ out:
++out:
 +	return err;
 +}
 +
@@ -1455,7 +1491,6 @@
 +	struct au_branch *br;
 +
 +	root = sb->s_root;
-+	au_plink_maint_block(sb);
 +	bindex = au_find_dbindex(root, mod->h_root);
 +	if (bindex < 0) {
 +		if (remount)
@@ -1526,12 +1561,12 @@
 +		br->br_perm = mod->perm;
 +	}
 +
-+ out:
++out:
 +	return err;
 +}
 diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
 --- /usr/share/empty/fs/aufs/branch.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.h	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/branch.h	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,224 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -1730,7 +1765,7 @@
 +
 +static inline void au_sbr_put(struct super_block *sb, aufs_bindex_t bindex)
 +{
-+	atomic_dec_return(&au_sbr(sb, bindex)->br_count);
++	atomic_dec(&au_sbr(sb, bindex)->br_count);
 +}
 +
 +static inline int au_sbr_perm(struct super_block *sb, aufs_bindex_t bindex)
@@ -1759,8 +1794,8 @@
 +#endif /* __AUFS_BRANCH_H__ */
 diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk
 --- /usr/share/empty/fs/aufs/conf.mk	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/conf.mk	2010-08-21 21:00:02.972333781 +0200
-@@ -0,0 +1,36 @@
++++ linux/fs/aufs/conf.mk	2010-10-01 13:09:26.343878167 +0200
+@@ -0,0 +1,37 @@
 +
 +AuConfStr = CONFIG_AUFS_FS=${CONFIG_AUFS_FS}
 +
@@ -1771,6 +1806,7 @@
 +endef
 +
 +AuConfAll = BRANCH_MAX_127 BRANCH_MAX_511 BRANCH_MAX_1023 BRANCH_MAX_32767 \
++	SBILIST \
 +	HNOTIFY HFSNOTIFY HINOTIFY \
 +	EXPORT INO_T_64 \
 +	RDU \
@@ -1799,7 +1835,7 @@
 +-include ${srctree}/${src}/conf_priv.mk
 diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 --- /usr/share/empty/fs/aufs/cpup.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.c	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/cpup.c	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,1059 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -2115,7 +2151,7 @@
 +	else
 +		free_page((unsigned long)buf);
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -2170,13 +2206,13 @@
 +	IMustLock(file[SRC].dentry->d_inode);
 +	err = au_copy_file(file[DST].file, file[SRC].file, len);
 +
-+ out_dst:
++out_dst:
 +	fput(file[DST].file);
 +	au_sbr_put(sb, file[DST].bindex);
-+ out_src:
++out_src:
 +	fput(file[SRC].file);
 +	au_sbr_put(sb, file[SRC].bindex);
-+ out:
++out:
 +	return err;
 +}
 +
@@ -2203,7 +2239,7 @@
 +		err = -EIO;
 +	}
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -2238,7 +2274,7 @@
 +	}
 +	__putname(sym.k);
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -2459,7 +2495,7 @@
 +		err = -EIO;
 +	}
 +
-+ out:
++out:
 +	dput(dst_parent);
 +	return err;
 +}
@@ -2672,9 +2708,9 @@
 +	au_dtime_revert(&dt);
 +	au_set_hi_wh(dentry->d_inode, bdst, wh_dentry);
 +
-+ out_wh:
++out_wh:
 +	dput(wh_dentry);
-+ out:
++out:
 +	dput(parent);
 +	return err;
 +}
@@ -2820,7 +2856,7 @@
 +			break;
 +	}
 +
-+ out:
++out:
 +	dput(parent);
 +	return err;
 +}
@@ -2856,13 +2892,13 @@
 +		err = au_cpup_dirs(dentry, bdst);
 +	di_downgrade_lock(parent, AuLock_IR);
 +
-+ out:
++out:
 +	dput(parent);
 +	return err;
 +}
 diff -urN /usr/share/empty/fs/aufs/cpup.h linux/fs/aufs/cpup.h
 --- /usr/share/empty/fs/aufs/cpup.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.h	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/cpup.h	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,81 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -2947,7 +2983,7 @@
 +#endif /* __AUFS_CPUP_H__ */
 diff -urN /usr/share/empty/fs/aufs/dbgaufs.c linux/fs/aufs/dbgaufs.c
 --- /usr/share/empty/fs/aufs/dbgaufs.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dbgaufs.c	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/dbgaufs.c	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,334 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -3031,7 +3067,7 @@
 +		err = 0;
 +	}
 +
-+ out:
++out:
 +	return err;
 +
 +}
@@ -3102,7 +3138,7 @@
 +		err = -ENOENT;
 +	si_read_unlock(sb);
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -3260,9 +3296,9 @@
 +	if (!err)
 +		goto out; /* success */
 +
-+ out_dir:
++out_dir:
 +	dbgaufs_si_fin(sbinfo);
-+ out:
++out:
 +	return err;
 +}
 +
@@ -3285,7 +3321,7 @@
 +}
 diff -urN /usr/share/empty/fs/aufs/dbgaufs.h linux/fs/aufs/dbgaufs.h
 --- /usr/share/empty/fs/aufs/dbgaufs.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dbgaufs.h	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/dbgaufs.h	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,52 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -3341,7 +3377,7 @@
 +#endif /* __DBGAUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/dcsub.c linux/fs/aufs/dcsub.c
 --- /usr/share/empty/fs/aufs/dcsub.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.c	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/dcsub.c	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,200 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -3397,9 +3433,9 @@
 +	dpages->ndpage = 1;
 +	return 0; /* success */
 +
-+ out_dpages:
++out_dpages:
 +	kfree(dpages->dpages);
-+ out:
++out:
 +	return err;
 +}
 +
@@ -3446,7 +3482,7 @@
 +	dpage->dentries[dpage->ndentry++] = dget(dentry);
 +	return 0; /* success */
 +
-+ out:
++out:
 +	return err;
 +}
 +
@@ -3460,9 +3496,9 @@
 +
 +	err = 0;
 +	spin_lock(&dcache_lock);
-+ repeat:
++repeat:
 +	next = this_parent->d_subdirs.next;
-+ resume:
++resume:
 +	if (this_parent->d_sb == sb
 +	    && !IS_ROOT(this_parent)
 +	    && atomic_read(&this_parent->d_count)
@@ -3498,7 +3534,7 @@
 +		this_parent = this_parent->d_parent; /* dcache_lock is locked */
 +		goto resume;
 +	}
-+ out:
++out:
 +	spin_unlock(&dcache_lock);
 +	return err;
 +}
@@ -3524,7 +3560,7 @@
 +		}
 +	}
 +
-+ out:
++out:
 +	spin_unlock(&dcache_lock);
 +
 +	return err;
@@ -3545,7 +3581,7 @@
 +}
 diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
 --- /usr/share/empty/fs/aufs/dcsub.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.h	2010-08-21 21:00:02.972333781 +0200
++++ linux/fs/aufs/dcsub.h	2010-10-01 13:09:26.343878167 +0200
 @@ -0,0 +1,54 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
@@ -3603,8 +3639,8 @@
 +#endif /* __AUFS_DCSUB_H__ */
 diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
 --- /usr/share/empty/fs/aufs/debug.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/debug.c	2010-08-21 21:00:02.972333781 +0200
-@@ -0,0 +1,440 @@
++++ linux/fs/aufs/debug.c	2010-10-01 13:09:26.344878166 +0200
+@@ -0,0 +1,443 @@
 +/*
 + * Copyright (C) 2005-2010 Junjiro R. Okajima
 + *
@@ -3636,9 +3672,11 @@
 +module_param_named(debug, aufs_debug, int, S_IRUGO | S_IWUSR | S_IWGRP);
 +
 +char *au_plevel = KERN_DEBUG;
-+#define dpri(fmt, ...) do { \
-+	if (au_debug_test()) \
-+		printk("%s" fmt, au_plevel, ##__VA_ARGS__); \
++#define dpri(fmt, ...) do {					\
++	if ((au_plevel						\
++	     && strcmp(au_plevel, KERN_DEBUG))			\
++	    || au_debug_test())					\
++		printk("%s" fmt, au_plevel, ##__VA_ARGS__);	\
 +} while (0)
 +
 +/* ---------------------------------------------------------------------- */
@@ -3798,8 +3836,8 @@
 +	    && file->f_dentry
 +	    && au_test_aufs(file->f_dentry->d_sb)
 +	    && au_fi(file))
-+		snprintf(a, sizeof(a), ", mmapped %d",
-+			 !!au_fi(file)->fi_hvmop);
++		snprintf(a, sizeof(a), ", gen %d, mmapped %d",
++			 au_figen(file), !!au_fi(file)->fi_hvmop);
 +	dpri("f%d: mode 0x%x, flags 0%o, cnt %ld, v %llu, pos %llu%s\n",
 +	     bindex, file->f_mode, file->f_flags, (long)file_count(file),
 +	     file->f_version, file->f_pos, a);
@@ -3829,7 +3867,8 @@
 +	if (!fidir)
 +		do_pri_file(finfo->fi_btop, finfo->fi_htop.hf_file);
 +	else
-+		for (bindex = finfo->fi_btop; bindex <= fidir->fd_bbot;
++		for (bindex = finfo->fi_btop;
++		     bindex >= 0 && bindex <= fidir->fd_bbot;
 +		     bindex++) {
 +			hfile = fidir->fd_hfile + bindex;
 +			do_pri_file(bindex, hfile ? hfile->hf_file : NULL);
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-aufs2.patch?r1=1.8&r2=1.9&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.831&r2=1.832&f=u



More information about the pld-cvs-commit mailing list