- diff --git a/sys/nfs41sys_fsctl.c b/sys/nfs41sys_fsctl.c
 - index ede33e3..8cdb5f2 100644
 - --- a/sys/nfs41sys_fsctl.c
 - +++ b/sys/nfs41sys_fsctl.c
 - @@ -482,17 +482,14 @@ NTSTATUS nfs41_SetZeroData(
 - (long long)setzerodatabuffer->BeyondFinalZero.QuadPart);
 - /*
 - - * Disable caching because NFSv4.2 DEALLOCATE is basically a
 - - * "write" operation. AFAIK we should flush the cache and wait
 - - * for the kernel lazy writer (which |RxChangeBufferingState()|
 - - * AFAIK does) before doing the DEALLOCATE, to avoid that we
 - + * NFSv4.2 DEALLOCATE is basically a
 - + * "write" operation. AFAIK we should purge the filesystem cache
 - + * before doing the DEALLOCATE, to avoid that we
 - * have outstanding writes in the kernel cache at the same
 - * location where the DEALLOCATE should do it's work
 - */
 - - ULONG flag = DISABLE_CACHING;
 - - DbgP("nfs41_SetZeroData: disableing caching for file '%wZ'\n",
 - - SrvOpen->pAlreadyPrefixedName);
 - - RxChangeBufferingState((PSRV_OPEN)SrvOpen, ULongToPtr(flag), 1);
 - + (void)RxPurgeFcbInSystemCache((PFCB)RxContext->pFcb,
 - + NULL, 0UL, TRUE, TRUE);
 - status = nfs41_UpcallCreate(NFS41_SYSOP_FSCTL_SET_ZERO_DATA,
 - &nfs41_fobx->sec_ctx,
 
|nfs41_SetZeroData()| use |RxPurgeFcbInSystemCache()|
Posted by Anonymous on Wed 12th Mar 2025 16:32
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.
 nrubsig.kpaste.net RSS