Date: Fri, 9 Mar 2012 02:13:47 +0000 (UTC) From: Rick Macklem <rmacklem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r232713 - projects/nfsv4.1-client/sys/fs/nfsclient Message-ID: <201203090213.q292DlI2074940@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rmacklem Date: Fri Mar 9 02:13:47 2012 New Revision: 232713 URL: http://svn.freebsd.org/changeset/base/232713 Log: Add checks for callbacks working before either asking for layouts or trying to use them. Callbacks are required for pNFS, so the server can recall layouts. Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c Fri Mar 9 01:32:05 2012 (r232712) +++ projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c Fri Mar 9 02:13:47 2012 (r232713) @@ -322,7 +322,8 @@ else printf(" fhl=0\n"); } /* Try and get a Layout, if it is supported. */ - if (error == 0 && NFSHASPNFS(nmp)) { + if (error == 0 && NFSHASPNFS(nmp) && + nfscl_enablecallb != 0 && nfs_numnfscbd > 0) { stateid.seqid = op->nfso_stateid.seqid; stateid.other[0] = op->nfso_stateid.other[0]; stateid.other[1] = op->nfso_stateid.other[1]; @@ -5274,7 +5275,7 @@ nfscl_doiods(vnode_t vp, struct uio *uio int eof, error; void *lckp; - if (!NFSHASPNFS(nmp)) + if (!NFSHASPNFS(nmp) || nfscl_enablecallb == 0 || nfs_numnfscbd == 0) return (EIO); /* Now, get a reference cnt on the clientid for this mount. */ if (nfscl_getref(nmp) == 0)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203090213.q292DlI2074940>