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