diff options
author | Rick Macklem <rmacklem@FreeBSD.org> | 2025-06-29 21:15:02 +0000 |
---|---|---|
committer | Rick Macklem <rmacklem@FreeBSD.org> | 2025-06-29 21:15:02 +0000 |
commit | 171f66b0c2cab0b75c37eb1c815273da5282ff7e (patch) | |
tree | 5bd77bdb4b7892650ea44888f5817785d5c01acf /share/dtrace/(public-mirror) | |
parent | 20e15e905c58e9e2020b2c3e40caa2e8406e5827 (diff) |
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