[aufs] Update to aufs3.2-20120827
svn path=/dists/sid/linux/; revision=19431
This commit is contained in:
parent
83875478c6
commit
f0fc49f73a
|
@ -6,6 +6,8 @@ linux (3.2.30-2) UNRELEASED; urgency=low
|
|||
* SUNRPC: Set alloc_slot for backchannel tcp ops (regression in 3.2.30)
|
||||
* iwlwifi: Do not request unreleased firmware for IWL6000 (Closes: #689416)
|
||||
* [rt] Update to 3.2.30-rt45
|
||||
* [aufs] Update to aufs3.2-20120827:
|
||||
- Fix statfs() values when different block sizes are in use
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Sat, 29 Sep 2012 14:19:46 +0200
|
||||
|
||||
|
|
|
@ -205,7 +205,7 @@
|
|||
+ When aufs supports Magic SysRq, enabled automatically.
|
||||
+endif
|
||||
--- a/fs/aufs/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/Makefile 2012-01-10 02:15:56.545455955 +0000
|
||||
+++ b/fs/aufs/Makefile 2012-08-01 03:41:52.619414717 +0100
|
||||
@@ -0,0 +1,42 @@
|
||||
+
|
||||
+include ${src}/magic.mk
|
||||
|
@ -313,7 +313,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_H__ */
|
||||
--- a/fs/aufs/branch.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/branch.c 2012-01-10 02:15:56.545455955 +0000
|
||||
+++ b/fs/aufs/branch.c 2012-10-10 06:26:21.201348727 +0100
|
||||
@@ -0,0 +1,1169 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -570,12 +570,12 @@
|
|||
+ if ((h_inode->i_mode & S_IALLUGO) != (inode->i_mode & S_IALLUGO)
|
||||
+ || h_inode->i_uid != inode->i_uid
|
||||
+ || h_inode->i_gid != inode->i_gid)
|
||||
+ pr_warning("uid/gid/perm %s %u/%u/0%o, %u/%u/0%o\n",
|
||||
+ add->pathname,
|
||||
+ inode->i_uid, inode->i_gid,
|
||||
+ (inode->i_mode & S_IALLUGO),
|
||||
+ h_inode->i_uid, h_inode->i_gid,
|
||||
+ (h_inode->i_mode & S_IALLUGO));
|
||||
+ pr_warn("uid/gid/perm %s %u/%u/0%o, %u/%u/0%o\n",
|
||||
+ add->pathname,
|
||||
+ inode->i_uid, inode->i_gid,
|
||||
+ (inode->i_mode & S_IALLUGO),
|
||||
+ h_inode->i_uid, h_inode->i_gid,
|
||||
+ (h_inode->i_mode & S_IALLUGO));
|
||||
+ }
|
||||
+
|
||||
+out:
|
||||
|
@ -1170,8 +1170,8 @@
|
|||
+ /* 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);
|
||||
+ pr_warn("failed re-creating base whiteout, %s. (%d)\n",
|
||||
+ del->pathname, rerr);
|
||||
+out:
|
||||
+ return err;
|
||||
+}
|
||||
|
@ -1759,7 +1759,7 @@
|
|||
+
|
||||
+-include ${srctree}/${src}/conf_priv.mk
|
||||
--- a/fs/aufs/cpup.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/cpup.c 2012-03-20 03:45:28.417045299 +0000
|
||||
+++ b/fs/aufs/cpup.c 2012-10-10 06:26:21.205348749 +0100
|
||||
@@ -0,0 +1,1079 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -1902,7 +1902,7 @@
|
|||
+
|
||||
+ err = vfsub_notify_change(&dt->dt_h_path, &attr);
|
||||
+ if (unlikely(err))
|
||||
+ pr_warning("restoring timestamps failed(%d). ignored\n", err);
|
||||
+ pr_warn("restoring timestamps failed(%d). ignored\n", err);
|
||||
+}
|
||||
+
|
||||
+/* ---------------------------------------------------------------------- */
|
||||
|
@ -3657,7 +3657,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_DCSUB_H__ */
|
||||
--- a/fs/aufs/debug.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/debug.c 2012-01-10 02:15:56.545455955 +0000
|
||||
+++ b/fs/aufs/debug.c 2012-10-10 06:26:21.205348749 +0100
|
||||
@@ -0,0 +1,489 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -4139,7 +4139,7 @@
|
|||
+ AuDebugOn(destr.len < NAME_MAX);
|
||||
+
|
||||
+#ifdef CONFIG_4KSTACKS
|
||||
+ pr_warning("CONFIG_4KSTACKS is defined.\n");
|
||||
+ pr_warn("CONFIG_4KSTACKS is defined.\n");
|
||||
+#endif
|
||||
+
|
||||
+#ifdef AuForceNoBrs
|
||||
|
@ -4149,7 +4149,7 @@
|
|||
+ return 0;
|
||||
+}
|
||||
--- a/fs/aufs/debug.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/debug.h 2012-01-10 02:15:56.545455955 +0000
|
||||
+++ b/fs/aufs/debug.h 2012-10-10 06:26:21.225348843 +0100
|
||||
@@ -0,0 +1,243 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -4217,7 +4217,7 @@
|
|||
+#define AuWarn1(fmt, ...) do { \
|
||||
+ static unsigned char _c; \
|
||||
+ if (!_c++) \
|
||||
+ pr_warning(fmt, ##__VA_ARGS__); \
|
||||
+ pr_warn(fmt, ##__VA_ARGS__); \
|
||||
+} while (0)
|
||||
+
|
||||
+#define AuErr1(fmt, ...) do { \
|
||||
|
@ -4395,7 +4395,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_DEBUG_H__ */
|
||||
--- a/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/dentry.c 2012-01-10 02:15:56.545455955 +0000
|
||||
+++ b/fs/aufs/dentry.c 2012-10-10 06:26:21.225348843 +0100
|
||||
@@ -0,0 +1,1140 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -5538,7 +5538,7 @@
|
|||
+ .d_release = aufs_d_release
|
||||
+};
|
||||
--- a/fs/aufs/dentry.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/dentry.h 2012-01-10 02:15:56.549455982 +0000
|
||||
+++ b/fs/aufs/dentry.h 2012-10-10 06:26:21.225348843 +0100
|
||||
@@ -0,0 +1,237 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -6324,7 +6324,7 @@
|
|||
+ return -1;
|
||||
+}
|
||||
--- a/fs/aufs/dir.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/dir.c 2012-03-20 03:45:28.417045299 +0000
|
||||
+++ b/fs/aufs/dir.c 2012-10-10 06:26:21.225348843 +0100
|
||||
@@ -0,0 +1,634 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -7101,7 +7101,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_DIR_H__ */
|
||||
--- a/fs/aufs/dynop.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/dynop.c 2012-01-10 02:15:56.549455982 +0000
|
||||
+++ b/fs/aufs/dynop.c 2012-10-10 06:26:21.225348843 +0100
|
||||
@@ -0,0 +1,377 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2010-2012 Junjiro R. Okajima
|
||||
|
@ -7560,7 +7560,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_DYNOP_H__ */
|
||||
--- a/fs/aufs/export.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/export.c 2012-03-20 03:45:28.417045299 +0000
|
||||
+++ b/fs/aufs/export.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,804 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -8367,7 +8367,7 @@
|
|||
+ atomic_set(&sbinfo->si_xigen_next, u);
|
||||
+}
|
||||
--- a/fs/aufs/f_op.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/f_op.c 2012-01-10 02:15:56.549455982 +0000
|
||||
+++ b/fs/aufs/f_op.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,729 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -9099,7 +9099,7 @@
|
|||
+#endif
|
||||
+};
|
||||
--- a/fs/aufs/f_op_sp.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/f_op_sp.c 2012-01-10 02:15:56.549455982 +0000
|
||||
+++ b/fs/aufs/f_op_sp.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,298 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -9400,7 +9400,7 @@
|
|||
+ return ret;
|
||||
+}
|
||||
--- a/fs/aufs/file.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/file.c 2012-03-20 03:45:28.417045299 +0000
|
||||
+++ b/fs/aufs/file.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,673 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -10076,7 +10076,7 @@
|
|||
+#endif /* CONFIG_AUFS_DEBUG */
|
||||
+};
|
||||
--- a/fs/aufs/file.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/file.h 2012-01-10 02:15:56.549455982 +0000
|
||||
+++ b/fs/aufs/file.h 2012-08-01 03:41:52.619414717 +0100
|
||||
@@ -0,0 +1,298 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -10307,7 +10307,7 @@
|
|||
+{
|
||||
+ if (atomic_inc_return(&au_fi(f)->fi_mmapped))
|
||||
+ return;
|
||||
+ pr_warning("fi_mmapped wrapped around\n");
|
||||
+ pr_warn("fi_mmapped wrapped around\n");
|
||||
+ while (!atomic_inc_return(&au_fi(f)->fi_mmapped))
|
||||
+ ;
|
||||
+}
|
||||
|
@ -10536,7 +10536,7 @@
|
|||
+ return err;
|
||||
+}
|
||||
--- a/fs/aufs/fstype.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/fstype.h 2012-01-10 02:15:56.553455997 +0000
|
||||
+++ b/fs/aufs/fstype.h 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,496 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -11035,7 +11035,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_FSTYPE_H__ */
|
||||
--- a/fs/aufs/hfsnotify.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/hfsnotify.c 2012-03-11 05:01:22.570973560 +0000
|
||||
+++ b/fs/aufs/hfsnotify.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,260 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -11358,7 +11358,7 @@
|
|||
+ }
|
||||
+}
|
||||
--- a/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/hnotify.c 2012-03-11 05:01:22.570973560 +0000
|
||||
+++ b/fs/aufs/hnotify.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,712 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -11470,7 +11470,7 @@
|
|||
+
|
||||
+ err = 0;
|
||||
+ if (unlikely(inode->i_ino == AUFS_ROOT_INO)) {
|
||||
+ pr_warning("branch root dir was changed\n");
|
||||
+ pr_warn("branch root dir was changed\n");
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
|
@ -11565,7 +11565,7 @@
|
|||
+
|
||||
+ err = 1;
|
||||
+ if (unlikely(inode->i_ino == AUFS_ROOT_INO)) {
|
||||
+ pr_warning("branch root dir was changed\n");
|
||||
+ pr_warn("branch root dir was changed\n");
|
||||
+ err = 0;
|
||||
+ goto out;
|
||||
+ }
|
||||
|
@ -11621,7 +11621,7 @@
|
|||
+ if (IS_ROOT(dentry)
|
||||
+ /* || (inode && inode->i_ino == AUFS_ROOT_INO) */
|
||||
+ ) {
|
||||
+ pr_warning("branch root dir was changed\n");
|
||||
+ pr_warn("branch root dir was changed\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
|
@ -11720,8 +11720,8 @@
|
|||
+ if (au_ftest_hnjob(a->flags, MNTPNT)
|
||||
+ && a->dentry
|
||||
+ && d_mountpoint(a->dentry))
|
||||
+ pr_warning("mount-point %.*s is removed or renamed\n",
|
||||
+ AuDLNPair(a->dentry));
|
||||
+ pr_warn("mount-point %.*s is removed or renamed\n",
|
||||
+ AuDLNPair(a->dentry));
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
|
@ -11783,7 +11783,7 @@
|
|||
+ goto out;
|
||||
+
|
||||
+ if (unlikely(inode->i_ino == AUFS_ROOT_INO)) {
|
||||
+ pr_warning("wrong root branch\n");
|
||||
+ pr_warn("wrong root branch\n");
|
||||
+ iput(inode);
|
||||
+ inode = NULL;
|
||||
+ goto out;
|
||||
|
@ -12073,8 +12073,8 @@
|
|||
+ au_hn_destroy_cache();
|
||||
+}
|
||||
--- a/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/i_op.c 2012-03-20 03:45:28.417045299 +0000
|
||||
@@ -0,0 +1,992 @@
|
||||
+++ b/fs/aufs/i_op.c 2012-10-10 06:26:21.241348914 +0100
|
||||
@@ -0,0 +1,987 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
+ *
|
||||
|
@ -12282,18 +12282,13 @@
|
|||
+ ret = d_splice_alias(inode, dentry);
|
||||
+ if (unlikely(IS_ERR(ret) && inode)) {
|
||||
+ ii_write_unlock(inode);
|
||||
+ lc_idx = AuLcNonDir_IIINFO;
|
||||
+ if (S_ISLNK(inode->i_mode))
|
||||
+ lc_idx = AuLcSymlink_IIINFO;
|
||||
+ else if (S_ISDIR(inode->i_mode))
|
||||
+ lc_idx = AuLcDir_IIINFO;
|
||||
+ au_rw_class(&au_ii(inode)->ii_rwsem, au_lc_key + lc_idx);
|
||||
+ iput(inode);
|
||||
+ inode = NULL;
|
||||
+ }
|
||||
+
|
||||
+out_unlock:
|
||||
+ di_write_unlock(dentry);
|
||||
+ if (unlikely(IS_ERR(ret) && inode)) {
|
||||
+ if (inode) {
|
||||
+ lc_idx = AuLcNonDir_DIINFO;
|
||||
+ if (S_ISLNK(inode->i_mode))
|
||||
+ lc_idx = AuLcSymlink_DIINFO;
|
||||
|
@ -13068,7 +13063,7 @@
|
|||
+ .truncate_range = aufs_truncate_range
|
||||
+};
|
||||
--- a/fs/aufs/i_op_add.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/i_op_add.c 2012-03-20 03:45:28.425045336 +0000
|
||||
+++ b/fs/aufs/i_op_add.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,711 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -13782,7 +13777,7 @@
|
|||
+ return err;
|
||||
+}
|
||||
--- a/fs/aufs/i_op_del.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/i_op_del.c 2012-01-10 02:15:56.557456016 +0000
|
||||
+++ b/fs/aufs/i_op_del.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,478 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -14263,7 +14258,7 @@
|
|||
+ return err;
|
||||
+}
|
||||
--- a/fs/aufs/i_op_ren.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/i_op_ren.c 2012-03-11 05:01:22.570973560 +0000
|
||||
+++ b/fs/aufs/i_op_ren.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,1026 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -14521,8 +14516,8 @@
|
|||
+ || au_test_fs_remote(a->h_dst->d_sb)) {
|
||||
+ err = au_whtmp_rmdir(dir, a->btgt, a->h_dst, &a->whlist);
|
||||
+ if (unlikely(err))
|
||||
+ pr_warning("failed removing whtmp dir %.*s (%d), "
|
||||
+ "ignored.\n", AuDLNPair(a->h_dst), err);
|
||||
+ pr_warn("failed removing whtmp dir %.*s (%d), "
|
||||
+ "ignored.\n", AuDLNPair(a->h_dst), err);
|
||||
+ } else {
|
||||
+ au_nhash_wh_free(&a->thargs->whlist);
|
||||
+ a->thargs->whlist = a->whlist;
|
||||
|
@ -15559,8 +15554,8 @@
|
|||
+ AuRwDestroy(&iinfo->ii_rwsem);
|
||||
+}
|
||||
--- a/fs/aufs/inode.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/inode.c 2012-01-10 02:15:56.557456016 +0000
|
||||
@@ -0,0 +1,471 @@
|
||||
+++ b/fs/aufs/inode.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,478 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
+ *
|
||||
|
@ -15889,7 +15884,7 @@
|
|||
+ struct super_block *sb;
|
||||
+ struct mutex *mtx;
|
||||
+ ino_t h_ino, ino;
|
||||
+ int err;
|
||||
+ int err, lc_idx;
|
||||
+ aufs_bindex_t bstart;
|
||||
+
|
||||
+ sb = dentry->d_sb;
|
||||
|
@ -15930,6 +15925,13 @@
|
|||
+
|
||||
+ AuDbg("%lx, new %d\n", inode->i_state, !!(inode->i_state & I_NEW));
|
||||
+ if (inode->i_state & I_NEW) {
|
||||
+ lc_idx = AuLcNonDir_IIINFO;
|
||||
+ if (S_ISLNK(h_inode->i_mode))
|
||||
+ lc_idx = AuLcSymlink_IIINFO;
|
||||
+ else if (S_ISDIR(h_inode->i_mode))
|
||||
+ lc_idx = AuLcDir_IIINFO;
|
||||
+ au_rw_class(&au_ii(inode)->ii_rwsem, au_lc_key + lc_idx);
|
||||
+
|
||||
+ ii_write_lock_new_child(inode);
|
||||
+ err = set_inode(inode, dentry);
|
||||
+ if (!err) {
|
||||
|
@ -16033,7 +16035,7 @@
|
|||
+ return au_test_h_perm(h_inode, mask);
|
||||
+}
|
||||
--- a/fs/aufs/inode.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/inode.h 2012-03-20 03:45:28.425045336 +0000
|
||||
+++ b/fs/aufs/inode.h 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,559 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -16794,7 +16796,7 @@
|
|||
+#endif
|
||||
+#endif
|
||||
--- a/fs/aufs/loop.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/loop.c 2012-01-10 02:15:56.557456016 +0000
|
||||
+++ b/fs/aufs/loop.c 2012-07-22 01:31:00.162115458 +0100
|
||||
@@ -0,0 +1,133 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -16905,8 +16907,8 @@
|
|||
+
|
||||
+pr:
|
||||
+ spin_unlock(&spin);
|
||||
+ pr_warning("you may want to try another patch for loopback file "
|
||||
+ "on %s(0x%lx) branch\n", au_sbtype(h_sb), magic);
|
||||
+ pr_warn("you may want to try another patch for loopback file "
|
||||
+ "on %s(0x%lx) branch\n", au_sbtype(h_sb), magic);
|
||||
+}
|
||||
+
|
||||
+int au_loopback_init(void)
|
||||
|
@ -17347,7 +17349,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_MODULE_H__ */
|
||||
--- a/fs/aufs/opts.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/opts.c 2012-01-10 02:15:56.561456041 +0000
|
||||
+++ b/fs/aufs/opts.c 2012-07-22 01:31:00.166115467 +0100
|
||||
@@ -0,0 +1,1677 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -17565,7 +17567,7 @@
|
|||
+ else {
|
||||
+ if (p)
|
||||
+ *p = '+';
|
||||
+ pr_warning("ignored branch attribute %s\n", str);
|
||||
+ pr_warn("ignored branch attribute %s\n", str);
|
||||
+ break;
|
||||
+ }
|
||||
+ if (p)
|
||||
|
@ -17588,7 +17590,7 @@
|
|||
+ if (!val) {
|
||||
+ if (p)
|
||||
+ *p = '+';
|
||||
+ pr_warning("ignored branch permission %s\n", perm);
|
||||
+ pr_warn("ignored branch permission %s\n", perm);
|
||||
+ val = AuBrPerm_RO;
|
||||
+ goto out;
|
||||
+ }
|
||||
|
@ -18474,7 +18476,7 @@
|
|||
+ break;
|
||||
+
|
||||
+ case Opt_ignore:
|
||||
+ pr_warning("ignored %s\n", opt_str);
|
||||
+ pr_warn("ignored %s\n", opt_str);
|
||||
+ /*FALLTHROUGH*/
|
||||
+ case Opt_ignore_silent:
|
||||
+ skipped = 1;
|
||||
|
@ -18810,14 +18812,14 @@
|
|||
+
|
||||
+ if (!(sb_flags & MS_RDONLY)) {
|
||||
+ if (unlikely(!au_br_writable(au_sbr_perm(sb, 0))))
|
||||
+ pr_warning("first branch should be rw\n");
|
||||
+ pr_warn("first branch should be rw\n");
|
||||
+ if (unlikely(au_opt_test(sbinfo->si_mntflags, SHWH)))
|
||||
+ pr_warning("shwh should be used with ro\n");
|
||||
+ pr_warn("shwh should be used with ro\n");
|
||||
+ }
|
||||
+
|
||||
+ if (au_opt_test((sbinfo->si_mntflags | pending), UDBA_HNOTIFY)
|
||||
+ && !au_opt_test(sbinfo->si_mntflags, XINO))
|
||||
+ pr_warning("udba=*notify requires xino\n");
|
||||
+ pr_warn("udba=*notify requires xino\n");
|
||||
+
|
||||
+ err = 0;
|
||||
+ root = sb->s_root;
|
||||
|
@ -19239,7 +19241,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_OPTS_H__ */
|
||||
--- a/fs/aufs/plink.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/plink.c 2012-01-10 02:15:56.561456041 +0000
|
||||
+++ b/fs/aufs/plink.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,515 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -19667,7 +19669,7 @@
|
|||
+
|
||||
+out:
|
||||
+ if (unlikely(err)) {
|
||||
+ pr_warning("err %d, damaged pseudo link.\n", err);
|
||||
+ pr_warn("err %d, damaged pseudo link.\n", err);
|
||||
+ if (tmp) {
|
||||
+ au_spl_del_rcu(&tmp->list, &sbinfo->si_plink);
|
||||
+ call_rcu(&tmp->rcu, do_put_plink_rcu);
|
||||
|
@ -19989,7 +19991,7 @@
|
|||
+ return err;
|
||||
+}
|
||||
--- a/fs/aufs/rdu.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/rdu.c 2012-01-10 02:15:56.561456041 +0000
|
||||
+++ b/fs/aufs/rdu.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,383 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -20977,8 +20979,8 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_SPL_H__ */
|
||||
--- a/fs/aufs/super.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/super.c 2012-03-20 03:45:28.425045336 +0000
|
||||
@@ -0,0 +1,938 @@
|
||||
+++ b/fs/aufs/super.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,968 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
+ *
|
||||
|
@ -21286,7 +21288,18 @@
|
|||
+
|
||||
+ old = a;
|
||||
+ a += b;
|
||||
+ if (old < a)
|
||||
+ if (old <= a)
|
||||
+ return a;
|
||||
+ return ULLONG_MAX;
|
||||
+}
|
||||
+
|
||||
+static u64 au_mul_till_max(u64 a, long mul)
|
||||
+{
|
||||
+ u64 old;
|
||||
+
|
||||
+ old = a;
|
||||
+ a *= mul;
|
||||
+ if (old <= a)
|
||||
+ return a;
|
||||
+ return ULLONG_MAX;
|
||||
+}
|
||||
|
@ -21294,25 +21307,26 @@
|
|||
+static int au_statfs_sum(struct super_block *sb, struct kstatfs *buf)
|
||||
+{
|
||||
+ int err;
|
||||
+ long bsize, factor;
|
||||
+ u64 blocks, bfree, bavail, files, ffree;
|
||||
+ aufs_bindex_t bend, bindex, i;
|
||||
+ unsigned char shared;
|
||||
+ struct path h_path;
|
||||
+ struct super_block *h_sb;
|
||||
+
|
||||
+ err = 0;
|
||||
+ bsize = LONG_MAX;
|
||||
+ files = 0;
|
||||
+ ffree = 0;
|
||||
+ blocks = 0;
|
||||
+ bfree = 0;
|
||||
+ bavail = 0;
|
||||
+ files = 0;
|
||||
+ ffree = 0;
|
||||
+
|
||||
+ err = 0;
|
||||
+ bend = au_sbend(sb);
|
||||
+ for (bindex = bend; bindex >= 0; bindex--) {
|
||||
+ for (bindex = 0; bindex <= bend; bindex++) {
|
||||
+ h_path.mnt = au_sbr_mnt(sb, bindex);
|
||||
+ h_sb = h_path.mnt->mnt_sb;
|
||||
+ shared = 0;
|
||||
+ for (i = bindex + 1; !shared && i <= bend; i++)
|
||||
+ for (i = 0; !shared && i < bindex; i++)
|
||||
+ shared = (au_sbr_sb(sb, i) == h_sb);
|
||||
+ if (shared)
|
||||
+ continue;
|
||||
|
@ -21323,18 +21337,36 @@
|
|||
+ if (unlikely(err))
|
||||
+ goto out;
|
||||
+
|
||||
+ blocks = au_add_till_max(blocks, buf->f_blocks);
|
||||
+ bfree = au_add_till_max(bfree, buf->f_bfree);
|
||||
+ bavail = au_add_till_max(bavail, buf->f_bavail);
|
||||
+ if (bsize > buf->f_bsize) {
|
||||
+ /*
|
||||
+ * we will reduce bsize, so we have to expand blocks
|
||||
+ * etc. to match them again
|
||||
+ */
|
||||
+ factor = (bsize / buf->f_bsize);
|
||||
+ blocks = au_mul_till_max(blocks, factor);
|
||||
+ bfree = au_mul_till_max(bfree, factor);
|
||||
+ bavail = au_mul_till_max(bavail, factor);
|
||||
+ bsize = buf->f_bsize;
|
||||
+ }
|
||||
+
|
||||
+ factor = (buf->f_bsize / bsize);
|
||||
+ blocks = au_add_till_max(blocks,
|
||||
+ au_mul_till_max(buf->f_blocks, factor));
|
||||
+ bfree = au_add_till_max(bfree,
|
||||
+ au_mul_till_max(buf->f_bfree, factor));
|
||||
+ bavail = au_add_till_max(bavail,
|
||||
+ au_mul_till_max(buf->f_bavail, factor));
|
||||
+ files = au_add_till_max(files, buf->f_files);
|
||||
+ ffree = au_add_till_max(ffree, buf->f_ffree);
|
||||
+ }
|
||||
+
|
||||
+ buf->f_bsize = bsize;
|
||||
+ buf->f_blocks = blocks;
|
||||
+ buf->f_bfree = bfree;
|
||||
+ buf->f_bavail = bavail;
|
||||
+ buf->f_files = files;
|
||||
+ buf->f_ffree = ffree;
|
||||
+ buf->f_frsize = 0;
|
||||
+
|
||||
+out:
|
||||
+ return err;
|
||||
|
@ -22682,7 +22714,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __SYSAUFS_H__ */
|
||||
--- a/fs/aufs/sysfs.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/sysfs.c 2012-01-10 02:15:56.569456073 +0000
|
||||
+++ b/fs/aufs/sysfs.c 2012-07-22 01:31:00.166115467 +0100
|
||||
@@ -0,0 +1,257 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -22937,12 +22969,12 @@
|
|||
+ "%d", bindex);
|
||||
+ err = sysfs_create_file(kobj, &br->br_attr);
|
||||
+ if (unlikely(err))
|
||||
+ pr_warning("failed %s under sysfs(%d)\n",
|
||||
+ br->br_name, err);
|
||||
+ pr_warn("failed %s under sysfs(%d)\n",
|
||||
+ br->br_name, err);
|
||||
+ }
|
||||
+}
|
||||
--- a/fs/aufs/sysrq.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/sysrq.c 2012-01-10 02:15:56.569456073 +0000
|
||||
+++ b/fs/aufs/sysrq.c 2012-10-10 06:26:21.261349000 +0100
|
||||
@@ -0,0 +1,148 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -23981,7 +24013,7 @@
|
|||
+ return 0;
|
||||
+}
|
||||
--- a/fs/aufs/vfsub.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/vfsub.c 2012-03-20 03:45:28.425045336 +0000
|
||||
+++ b/fs/aufs/vfsub.c 2012-10-10 06:26:21.265349041 +0100
|
||||
@@ -0,0 +1,835 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -24819,7 +24851,7 @@
|
|||
+ return err;
|
||||
+}
|
||||
--- a/fs/aufs/vfsub.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/vfsub.h 2012-03-20 03:45:28.425045336 +0000
|
||||
+++ b/fs/aufs/vfsub.h 2012-10-10 06:26:21.265349041 +0100
|
||||
@@ -0,0 +1,232 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -25757,7 +25789,7 @@
|
|||
+ }
|
||||
+};
|
||||
--- a/fs/aufs/whout.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/whout.c 2012-01-10 02:15:56.573456100 +0000
|
||||
+++ b/fs/aufs/whout.c 2012-10-10 06:26:21.265349041 +0100
|
||||
@@ -0,0 +1,1049 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -25917,7 +25949,7 @@
|
|||
+ goto out_name;
|
||||
+ dput(dentry);
|
||||
+ }
|
||||
+ /* pr_warning("could not get random name\n"); */
|
||||
+ /* pr_warn("could not get random name\n"); */
|
||||
+ dentry = ERR_PTR(-EEXIST);
|
||||
+ AuDbg("%.*s\n", AuLNPair(&qs));
|
||||
+ BUG();
|
||||
|
@ -26035,8 +26067,8 @@
|
|||
+ mnt_drop_write(whpath->mnt);
|
||||
+ }
|
||||
+ if (unlikely(err))
|
||||
+ pr_warning("failed removing %.*s (%d), ignored.\n",
|
||||
+ AuDLNPair(whpath->dentry), err);
|
||||
+ pr_warn("failed removing %.*s (%d), ignored.\n",
|
||||
+ AuDLNPair(whpath->dentry), err);
|
||||
+}
|
||||
+
|
||||
+static int test_linkable(struct dentry *h_root)
|
||||
|
@ -26340,8 +26372,8 @@
|
|||
+ mnt_drop_write(a->br->br_mnt);
|
||||
+ }
|
||||
+ } else {
|
||||
+ pr_warning("%.*s is moved, ignored\n",
|
||||
+ AuDLNPair(wbr->wbr_whbase));
|
||||
+ pr_warn("%.*s is moved, ignored\n",
|
||||
+ AuDLNPair(wbr->wbr_whbase));
|
||||
+ err = 0;
|
||||
+ }
|
||||
+ dput(wbr->wbr_whbase);
|
||||
|
@ -26732,8 +26764,8 @@
|
|||
+ return 0; /* success */
|
||||
+ }
|
||||
+
|
||||
+ pr_warning("failed removing %.*s(%d), ignored\n",
|
||||
+ AuDLNPair(wh_dentry), err);
|
||||
+ pr_warn("failed removing %.*s(%d), ignored\n",
|
||||
+ AuDLNPair(wh_dentry), err);
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
|
@ -26803,8 +26835,8 @@
|
|||
+ args->wh_dentry = dget(wh_dentry);
|
||||
+ wkq_err = au_wkq_nowait(call_rmdir_whtmp, args, sb, /*flags*/0);
|
||||
+ if (unlikely(wkq_err)) {
|
||||
+ pr_warning("rmdir error %.*s (%d), ignored\n",
|
||||
+ AuDLNPair(wh_dentry), wkq_err);
|
||||
+ pr_warn("rmdir error %.*s (%d), ignored\n",
|
||||
+ AuDLNPair(wh_dentry), wkq_err);
|
||||
+ au_whtmp_rmdir_free(args);
|
||||
+ }
|
||||
+}
|
||||
|
@ -26900,7 +26932,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_WHOUT_H__ */
|
||||
--- a/fs/aufs/wkq.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/wkq.c 2012-01-10 02:15:56.573456100 +0000
|
||||
+++ b/fs/aufs/wkq.c 2012-10-10 06:26:21.265349041 +0100
|
||||
@@ -0,0 +1,214 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -27212,7 +27244,7 @@
|
|||
+#endif /* __KERNEL__ */
|
||||
+#endif /* __AUFS_WKQ_H__ */
|
||||
--- a/fs/aufs/xino.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/fs/aufs/xino.c 2012-01-10 02:15:56.573456100 +0000
|
||||
+++ b/fs/aufs/xino.c 2012-07-22 01:31:00.166115467 +0100
|
||||
@@ -0,0 +1,1264 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -27532,7 +27564,7 @@
|
|||
+
|
||||
+ ii_read_unlock(dir);
|
||||
+ if (unlikely(err))
|
||||
+ pr_warning("err b%d, (%d)\n", bindex, err);
|
||||
+ pr_warn("err b%d, (%d)\n", bindex, err);
|
||||
+ atomic_dec(&br->br_xino_running);
|
||||
+ atomic_dec(&br->br_count);
|
||||
+ si_write_unlock(sb);
|
||||
|
@ -28479,7 +28511,7 @@
|
|||
+ return err;
|
||||
+}
|
||||
--- a/include/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/include/linux/aufs_type.h 2012-03-20 03:45:28.425045336 +0000
|
||||
+++ b/include/linux/aufs_type.h 2012-10-10 06:26:21.265349041 +0100
|
||||
@@ -0,0 +1,233 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
|
||||
|
@ -28522,7 +28554,7 @@
|
|||
+
|
||||
+#include <linux/limits.h>
|
||||
+
|
||||
+#define AUFS_VERSION "3.2-20120312"
|
||||
+#define AUFS_VERSION "3.2-20120827"
|
||||
+
|
||||
+/* todo? move this to linux-2.6.19/include/magic.h */
|
||||
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
|
||||
|
|
Loading…
Reference in New Issue