From 7a3e533acb99bd5cbe663654a0bb6a6ad0af7883 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sat, 5 Feb 2022 04:03:47 +0200 Subject: [PATCH] ffs_read(): lock buffers after snaplk with LK_NOWITNESS (cherry picked from commit 0af463e6619cf9f7386129d427c244d3da30fa3a) --- sys/ufs/ffs/ffs_vnops.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index c2d6948dd14..1cfa6a91918 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -695,6 +695,9 @@ ffs_read(ap) return (EOVERFLOW); bflag = GB_UNMAPPED | (uio->uio_segflg == UIO_NOCOPY ? 0 : GB_NOSPARSE); +#ifdef WITNESS + bflag |= IS_SNAPSHOT(ip) ? GB_NOWITNESS : 0; +#endif for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) { if ((bytesinfile = ip->i_size - uio->uio_offset) <= 0) break; -- 2.45.0