aboutsummaryrefslogtreecommitdiff
path: root/share/dtrace/(public-mirror)
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2025-06-29 21:15:02 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2025-06-29 21:15:02 +0000
commit171f66b0c2cab0b75c37eb1c815273da5282ff7e (patch)
tree5bd77bdb4b7892650ea44888f5817785d5c01acf /share/dtrace/(public-mirror)
parent20e15e905c58e9e2020b2c3e40caa2e8406e5827 (diff)
nfscl: Optimize NFSv4 remove and rename for nocto optionHEADmain
Without this patch a NFSv4.1/4.2 mount will return any delegations before doing a remove or rename over the file. This includes writing all dirty buffers back to the NFSv4 server before doing the remove/rename. For the common case where the file is being removed (the exception is when the file has multiple hard links), all the writing is wasted overhead. Further, if the file has multiple hard links, the delegation is still valid and does not need to be returned. For NFSv4.0, a server did not know which client was doing the remove/rename and, as such, had no choice but to recall the delegation. However, this is not the case for NFSv4.1/4.2. This patch avoids returning the delegation(s) for NFSv4.1/4.2 mounts if the "nocto" mount option is specified. Also, with this patch, the NFSv4.1/4.2 compound tests to see if the file has actually been removed and handles the delegation(s) appropriately. This new behaviour is only enabled when the "nocto" mount option is specified and will only improve performance when NFSv4.1/4.2 servers are issuing delegations and not recalling them for remove or rename being done by the same client as the one holding the delegation.
Diffstat (limited to 'share/dtrace/(public-mirror)')
0 files changed, 0 insertions, 0 deletions