fix potential nfs4 issue
This commit is contained in:
parent
1b8d0cd32a
commit
da0ccee110
|
@ -0,0 +1,34 @@
|
||||||
|
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
|
||||||
|
index 0404047..21fde99 100644
|
||||||
|
--- a/net/sunrpc/rpc_pipe.c
|
||||||
|
+++ b/net/sunrpc/rpc_pipe.c
|
||||||
|
@@ -71,7 +71,9 @@ static void rpc_purge_list(wait_queue_head_t *waitq, struct list_head *head,
|
||||||
|
msg->errno = err;
|
||||||
|
destroy_msg(msg);
|
||||||
|
} while (!list_empty(head));
|
||||||
|
- wake_up(waitq);
|
||||||
|
+
|
||||||
|
+ if (waitq)
|
||||||
|
+ wake_up(waitq);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -91,11 +93,9 @@ rpc_timeout_upcall_queue(struct work_struct *work)
|
||||||
|
}
|
||||||
|
dentry = dget(pipe->dentry);
|
||||||
|
spin_unlock(&pipe->lock);
|
||||||
|
- if (dentry) {
|
||||||
|
- rpc_purge_list(&RPC_I(dentry->d_inode)->waitq,
|
||||||
|
- &free_list, destroy_msg, -ETIMEDOUT);
|
||||||
|
- dput(dentry);
|
||||||
|
- }
|
||||||
|
+ rpc_purge_list(dentry ? &RPC_I(dentry->d_inode)->waitq : NULL,
|
||||||
|
+ &free_list, destroy_msg, -ETIMEDOUT);
|
||||||
|
+ dput(dentry);
|
||||||
|
}
|
||||||
|
|
||||||
|
ssize_t rpc_pipe_generic_upcall(struct file *filp, struct rpc_pipe_msg *msg,
|
||||||
|
--
|
||||||
|
1.7.7.6
|
||||||
|
|
||||||
|
|
10
PKGBUILD
10
PKGBUILD
|
@ -8,7 +8,7 @@ pkgname=('linux' 'linux-headers' 'linux-docs') # Build stock -ARCH kernel
|
||||||
_kernelname=${pkgname#linux}
|
_kernelname=${pkgname#linux}
|
||||||
_basekernel=3.4
|
_basekernel=3.4
|
||||||
pkgver=${_basekernel}.2
|
pkgver=${_basekernel}.2
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
license=('GPL2')
|
license=('GPL2')
|
||||||
|
@ -22,7 +22,8 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.xz"
|
||||||
"${pkgname}.preset"
|
"${pkgname}.preset"
|
||||||
'fix-acerhdf-1810T-bios.patch'
|
'fix-acerhdf-1810T-bios.patch'
|
||||||
'change-default-console-loglevel.patch'
|
'change-default-console-loglevel.patch'
|
||||||
'i915-fix-ghost-tv-output.patch')
|
'i915-fix-ghost-tv-output.patch'
|
||||||
|
'3.4.2-rpc_pipefs.patch')
|
||||||
md5sums=('967f72983655e2479f951195953e8480'
|
md5sums=('967f72983655e2479f951195953e8480'
|
||||||
'ac52d3d82c20c7e80740fc5fb00b6ed4'
|
'ac52d3d82c20c7e80740fc5fb00b6ed4'
|
||||||
'3f2c307c8ffae67f60c13ef69af8364a'
|
'3f2c307c8ffae67f60c13ef69af8364a'
|
||||||
|
@ -30,7 +31,8 @@ md5sums=('967f72983655e2479f951195953e8480'
|
||||||
'eb14dcfd80c00852ef81ded6e826826a'
|
'eb14dcfd80c00852ef81ded6e826826a'
|
||||||
'38c1fd4a1f303f1f6c38e7f082727e2f'
|
'38c1fd4a1f303f1f6c38e7f082727e2f'
|
||||||
'9d3c56a4b999c8bfbd4018089a62f662'
|
'9d3c56a4b999c8bfbd4018089a62f662'
|
||||||
'263725f20c0b9eb9c353040792d644e5')
|
'263725f20c0b9eb9c353040792d644e5'
|
||||||
|
'18b3877f9014c8cdd5eb8f6a9e8a3a3a')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "${srcdir}/linux-${_basekernel}"
|
cd "${srcdir}/linux-${_basekernel}"
|
||||||
|
@ -38,6 +40,8 @@ build() {
|
||||||
# add upstream patch
|
# add upstream patch
|
||||||
patch -p1 -i "${srcdir}/patch-${pkgver}"
|
patch -p1 -i "${srcdir}/patch-${pkgver}"
|
||||||
|
|
||||||
|
# fix nfs4 regression
|
||||||
|
patch -Np1 -i "${srcdir}/3.4.2-rpc_pipefs.patch"
|
||||||
# add latest fixes from stable queue, if needed
|
# add latest fixes from stable queue, if needed
|
||||||
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
|
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# arg 2: the old package version
|
# arg 2: the old package version
|
||||||
|
|
||||||
KERNEL_NAME=
|
KERNEL_NAME=
|
||||||
KERNEL_VERSION=3.4.2-1-ARCH
|
KERNEL_VERSION=3.4.2-2-ARCH
|
||||||
|
|
||||||
post_install () {
|
post_install () {
|
||||||
# updating module dependencies
|
# updating module dependencies
|
||||||
|
|
Loading…
Reference in New Issue