summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2010-09-05 00:47:44 +0000
committerrmacklem <rmacklem@FreeBSD.org>2010-09-05 00:47:44 +0000
commitc42ae211aa74d20de5b6e0d69dd441631b56fa8a (patch)
tree7288d865a717d1b44fb063a7e829b6e4a74c96a4 /sys/fs
parent9c22599a5bae6198aea511a7646915eeb3de8aea (diff)
downloadFreeBSD-src-c42ae211aa74d20de5b6e0d69dd441631b56fa8a.zip
FreeBSD-src-c42ae211aa74d20de5b6e0d69dd441631b56fa8a.tar.gz
Change the code in ncl_bioread() in the experimental NFS
client to return an error when rabp is not set, so it behaves the same way as the regular NFS client for this case. It does not affect NFSv4, since nfs_getcacheblk() only fails for "intr" mounts and NFSv4 can't use the "intr" mount option. MFC after: 2 weeks
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsclient/nfs_clbio.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/fs/nfsclient/nfs_clbio.c b/sys/fs/nfsclient/nfs_clbio.c
index a98172f..98363e8 100644
--- a/sys/fs/nfsclient/nfs_clbio.c
+++ b/sys/fs/nfsclient/nfs_clbio.c
@@ -510,10 +510,7 @@ ncl_bioread(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred)
rabp = nfs_getcacheblk(vp, rabn, biosize, td);
if (!rabp) {
error = newnfs_sigintr(nmp, td);
- if (error)
- return (error);
- else
- break;
+ return (error ? error : EINTR);
}
if ((rabp->b_flags & (B_CACHE|B_DELWRI)) == 0) {
rabp->b_flags |= B_ASYNC;
OpenPOWER on IntegriCloud