- 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.