From 9b3aa8f5352ccdb0131237913b7783d2d4653cef Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sat, 6 Nov 2010 18:40:01 +0000
Subject: aufs2: updated for new kernel 2.6.26 ref # 574 ref # 647

---
 abs/core/aufs2/PKGBUILD                  | 18 ++++++------
 abs/core/aufs2/aufs2-module-2.6.36.patch | 47 ++++++++++++++++++++++++++++++++
 abs/core/aufs2/aufs2.install             |  2 +-
 abs/core/aufs2/create-tarball.sh         |  6 ++--
 4 files changed, 61 insertions(+), 12 deletions(-)
 create mode 100644 abs/core/aufs2/aufs2-module-2.6.36.patch

diff --git a/abs/core/aufs2/PKGBUILD b/abs/core/aufs2/PKGBUILD
index 21037ef..39820c4 100644
--- a/abs/core/aufs2/PKGBUILD
+++ b/abs/core/aufs2/PKGBUILD
@@ -1,25 +1,26 @@
-# $Id: PKGBUILD 80414 2010-05-17 07:59:57Z tpowa $
+# $Id: PKGBUILD 97484 2010-10-30 17:27:24Z tpowa $
 # Maintainer: Paul Mattal <pjmattal@elys.com>
 
 pkgname=aufs2
-pkgver=2.6.34_20100517
+pkgver=2.6.36_20101021
 pkgrel=1
 #_kernver=${pkgver%_*}-ARCH
-_kernver=2.6.34-LinHES
+_kernver=2.6.36-LinHES
 pkgdesc="Another Unionfs Implementation"
 arch=('i686' 'x86_64')
 url="http://aufs.sourceforge.net/"
 license=('GPL2')
-depends=('kernel26>=2.6.34' 'kernel26<2.6.35')
-makedepends=('linux-api-headers>=2.6.34' 'linux-api-headers<2.6.35')
+depends=('kernel26>=2.6.36' 'kernel26<2.6.37')
+makedepends=('kernel26-headers>=2.6.36' 'kernel26-headers<2.6.37')
 replaces=('aufs')
 install=${pkgname}.install
-source=("ftp://ftp.archlinux.org/other/aufs2/${pkgname}-${pkgver}.tar.gz")
+source=("ftp://ftp.archlinux.org/other/aufs2/${pkgname}-${pkgver}.tar.gz"
+       aufs2-module-2.6.36.patch)
 options=('!makeflags')
-md5sums=('271f07ac41e07cb7c30ff29bee8087fa')
 
 build() {
   cd ${srcdir}/${pkgname}-${pkgver}
+  patch -Np1 -i ../aufs2-module-2.6.36.patch
   sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \
      config.mk || return 1
   sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \
@@ -55,4 +56,5 @@ package() {
   # install include files
   install -D -m 644 include/linux/aufs_type.h $pkgdir/usr/src/linux-$_kernver/include/linux/aufs_type.h || return 1
 }
-md5sums=('421c5ca3d4d917f92f7c0508a16f8177')
+md5sums=('9ba0666dc200bebb240ac598f9021d9f'
+         '55aac34dd0aa39458b6d927f4b2bddb8')
diff --git a/abs/core/aufs2/aufs2-module-2.6.36.patch b/abs/core/aufs2/aufs2-module-2.6.36.patch
new file mode 100644
index 0000000..3b43f7a
--- /dev/null
+++ b/abs/core/aufs2/aufs2-module-2.6.36.patch
@@ -0,0 +1,47 @@
+diff --git a/ubuntu/aufs/branch.c b/ubuntu/aufs/branch.c
+index cd4463c..ff6b158 100644
+--- a/fs/aufs/branch.c
++++ b/fs/aufs/branch.c
+@@ -22,6 +22,8 @@
+ 
+ #include <linux/file.h>
+ #include <linux/statfs.h>
++#include <linux/lglock.h>
++#include <linux/percpu.h>
+ #include "aufs.h"
+ 
+ /*
+@@ -851,7 +853,8 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
+ 		goto out;
+ 
+ 	/* no need file_list_lock() since sbinfo is locked? defered? */
+-	list_for_each_entry(file, &sb->s_files, f_u.fu_list) {
++        lg_global_lock(files_lglock);
++	do_file_list_for_each_entry(sb, file) {
+ 		if (special_file(file->f_dentry->d_inode->i_mode))
+ 			continue;
+ 
+@@ -861,6 +864,7 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
+ 			err = -EBUSY;
+ 			FiMustNoWaiters(file);
+ 			fi_read_unlock(file);
++			lg_global_unlock(files_lglock);
+ 			goto out_free;
+ 		}
+ 
+@@ -889,10 +893,13 @@ static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex)
+ 			if (p) {
+ 				a = p;
+ 				a[n++] = hf;
+-			} else
++			} else {
++				lg_global_unlock(files_lglock);
+ 				goto out_free;
++			}
+ 		}
+-	}
++	} while_file_list_for_each_entry;
++	lg_global_unlock(files_lglock);
+ 
+ 	err = 0;
+ 	if (n)
diff --git a/abs/core/aufs2/aufs2.install b/abs/core/aufs2/aufs2.install
index 0f4de97..eb5c591 100644
--- a/abs/core/aufs2/aufs2.install
+++ b/abs/core/aufs2/aufs2.install
@@ -1,5 +1,5 @@
 post_install() {
-  KERNEL_VERSION=2.6.34-LinHES
+  KERNEL_VERSION=2.6.36-LinHES
   depmod $KERNEL_VERSION
 }
 
diff --git a/abs/core/aufs2/create-tarball.sh b/abs/core/aufs2/create-tarball.sh
index c196c68..225d455 100755
--- a/abs/core/aufs2/create-tarball.sh
+++ b/abs/core/aufs2/create-tarball.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
-AUFS2VERSION="-34"
-KERNELVERSION=2.6.34
-GITSNAPSHOT=20100517
+AUFS2VERSION="-36"
+KERNELVERSION=2.6.36
+GITSNAPSHOT=20101021
 # aufs2 (no -xx) for the latest -rc version.
 git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs2-standalone.git
 cd aufs2-standalone.git
-- 
cgit v0.12