diff --git a/core/linux-mmp/0001-AUFS-fix-for-3.10.76.patch b/core/linux-mmp/0001-AUFS-fix-for-3.10.76.patch new file mode 100644 index 000000000..244c546cc --- /dev/null +++ b/core/linux-mmp/0001-AUFS-fix-for-3.10.76.patch @@ -0,0 +1,85 @@ +From 7a2b9a1cdc8bb2813391a7d17dfafdc63b822fd2 Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Thu, 30 Apr 2015 20:15:13 -0600 +Subject: [PATCH] AUFS fix for 3.10.76 + +--- + fs/aufs/dcsub.c | 4 ++-- + fs/aufs/debug.c | 2 +- + fs/aufs/export.c | 2 +- + fs/aufs/hnotify.c | 4 ++-- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/fs/aufs/dcsub.c b/fs/aufs/dcsub.c +index 1746e79..c2e69fe 100644 +--- a/fs/aufs/dcsub.c ++++ b/fs/aufs/dcsub.c +@@ -133,7 +133,7 @@ resume: + while (next != &this_parent->d_subdirs) { + struct list_head *tmp = next; + struct dentry *dentry = list_entry(tmp, struct dentry, +- d_u.d_child); ++ d_child); + + next = tmp->next; + spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED); +@@ -169,7 +169,7 @@ resume: + this_parent = tmp; + spin_lock(&this_parent->d_lock); + rcu_read_unlock(); +- next = child->d_u.d_child.next; ++ next = child->d_child.next; + goto resume; + } + +diff --git a/fs/aufs/debug.c b/fs/aufs/debug.c +index 3465e79..5cc8337 100644 +--- a/fs/aufs/debug.c ++++ b/fs/aufs/debug.c +@@ -169,7 +169,7 @@ void au_dpri_dalias(struct inode *inode) + struct dentry *d; + + spin_lock(&inode->i_lock); +- hlist_for_each_entry(d, &inode->i_dentry, d_alias) ++ hlist_for_each_entry(d, &inode->i_dentry, d_u.d_alias) + au_dpri_dentry(d); + spin_unlock(&inode->i_lock); + } +diff --git a/fs/aufs/export.c b/fs/aufs/export.c +index 484794d..bbeb8dd 100644 +--- a/fs/aufs/export.c ++++ b/fs/aufs/export.c +@@ -243,7 +243,7 @@ static struct dentry *decode_by_ino(struct super_block *sb, ino_t ino, + dentry = d_find_alias(inode); + else { + spin_lock(&inode->i_lock); +- hlist_for_each_entry(d, &inode->i_dentry, d_alias) { ++ hlist_for_each_entry(d, &inode->i_dentry, d_u.d_alias) { + spin_lock(&d->d_lock); + if (!au_test_anon(d) + && d->d_parent->d_inode->i_ino == dir_ino) { +diff --git a/fs/aufs/hnotify.c b/fs/aufs/hnotify.c +index 6b5b85e..6b2e1fa 100644 +--- a/fs/aufs/hnotify.c ++++ b/fs/aufs/hnotify.c +@@ -211,7 +211,7 @@ static int hn_gen_by_inode(char *name, unsigned int nlen, struct inode *inode, + AuDebugOn(!name); + au_iigen_dec(inode); + spin_lock(&inode->i_lock); +- hlist_for_each_entry(d, &inode->i_dentry, d_alias) { ++ hlist_for_each_entry(d, &inode->i_dentry, d_u.d_alias) { + spin_lock(&d->d_lock); + dname = &d->d_name; + if (dname->len != nlen +@@ -378,7 +378,7 @@ static struct dentry *lookup_wlock_by_name(char *name, unsigned int nlen, + + dentry = NULL; + spin_lock(&parent->d_lock); +- list_for_each_entry(d, &parent->d_subdirs, d_u.d_child) { ++ list_for_each_entry(d, &parent->d_subdirs, d_child) { + /* AuDbg("%.*s\n", AuDLNPair(d)); */ + spin_lock_nested(&d->d_lock, DENTRY_D_LOCK_NESTED); + dname = &d->d_name; +-- +2.3.7 + diff --git a/core/linux-mmp/PKGBUILD b/core/linux-mmp/PKGBUILD index ad65078e1..e5d0248ad 100644 --- a/core/linux-mmp/PKGBUILD +++ b/core/linux-mmp/PKGBUILD @@ -18,11 +18,13 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz" "http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz" "git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}.x" 'http://archlinuxarm.org/builder/src/0001-Guruplug-Display-support.patch' + '0001-AUFS-fix-for-3.10.76.patch' 'config') md5sums=('4f25cd5bec5f8d5a7d935b3f2ccb8481' '0ecea7e99d9e7585061e56d7598ff6ab' 'SKIP' 'abaf1ca25f914085c5c54b5ecdb2ca4e' + 'fc05379f7cf47170556a906d415822aa' 'f11f084e2a7055cd5a39c6c62946e59e') prepare() { @@ -42,6 +44,8 @@ prepare() { git apply --whitespace=nowarn ../aufs3-standalone/aufs3-mmap.patch git apply --whitespace=nowarn ../aufs3-standalone/aufs3-standalone.patch + git apply ../0001-AUFS-fix-for-3.10.76.patch + # gplugd patch git apply --whitespace=nowarn ../0001-Guruplug-Display-support.patch