Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Mar 2018 00:49:49 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        NAGY Andreas <Andreas.Nagy@frequentis.com>, "'freebsd-stable@freebsd.org'" <freebsd-stable@freebsd.org>
Subject:   =?iso-8859-1?Q?Re:_NFS_4.1_RECLAIM=5FCOMPLETE_FS=A0failed_error_in_combin?= =?iso-8859-1?Q?ation_with_ESXi_client?=
Message-ID:  <YQBPR0101MB1042BE8D8A530CA8A905552FDDDD0@YQBPR0101MB1042.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <D890568E1D8DD044AA846C56245166780124AFD408@vie196nt>
References:  <D890568E1D8DD044AA846C56245166780124AFD408@vie196nt>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
NAGY Andreas wrote:
>>I'll take another look and see if I can guess why it doesn't like "2" as a reason for >not issuing a delegation. (As noted before, I don't think this is serious, but???)
>
>This warnings are still there, but don't seem to have any impact. It looks like they >only appeare when files are created or modified on the datastore from the >datastore browser or from shell, have not seen this warnings when working in a >VM on a virtual disk that is stored on the nfs datastore.
I've attached one more little patch. If this one is applied after wantdeleg.patch
and wantdeleg2.patch it might get rid of these. (There was another place
that needed to be changed that got missed by wantdeleg.patch.)

Have fun with it, rick


[-- Attachment #2 --]
--- fs/nfsserver/nfs_nfsdstate.c.orig	2018-03-08 21:47:21.275182000 -0500
+++ fs/nfsserver/nfs_nfsdstate.c	2018-03-08 21:54:10.318383000 -0500
@@ -3068,16 +3069,17 @@ tryagain:
 		    /*
 		     * This is where we can choose to issue a delegation.
 		     */
-		    if (delegate == 0 || (writedeleg == 0 && readonly == 0) ||
-			!NFSVNO_DELEGOK(vp) ||
+		    if ((new_stp->ls_flags & NFSLCK_WANTNODELEG) != 0)
+			*rflagsp |= NFSV4OPEN_WDNOTWANTED;
+		    else if (nfsrv_issuedelegs == 0)
+			*rflagsp |= NFSV4OPEN_WDSUPPFTYPE;
+		    else if (NFSRV_V4DELEGLIMIT(nfsrv_delegatecnt))
+			*rflagsp |= NFSV4OPEN_WDRESOURCE;
+		    else if (delegate == 0 || (writedeleg == 0 &&
+			readonly == 0) || !NFSVNO_DELEGOK(vp) ||
 			(clp->lc_flags & (LCL_CALLBACKSON | LCL_CBDOWN)) !=
 			 LCL_CALLBACKSON)
 			*rflagsp |= NFSV4OPEN_WDCONTENTION;
-		    else if (nfsrv_issuedelegs == 0 ||
-			NFSRV_V4DELEGLIMIT(nfsrv_delegatecnt))
-			*rflagsp |= NFSV4OPEN_WDRESOURCE;
-		    else if ((new_stp->ls_flags & NFSLCK_WANTNODELEG) != 0)
-			*rflagsp |= NFSV4OPEN_WDNOTWANTED;
 		    else {
 			new_deleg->ls_stateid.seqid = delegstateidp->seqid = 1;
 			new_deleg->ls_stateid.other[0] = delegstateidp->other[0]

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YQBPR0101MB1042BE8D8A530CA8A905552FDDDD0>