git: ab87c39c257e - main - nfscl: Set n_localmodtime in Deallocate
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 30 Oct 2021 23:49:27 UTC
The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ab87c39c257e7130677867f8e5c11a3ec53fa1bc commit ab87c39c257e7130677867f8e5c11a3ec53fa1bc Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2021-10-30 23:46:14 +0000 Commit: Rick Macklem <rmacklem@FreeBSD.org> CommitDate: 2021-10-30 23:46:14 +0000 nfscl: Set n_localmodtime in Deallocate Commit 2be417843a04 added n_localmodtime, which is used by Lookup and ReaddirPlus to check to see if the file attributes in an RPC reply might be stale. This patch sets n_localmodtime in Deallocate. Done as a separate commit, since Deallocate is not in stable/13. PR: 259071 Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D32635 --- sys/fs/nfsclient/nfs_clvnops.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index e8c713086717..f63eadf26a91 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -3767,6 +3767,7 @@ nfs_deallocate(struct vop_deallocate_args *ap) off_t tlen, mlen; int attrflag, error, ret; bool clipped; + struct timespec ts; error = 0; attrflag = 0; @@ -3809,6 +3810,10 @@ nfs_deallocate(struct vop_deallocate_args *ap) if (error == 0) { NFSCL_DEBUG(4, "dealloc: attrflag=%d na_size=%ju\n", attrflag, (uintmax_t)nfsva.na_size); + nanouptime(&ts); + NFSLOCKNODE(np); + np->n_localmodtime = ts; + NFSUNLOCKNODE(np); if (attrflag != 0) { if ((uint64_t)*ap->a_offset < nfsva.na_size) *ap->a_offset += omin((off_t)