* parts of pages on NFS being replaced by swaths of NULs
@ 2025-07-30 14:52 Jeff Layton
2025-07-31 21:56 ` Trond Myklebust
0 siblings, 1 reply; 20+ messages in thread
From: Jeff Layton @ 2025-07-30 14:52 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
[-- Attachment #1: Type: text/plain, Size: 7625 bytes --]
We've been seeing a rather nasty bit of data corruption with NFS in our
environment. The clients in this env run a patched v6.9 kernel (mostly
due to GPU driver requirements). Most of the patches are NFS
containerization fixes.
The workload is python scripts writing JSONL files sequentially using
bog-standard buffered write() calls. We're fairly certain that userland
is not seeking so there should be no gaps in the data written.
The problem is that we see ranges of written files being replaced by
NULs. The length of the file seemingly doesn't change from what it
should be, but a chunk of it will be zeroed-out. Looking at the offsets
of the zeroed out ranges, the front part of one page is fine, but the
data from some random offset in the page to the end of the page is
zeroes.
We have a reproducer but we have to run it in a heavily parallel
configuration to make it happen, so it's evidently a tight race of some
sort.
We've turned up some tracepoints and reproduced this twice. What we see
in both cases is that the client just doesn't write some section of the
file.
In the first trace, there was is a gap of 2201 bytes between these two
writes on the wire:
kworker/u1038:1-2597138 [106] ..... 46138.516795: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 stable=UNSTABLE
oil-localfs-252-2605046 [163] ..... 46138.551459: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=57344 count=443956 stable=FILE_SYNC
The zeroed-out range is from 55143-57344. At the same time that the
file is growing from 53248 to 55143 (due to sequential write()
activity), the client is kicking off writeback for the range up to
55143. It's issuing 2 writes, one for 0-53248 and one for 53248-55143
(note that I've filtered out all but one of the DS filehandles for
brevity):
oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=49152 newsize=50130
oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=50130 newsize=53248
kworker/u1038:1-2597138 [106] ..... 46138.516740: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0 count=53248 stable=UNSTABLE
oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=53248 newsize=55143
kworker/u1038:1-2597138 [106] ..... 46138.516795: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 stable=UNSTABLE
kworker/u1037:2-2871862 [097] ..... 46138.517659: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:2-2871862 [097] ..... 46138.517662: nfs_writeback_done: error=53248 fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE verifier=5199cdae2816c899
kworker/u1037:5-2593935 [226] ..... 46138.517669: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:5-2593935 [226] ..... 46138.517672: nfs_writeback_done: error=1895 fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stable=UNSTABLE verifier=5199cdae2816c899
oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=55143 newsize=57344
oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=57344 newsize=60156
...and just after writeback completes, we see the file size grow from
55143 to the end of the page (57344).
The second trace has similar symptoms. There is a lot more (smaller)
write activity (due to memory pressure?). There is a gap of 3791 bytes
between these on-the-wire writes, however:
kworker/u1036:0-2339252 [217] ..... 479572.054622: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=221184 count=4401 stable=UNSTABLE
kworker/u1030:1-2297876 [042] ..... 479572.074194: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=229376 count=261898 stable=UNSTABLE
Same situation -- the at page at offset 53248 has 305 bytes on it, and
the remaining is zeroed. This trace shows similar racing write() and
writeback activity as in Friday's trace. At around the same time as the
client was growing the file over the affected range, writeback was
kicking off for everything up to the affected range (this has some
other wb related calls filtered for brevity):
oil-localfs-86-727850 [215] ..... 479572.053987: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=217088 newsize=220572
kworker/u1036:8-2339326 [088] ..... 479572.054008: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=217088 count=3484 stable=UNSTABLE
oil-localfs-86-727850 [215] ..... 479572.054405: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=220572 newsize=221184
kworker/u1036:1-2297875 [217] ..... 479572.054418: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=220572 count=612 stable=UNSTABLE
oil-localfs-86-727850 [215] ..... 479572.054581: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=221184 newsize=225280
oil-localfs-86-727850 [215] ..... 479572.054584: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=225280 newsize=225585
kworker/u1036:0-2339252 [217] ..... 479572.054622: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=221184 count=4401 stable=UNSTABLE
oil-localfs-86-727850 [215] ..... 479572.054997: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=225585 newsize=229376
oil-localfs-86-727850 [215] ..... 479572.055190: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=229376 newsize=230598
Could this be a race between extending an existing dirty page, and
writeback kicking off for the pre-extension range on the page? Maybe
the client is clearing the dirty bit, thinking that the write covers
the dirty range, but it has an outdated idea about what that range is
or doesn't properly check?
Traces for both events, filtered on the relevant fileid are attached.
I've rolled patches for some new tracepoints that I'm going to attempt
to turn up next, but I thought that this was a good point to solicit
ideas.
Happy to entertain other thoughts or patches!
--
Jeff Layton <jlayton@kernel.org>
[-- Attachment #2: 20250729.txt --]
[-- Type: text/plain, Size: 166129 bytes --]
oil-localfs-86-727850 [215] ..... 479572.008843: nfs_getattr_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
oil-localfs-86-727850 [215] ..... 479572.008844: nfs_getattr_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [215] ..... 479572.008856: nfs_getattr_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
oil-localfs-86-727850 [215] ..... 479572.008857: nfs_getattr_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [215] ..... 479572.021714: nfs_getattr_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
oil-localfs-86-727850 [215] ..... 479572.021715: nfs_getattr_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [215] ..... 479572.021722: nfs_getattr_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
oil-localfs-86-727850 [215] ..... 479572.021722: nfs_getattr_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [215] ..... 479572.032497: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=0 newsize=4096
oil-localfs-86-727850 [215] ..... 479572.032504: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=4096 newsize=5013
oil-localfs-86-727850 [215] ..... 479572.032891: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=5013 newsize=8192
oil-localfs-86-727850 [215] ..... 479572.033185: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=8192 newsize=10026
oil-localfs-86-727850 [215] ..... 479572.033466: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=10026 newsize=12288
oil-localfs-86-727850 [215] ..... 479572.033739: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=12288 newsize=15039
oil-localfs-86-727850 [215] ..... 479572.033988: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=15039 newsize=16384
kworker/u1027:7-2369635 [023] ..... 479572.034060: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=0 count=16384 stable=UNSTABLE
kworker/u1027:7-2369635 [023] ..... 479572.034069: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=0 count=16384 stable=UNSTABLE
kworker/u1027:7-2369635 [023] ..... 479572.034073: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=0 count=16384 stable=UNSTABLE
oil-localfs-86-727850 [215] ..... 479572.034248: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=16384 newsize=20052
kworker/u1027:1-2286624 [148] ..... 479572.034332: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=16384 count=3668 stable=UNSTABLE
kworker/u1027:1-2286624 [148] ..... 479572.034337: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=16384 count=3668 stable=UNSTABLE
kworker/u1027:1-2286624 [148] ..... 479572.034340: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=16384 count=3668 stable=UNSTABLE
kworker/u1033:2-2344691 [197] ..... 479572.034425: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=0 count=16384 res=16384 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:2-2344691 [197] ..... 479572.034430: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.034432: nfs_writeback_done: error=16384 fileid=00:96:10067193438 fhandle=0xf88816fa offset=0 count=16384 res=16384 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:1-2369493 [230] ..... 479572.034453: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=0 count=16384 res=16384 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.034457: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.034459: nfs_writeback_done: error=16384 fileid=00:96:10067193438 fhandle=0xc9992232 offset=0 count=16384 res=16384 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:0-2348081 [103] ..... 479572.034466: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=0 count=16384 res=16384 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:0-2348081 [103] ..... 479572.034467: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:0-2348081 [103] ..... 479572.034468: nfs_writeback_done: error=16384 fileid=00:96:10067193438 fhandle=0x6af4272f offset=0 count=16384 res=16384 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1033:6-2344693 [070] ..... 479572.034478: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=16384 count=3668 res=3668 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.034480: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.034481: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.034482: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.034482: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.034483: nfs_writeback_done: error=3668 fileid=00:96:10067193438 fhandle=0xf88816fa offset=16384 count=3668 res=3668 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:4-2348084 [225] ..... 479572.034518: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=16384 count=3668 res=3668 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.034520: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.034521: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.034522: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.034522: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.034523: nfs_writeback_done: error=3668 fileid=00:96:10067193438 fhandle=0xc9992232 offset=16384 count=3668 res=3668 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:4-2348084 [225] ..... 479572.034526: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=16384 count=3668 res=3668 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.034527: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.034527: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.034527: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.034527: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20052 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.034527: nfs_writeback_done: error=3668 fileid=00:96:10067193438 fhandle=0x6af4272f offset=16384 count=3668 res=3668 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.035090: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=20052 newsize=20480
kworker/u1027:4-2369632 [145] ..... 479572.035142: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=20052 count=428 stable=UNSTABLE
kworker/u1027:4-2369632 [145] ..... 479572.035145: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=20052 count=428 stable=UNSTABLE
kworker/u1027:4-2369632 [145] ..... 479572.035147: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=20052 count=428 stable=UNSTABLE
kworker/u1033:6-2344693 [070] ..... 479572.035252: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=20052 count=428 res=428 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.035253: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.035253: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.035254: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.035254: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.035254: nfs_writeback_done: error=428 fileid=00:96:10067193438 fhandle=0xf88816fa offset=20052 count=428 res=428 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:1-2369493 [230] ..... 479572.035264: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=20052 count=428 res=428 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.035264: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.035265: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.035265: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.035266: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.035266: nfs_writeback_done: error=428 fileid=00:96:10067193438 fhandle=0xc9992232 offset=20052 count=428 res=428 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:7-2298146 [100] ..... 479572.035267: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=20052 count=428 res=428 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.035268: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.035269: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.035269: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.035269: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=20480 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.035270: nfs_writeback_done: error=428 fileid=00:96:10067193438 fhandle=0x6af4272f offset=20052 count=428 res=428 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.035342: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=20480 newsize=24576
oil-localfs-86-727850 [215] ..... 479572.035345: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=24576 newsize=25065
kworker/u1027:7-2369635 [023] ..... 479572.035385: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=20480 count=4585 stable=UNSTABLE
kworker/u1027:7-2369635 [023] ..... 479572.035388: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=20480 count=4585 stable=UNSTABLE
kworker/u1027:7-2369635 [023] ..... 479572.035389: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=20480 count=4585 stable=UNSTABLE
kworker/u1033:6-2344693 [070] ..... 479572.035536: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=20480 count=4585 res=4585 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.035536: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.035537: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.035537: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.035537: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.035538: nfs_writeback_done: error=4585 fileid=00:96:10067193438 fhandle=0xf88816fa offset=20480 count=4585 res=4585 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:7-2298146 [100] ..... 479572.035558: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=20480 count=4585 res=4585 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.035558: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.035558: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.035559: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=20480 count=4585 res=4585 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.035559: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.035559: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.035559: nfs_writeback_done: error=4585 fileid=00:96:10067193438 fhandle=0xc9992232 offset=20480 count=4585 res=4585 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:4-2348084 [225] ..... 479572.035559: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.035560: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.035560: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.035560: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=25065 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.035560: nfs_writeback_done: error=4585 fileid=00:96:10067193438 fhandle=0x6af4272f offset=20480 count=4585 res=4585 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.035904: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=25065 newsize=28672
kworker/u1027:1-2369517 [146] ..... 479572.035932: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=24576 count=4096 stable=UNSTABLE
kworker/u1027:1-2369517 [146] ..... 479572.035935: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=24576 count=4096 stable=UNSTABLE
kworker/u1027:1-2369517 [146] ..... 479572.035936: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=24576 count=4096 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.036041: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=24576 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.036041: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.036042: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.036042: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.036042: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.036043: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xc9992232 offset=24576 count=4096 res=4096 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:6-2344693 [070] ..... 479572.036045: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=24576 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.036045: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.036046: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.036046: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.036046: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.036047: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xf88816fa offset=24576 count=4096 res=4096 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:4-2348084 [225] ..... 479572.036052: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=24576 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.036053: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.036053: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.036053: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.036053: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=28672 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.036053: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0x6af4272f offset=24576 count=4096 res=4096 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.036116: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=28672 newsize=30078
kworker/u1027:1-2392846 [150] ..... 479572.036153: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=28672 count=1406 stable=UNSTABLE
kworker/u1027:1-2392846 [150] ..... 479572.036156: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=28672 count=1406 stable=UNSTABLE
kworker/u1027:1-2392846 [150] ..... 479572.036158: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=28672 count=1406 stable=UNSTABLE
kworker/u1033:2-2344691 [197] ..... 479572.036275: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=28672 count=1406 res=1406 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:2-2344691 [197] ..... 479572.036276: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.036277: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:2-2344691 [197] ..... 479572.036277: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.036277: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.036277: nfs_writeback_done: error=1406 fileid=00:96:10067193438 fhandle=0xf88816fa offset=28672 count=1406 res=1406 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:7-2298146 [100] ..... 479572.036318: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=28672 count=1406 res=1406 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.036319: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.036319: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.036320: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.036320: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.036320: nfs_writeback_done: error=1406 fileid=00:96:10067193438 fhandle=0xc9992232 offset=28672 count=1406 res=1406 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:7-2298146 [100] ..... 479572.036387: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=28672 count=1406 res=1406 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.036389: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.036389: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.036390: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.036390: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=30078 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.036390: nfs_writeback_done: error=1406 fileid=00:96:10067193438 fhandle=0x6af4272f offset=28672 count=1406 res=1406 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.036835: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=30078 newsize=32768
oil-localfs-86-727850 [215] ..... 479572.037058: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=32768 newsize=35091
oil-localfs-86-727850 [215] ..... 479572.037269: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=35091 newsize=36864
oil-localfs-86-727850 [215] ..... 479572.037481: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=36864 newsize=40104
oil-localfs-86-727850 [215] ..... 479572.037688: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=40104 newsize=40960
oil-localfs-86-727850 [215] ..... 479572.037872: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=40960 newsize=45056
oil-localfs-86-727850 [215] ..... 479572.037875: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=45056 newsize=45117
oil-localfs-86-727850 [215] ..... 479572.038094: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=45117 newsize=49152
oil-localfs-86-727850 [215] ..... 479572.038283: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=49152 newsize=50130
oil-localfs-86-727850 [215] ..... 479572.038486: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=50130 newsize=53248
oil-localfs-86-727850 [215] ..... 479572.038701: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=53248 newsize=55143
oil-localfs-86-727850 [215] ..... 479572.038916: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=55143 newsize=57344
oil-localfs-86-727850 [215] ..... 479572.039094: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=57344 newsize=60156
oil-localfs-86-727850 [215] ..... 479572.039298: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=60156 newsize=61440
oil-localfs-86-727850 [215] ..... 479572.039521: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=61440 newsize=65169
oil-localfs-86-727850 [215] ..... 479572.039721: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=65169 newsize=65536
oil-localfs-86-727850 [215] ..... 479572.039922: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=65536 newsize=69632
oil-localfs-86-727850 [215] ..... 479572.039924: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=69632 newsize=70182
oil-localfs-86-727850 [215] ..... 479572.040135: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=70182 newsize=73728
oil-localfs-86-727850 [215] ..... 479572.040301: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=73728 newsize=75195
oil-localfs-86-727850 [215] ..... 479572.040525: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=75195 newsize=77824
oil-localfs-86-727850 [215] ..... 479572.040723: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=77824 newsize=80208
oil-localfs-86-727850 [215] ..... 479572.040923: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=80208 newsize=81920
oil-localfs-86-727850 [215] ..... 479572.041122: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=81920 newsize=85221
oil-localfs-86-727850 [215] ..... 479572.041324: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=85221 newsize=86016
oil-localfs-86-727850 [215] ..... 479572.041512: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=86016 newsize=90112
oil-localfs-86-727850 [215] ..... 479572.041514: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=90112 newsize=90234
oil-localfs-86-727850 [215] ..... 479572.041731: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=90234 newsize=94208
oil-localfs-86-727850 [215] ..... 479572.041923: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=94208 newsize=95247
oil-localfs-86-727850 [215] ..... 479572.042116: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=95247 newsize=98304
oil-localfs-86-727850 [215] ..... 479572.042308: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=98304 newsize=100260
oil-localfs-86-727850 [215] ..... 479572.042522: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=100260 newsize=102400
oil-localfs-86-727850 [215] ..... 479572.042711: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=102400 newsize=105273
oil-localfs-86-727850 [215] ..... 479572.042918: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=105273 newsize=106496
oil-localfs-86-727850 [215] ..... 479572.043105: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=106496 newsize=110286
oil-localfs-86-727850 [215] ..... 479572.043292: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=110286 newsize=110592
oil-localfs-86-727850 [215] ..... 479572.043505: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=110592 newsize=114688
oil-localfs-86-727850 [215] ..... 479572.043507: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=114688 newsize=115299
oil-localfs-86-727850 [215] ..... 479572.043738: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=115299 newsize=118784
oil-localfs-86-727850 [215] ..... 479572.043925: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=118784 newsize=120312
oil-localfs-86-727850 [215] ..... 479572.044130: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=120312 newsize=122880
oil-localfs-86-727850 [215] ..... 479572.044327: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=122880 newsize=125325
oil-localfs-86-727850 [215] ..... 479572.044533: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=125325 newsize=126976
oil-localfs-86-727850 [215] ..... 479572.044734: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=126976 newsize=130338
oil-localfs-86-727850 [215] ..... 479572.044931: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=130338 newsize=131072
oil-localfs-86-727850 [215] ..... 479572.045105: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=131072 newsize=135168
oil-localfs-86-727850 [215] ..... 479572.045107: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=135168 newsize=135351
oil-localfs-86-727850 [215] ..... 479572.045322: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=135351 newsize=139264
oil-localfs-86-727850 [215] ..... 479572.045523: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=139264 newsize=140364
oil-localfs-86-727850 [215] ..... 479572.045729: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=140364 newsize=143360
oil-localfs-86-727850 [215] ..... 479572.045936: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=143360 newsize=145377
oil-localfs-86-727850 [215] ..... 479572.046143: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=145377 newsize=147456
oil-localfs-86-727850 [215] ..... 479572.046329: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=147456 newsize=150390
oil-localfs-86-727850 [215] ..... 479572.046548: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=150390 newsize=151552
oil-localfs-86-727850 [215] ..... 479572.046736: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=151552 newsize=155403
oil-localfs-86-727850 [215] ..... 479572.046915: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=155403 newsize=155648
oil-localfs-86-727850 [215] ..... 479572.047096: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=155648 newsize=159744
oil-localfs-86-727850 [215] ..... 479572.047098: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=159744 newsize=160416
oil-localfs-86-727850 [215] ..... 479572.047295: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=160416 newsize=163840
oil-localfs-86-727850 [215] ..... 479572.047477: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=163840 newsize=165429
kworker/u1036:9-2181405 [092] ..... 479572.047561: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=28672 count=136757 stable=UNSTABLE
kworker/u1036:9-2181405 [092] ..... 479572.047570: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=28672 count=136757 stable=UNSTABLE
kworker/u1036:9-2181405 [092] ..... 479572.047576: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=28672 count=136757 stable=UNSTABLE
kworker/u1033:2-2344691 [197] ..... 479572.047942: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=28672 count=136757 res=136757 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:2-2344691 [197] ..... 479572.047945: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.047946: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:2-2344691 [197] ..... 479572.047947: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.047947: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.047947: nfs_writeback_done: error=136757 fileid=00:96:10067193438 fhandle=0xf88816fa offset=28672 count=136757 res=136757 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:7-2298146 [100] ..... 479572.048038: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=28672 count=136757 res=136757 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.048040: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048041: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.048042: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048042: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048042: nfs_writeback_done: error=136757 fileid=00:96:10067193438 fhandle=0x6af4272f offset=28672 count=136757 res=136757 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:7-2298146 [100] ..... 479572.048174: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=28672 count=136757 res=136757 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.048175: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048175: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.048175: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048175: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=165429 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048176: nfs_writeback_done: error=136757 fileid=00:96:10067193438 fhandle=0xc9992232 offset=28672 count=136757 res=136757 stable=UNSTABLE verifier=e7a66eedc4f3c318
oil-localfs-86-727850 [215] ..... 479572.048629: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=165429 newsize=167936
kworker/u1036:1-2339253 [216] ..... 479572.048651: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=165429 count=2507 stable=UNSTABLE
kworker/u1036:1-2339253 [216] ..... 479572.048654: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=165429 count=2507 stable=UNSTABLE
kworker/u1036:1-2339253 [216] ..... 479572.048655: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=165429 count=2507 stable=UNSTABLE
kworker/u1037:7-2298146 [100] ..... 479572.048770: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=165429 count=2507 res=2507 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.048771: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048771: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.048771: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048771: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.048772: nfs_writeback_done: error=2507 fileid=00:96:10067193438 fhandle=0x6af4272f offset=165429 count=2507 res=2507 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:1-2369493 [230] ..... 479572.048778: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=165429 count=2507 res=2507 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.048779: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.048779: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.048779: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.048779: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.048779: nfs_writeback_done: error=2507 fileid=00:96:10067193438 fhandle=0xc9992232 offset=165429 count=2507 res=2507 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:6-2344693 [070] ..... 479572.048796: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=165429 count=2507 res=2507 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.048797: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.048797: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.048798: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.048798: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=167936 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.048798: nfs_writeback_done: error=2507 fileid=00:96:10067193438 fhandle=0xf88816fa offset=165429 count=2507 res=2507 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-86-727850 [215] ..... 479572.048828: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=167936 newsize=170442
kworker/u1036:7-2339325 [220] ..... 479572.048836: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=167936 count=2506 stable=UNSTABLE
kworker/u1036:7-2339325 [220] ..... 479572.048839: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=167936 count=2506 stable=UNSTABLE
kworker/u1036:7-2339325 [220] ..... 479572.048840: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=167936 count=2506 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.048959: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=167936 count=2506 res=2506 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.048960: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.048960: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.048961: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.048961: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.048961: nfs_writeback_done: error=2506 fileid=00:96:10067193438 fhandle=0x6af4272f offset=167936 count=2506 res=2506 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:1-2369493 [230] ..... 479572.049095: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=167936 count=2506 res=2506 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.049096: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.049096: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.049096: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.049097: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.049097: nfs_writeback_done: error=2506 fileid=00:96:10067193438 fhandle=0xc9992232 offset=167936 count=2506 res=2506 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:6-2344693 [070] ..... 479572.049131: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=167936 count=2506 res=2506 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.049132: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.049132: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.049133: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.049133: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=170442 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.049133: nfs_writeback_done: error=2506 fileid=00:96:10067193438 fhandle=0xf88816fa offset=167936 count=2506 res=2506 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-86-727850 [215] ..... 479572.049579: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=170442 newsize=172032
kworker/u1036:1-2369512 [218] ..... 479572.049590: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=167936 count=4096 stable=UNSTABLE
kworker/u1036:1-2369512 [218] ..... 479572.049593: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=167936 count=4096 stable=UNSTABLE
kworker/u1036:1-2369512 [218] ..... 479572.049595: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=167936 count=4096 stable=UNSTABLE
kworker/u1037:7-2298146 [100] ..... 479572.049708: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=167936 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.049709: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049709: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.049710: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049710: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049711: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0x6af4272f offset=167936 count=4096 res=4096 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:7-2298146 [100] ..... 479572.049724: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=167936 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.049725: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049725: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.049725: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049725: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049725: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xc9992232 offset=167936 count=4096 res=4096 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:6-2344693 [070] ..... 479572.049728: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=167936 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.049729: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.049730: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.049731: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.049731: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=172032 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.049731: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xf88816fa offset=167936 count=4096 res=4096 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-86-727850 [215] ..... 479572.049779: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=172032 newsize=175455
kworker/u1036:1-2339253 [216] ..... 479572.049794: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=172032 count=3423 stable=UNSTABLE
kworker/u1036:1-2339253 [216] ..... 479572.049796: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=172032 count=3423 stable=UNSTABLE
kworker/u1036:1-2339253 [216] ..... 479572.049800: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=172032 count=3423 stable=UNSTABLE
kworker/u1037:7-2298146 [100] ..... 479572.049943: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=172032 count=3423 res=3423 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.049944: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049944: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.049944: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049945: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049945: nfs_writeback_done: error=3423 fileid=00:96:10067193438 fhandle=0xc9992232 offset=172032 count=3423 res=3423 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:1-2209763 [064] ..... 479572.049954: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=172032 count=3423 res=3423 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:1-2209763 [064] ..... 479572.049955: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.049955: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:1-2209763 [064] ..... 479572.049956: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.049956: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.049956: nfs_writeback_done: error=3423 fileid=00:96:10067193438 fhandle=0xf88816fa offset=172032 count=3423 res=3423 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:7-2298146 [100] ..... 479572.049976: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=172032 count=3423 res=3423 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.049976: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049977: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.049977: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049977: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=175455 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.049977: nfs_writeback_done: error=3423 fileid=00:96:10067193438 fhandle=0x6af4272f offset=172032 count=3423 res=3423 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.050224: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=175455 newsize=176128
oil-localfs-86-727850 [215] ..... 479572.050391: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=176128 newsize=180224
oil-localfs-86-727850 [215] ..... 479572.050393: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=180224 newsize=180468
oil-localfs-86-727850 [215] ..... 479572.050619: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=180468 newsize=184320
oil-localfs-86-727850 [215] ..... 479572.050797: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=184320 newsize=185481
oil-localfs-86-727850 [215] ..... 479572.050984: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=185481 newsize=188416
oil-localfs-86-727850 [215] ..... 479572.051172: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=188416 newsize=190494
oil-localfs-86-727850 [215] ..... 479572.051363: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=190494 newsize=192512
oil-localfs-86-727850 [215] ..... 479572.051529: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=192512 newsize=195507
oil-localfs-86-727850 [215] ..... 479572.051716: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=195507 newsize=196608
oil-localfs-86-727850 [215] ..... 479572.051891: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=196608 newsize=200520
oil-localfs-86-727850 [215] ..... 479572.052054: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=200520 newsize=200704
oil-localfs-86-727850 [215] ..... 479572.052238: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=200704 newsize=204800
oil-localfs-86-727850 [215] ..... 479572.052240: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=204800 newsize=205533
oil-localfs-86-727850 [215] ..... 479572.052448: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=205533 newsize=208896
kworker/u1027:1-2286620 [017] ..... 479572.052495: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=175455 count=33441 stable=UNSTABLE
kworker/u1027:1-2286620 [017] ..... 479572.052499: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=175455 count=33441 stable=UNSTABLE
kworker/u1027:1-2286620 [017] ..... 479572.052501: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=175455 count=33441 stable=UNSTABLE
oil-localfs-86-727850 [215] ..... 479572.052617: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=208896 newsize=210546
kworker/u1037:4-2348084 [225] ..... 479572.052662: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=175455 count=33441 res=33441 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.052663: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.052663: nfs_writeback_done: error=33441 fileid=00:96:10067193438 fhandle=0xc9992232 offset=175455 count=33441 res=33441 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:6-2344693 [070] ..... 479572.052672: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=175455 count=33441 res=33441 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.052673: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.052674: nfs_writeback_done: error=33441 fileid=00:96:10067193438 fhandle=0xf88816fa offset=175455 count=33441 res=33441 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1027:5-2369633 [022] ..... 479572.052691: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=208896 count=1650 stable=UNSTABLE
kworker/u1027:5-2369633 [022] ..... 479572.052695: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=208896 count=1650 stable=UNSTABLE
kworker/u1027:5-2369633 [022] ..... 479572.052696: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=208896 count=1650 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.052700: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=175455 count=33441 res=33441 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.052700: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.052701: nfs_writeback_done: error=33441 fileid=00:96:10067193438 fhandle=0x6af4272f offset=175455 count=33441 res=33441 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1033:2-2344691 [197] ..... 479572.052788: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=208896 count=1650 res=1650 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:2-2344691 [197] ..... 479572.052788: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.052789: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:2-2344691 [197] ..... 479572.052789: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.052789: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:2-2344691 [197] ..... 479572.052790: nfs_writeback_done: error=1650 fileid=00:96:10067193438 fhandle=0xf88816fa offset=208896 count=1650 res=1650 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:1-2369493 [230] ..... 479572.052802: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=208896 count=1650 res=1650 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.052802: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.052803: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.052803: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.052803: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.052804: nfs_writeback_done: error=1650 fileid=00:96:10067193438 fhandle=0xc9992232 offset=208896 count=1650 res=1650 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:4-2348084 [225] ..... 479572.052804: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=208896 count=1650 res=1650 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.052804: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.052805: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.052805: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.052805: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=210546 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.052805: nfs_writeback_done: error=1650 fileid=00:96:10067193438 fhandle=0x6af4272f offset=208896 count=1650 res=1650 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.053111: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=210546 newsize=212992
kworker/u1027:1-2392847 [151] ..... 479572.053134: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=208896 count=4096 stable=UNSTABLE
kworker/u1027:1-2392847 [151] ..... 479572.053137: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=208896 count=4096 stable=UNSTABLE
kworker/u1027:1-2392847 [151] ..... 479572.053138: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=208896 count=4096 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.053247: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=208896 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.053247: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053248: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.053248: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053249: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053249: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xc9992232 offset=208896 count=4096 res=4096 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:1-2209763 [064] ..... 479572.053255: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=208896 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:1-2209763 [064] ..... 479572.053255: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053256: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.053256: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=208896 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:1-2209763 [064] ..... 479572.053256: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053257: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053257: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xf88816fa offset=208896 count=4096 res=4096 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:1-2369493 [230] ..... 479572.053257: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.053257: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.053258: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.053258: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=212992 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.053258: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0x6af4272f offset=208896 count=4096 res=4096 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.053377: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=212992 newsize=215559
kworker/u1027:1-2286624 [148] ..... 479572.053402: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=212992 count=2567 stable=UNSTABLE
kworker/u1027:1-2286624 [148] ..... 479572.053406: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=212992 count=2567 stable=UNSTABLE
kworker/u1027:1-2286624 [148] ..... 479572.053408: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=212992 count=2567 stable=UNSTABLE
kworker/u1033:6-2344693 [070] ..... 479572.053523: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=212992 count=2567 res=2567 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.053523: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.053524: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.053524: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.053524: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.053524: nfs_writeback_done: error=2567 fileid=00:96:10067193438 fhandle=0xf88816fa offset=212992 count=2567 res=2567 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:7-2298146 [100] ..... 479572.053527: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=212992 count=2567 res=2567 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.053527: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.053528: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.053528: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.053528: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.053529: nfs_writeback_done: error=2567 fileid=00:96:10067193438 fhandle=0xc9992232 offset=212992 count=2567 res=2567 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:7-2298146 [100] ..... 479572.053554: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=212992 count=2567 res=2567 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.053554: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.053555: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.053555: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.053555: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=215559 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.053555: nfs_writeback_done: error=2567 fileid=00:96:10067193438 fhandle=0x6af4272f offset=212992 count=2567 res=2567 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.053789: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=215559 newsize=217088
kworker/u1036:0-2339252 [222] ..... 479572.053806: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=212992 count=4096 stable=UNSTABLE
kworker/u1036:0-2339252 [222] ..... 479572.053809: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=212992 count=4096 stable=UNSTABLE
kworker/u1036:0-2339252 [222] ..... 479572.053810: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=212992 count=4096 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.053919: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=212992 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.053920: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053920: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.053920: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053920: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=212992 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.053921: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053921: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xc9992232 offset=212992 count=4096 res=4096 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:1-2209763 [064] ..... 479572.053921: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053921: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:1-2209763 [064] ..... 479572.053922: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053922: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.053922: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xf88816fa offset=212992 count=4096 res=4096 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:4-2348084 [225] ..... 479572.053933: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=212992 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.053934: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053934: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.053935: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053935: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=217088 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.053935: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0x6af4272f offset=212992 count=4096 res=4096 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.053987: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=217088 newsize=220572
kworker/u1036:8-2339326 [088] ..... 479572.054008: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=217088 count=3484 stable=UNSTABLE
kworker/u1036:8-2339326 [088] ..... 479572.054011: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=217088 count=3484 stable=UNSTABLE
kworker/u1036:8-2339326 [088] ..... 479572.054013: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=217088 count=3484 stable=UNSTABLE
kworker/u1037:1-2369493 [230] ..... 479572.054142: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=217088 count=3484 res=3484 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.054143: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.054143: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.054144: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.054144: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.054144: nfs_writeback_done: error=3484 fileid=00:96:10067193438 fhandle=0xc9992232 offset=217088 count=3484 res=3484 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:6-2344693 [070] ..... 479572.054145: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=217088 count=3484 res=3484 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:6-2344693 [070] ..... 479572.054145: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.054145: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:6-2344693 [070] ..... 479572.054146: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.054146: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:6-2344693 [070] ..... 479572.054146: nfs_writeback_done: error=3484 fileid=00:96:10067193438 fhandle=0xf88816fa offset=217088 count=3484 res=3484 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:1-2369493 [230] ..... 479572.054154: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=217088 count=3484 res=3484 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.054154: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.054155: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.054155: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.054155: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=220572 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.054155: nfs_writeback_done: error=3484 fileid=00:96:10067193438 fhandle=0x6af4272f offset=217088 count=3484 res=3484 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [215] ..... 479572.054405: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=220572 newsize=221184
kworker/u1036:1-2297875 [217] ..... 479572.054418: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=220572 count=612 stable=UNSTABLE
kworker/u1036:1-2297875 [217] ..... 479572.054420: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=220572 count=612 stable=UNSTABLE
kworker/u1036:1-2297875 [217] ..... 479572.054422: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=220572 count=612 stable=UNSTABLE
kworker/u1037:7-2298146 [100] ..... 479572.054522: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=220572 count=612 res=612 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.054523: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.054524: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.054524: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.054524: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.054525: nfs_writeback_done: error=612 fileid=00:96:10067193438 fhandle=0xc9992232 offset=220572 count=612 res=612 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1037:4-2348084 [225] ..... 479572.054527: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=220572 count=612 res=612 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.054528: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.054528: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.054528: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.054528: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.054528: nfs_writeback_done: error=612 fileid=00:96:10067193438 fhandle=0x6af4272f offset=220572 count=612 res=612 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1033:1-2209763 [064] ..... 479572.054537: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=220572 count=612 res=612 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:1-2209763 [064] ..... 479572.054538: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.054538: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:1-2209763 [064] ..... 479572.054538: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.054539: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=221184 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [064] ..... 479572.054539: nfs_writeback_done: error=612 fileid=00:96:10067193438 fhandle=0xf88816fa offset=220572 count=612 res=612 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-86-727850 [215] ..... 479572.054581: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=221184 newsize=225280
oil-localfs-86-727850 [215] ..... 479572.054584: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=225280 newsize=225585
kworker/u1036:0-2339252 [217] ..... 479572.054622: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=221184 count=4401 stable=UNSTABLE
kworker/u1036:0-2339252 [217] ..... 479572.054624: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=221184 count=4401 stable=UNSTABLE
kworker/u1036:0-2339252 [217] ..... 479572.054626: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=221184 count=4401 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.054752: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=221184 count=4401 res=4401 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.054753: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.054753: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.054753: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.054753: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.054754: nfs_writeback_done: error=4401 fileid=00:96:10067193438 fhandle=0x6af4272f offset=221184 count=4401 res=4401 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:7-2298146 [100] ..... 479572.054754: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=221184 count=4401 res=4401 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.054754: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.054755: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.054755: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.054755: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.054755: nfs_writeback_done: error=4401 fileid=00:96:10067193438 fhandle=0xc9992232 offset=221184 count=4401 res=4401 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:0-2344690 [066] ..... 479572.054766: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=221184 count=4401 res=4401 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:0-2344690 [066] ..... 479572.054767: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [066] ..... 479572.054767: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:0-2344690 [066] ..... 479572.054768: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [066] ..... 479572.054768: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=225585 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [066] ..... 479572.054768: nfs_writeback_done: error=4401 fileid=00:96:10067193438 fhandle=0xf88816fa offset=221184 count=4401 res=4401 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-86-727850 [215] ..... 479572.054997: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=225585 newsize=229376
oil-localfs-86-727850 [215] ..... 479572.055190: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=229376 newsize=230598
oil-localfs-86-727850 [215] ..... 479572.055379: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=230598 newsize=233472
oil-localfs-86-727850 [215] ..... 479572.055562: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=233472 newsize=235611
oil-localfs-86-727850 [215] ..... 479572.055752: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=235611 newsize=237568
oil-localfs-86-727850 [215] ..... 479572.055913: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=237568 newsize=240624
oil-localfs-86-727850 [215] ..... 479572.056101: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=240624 newsize=241664
oil-localfs-86-727850 [215] ..... 479572.056274: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=241664 newsize=245637
oil-localfs-86-727850 [215] ..... 479572.056466: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=245637 newsize=245760
oil-localfs-86-727850 [215] ..... 479572.056657: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=245760 newsize=249856
oil-localfs-86-727850 [215] ..... 479572.056659: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=249856 newsize=250650
oil-localfs-86-727850 [215] ..... 479572.056858: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=250650 newsize=253952
oil-localfs-86-727850 [215] ..... 479572.057009: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=253952 newsize=255663
oil-localfs-86-727850 [215] ..... 479572.057227: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=255663 newsize=258048
oil-localfs-86-727850 [215] ..... 479572.057417: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=258048 newsize=260676
oil-localfs-86-727850 [215] ..... 479572.057606: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=260676 newsize=262144
oil-localfs-86-727850 [215] ..... 479572.057789: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=262144 newsize=265689
oil-localfs-86-727850 [215] ..... 479572.057976: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=265689 newsize=266240
oil-localfs-86-727850 [215] ..... 479572.058143: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=266240 newsize=270336
oil-localfs-86-727850 [215] ..... 479572.058150: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=270336 newsize=270702
oil-localfs-86-727850 [215] ..... 479572.058348: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=270702 newsize=274432
oil-localfs-86-727850 [215] ..... 479572.058524: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=274432 newsize=275715
oil-localfs-86-727850 [215] ..... 479572.058699: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=275715 newsize=278528
oil-localfs-86-727850 [215] ..... 479572.058874: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=278528 newsize=280728
oil-localfs-86-727850 [215] ..... 479572.059053: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=280728 newsize=282624
oil-localfs-86-727850 [215] ..... 479572.059213: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=282624 newsize=285741
oil-localfs-86-727850 [215] ..... 479572.059414: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=285741 newsize=286720
oil-localfs-86-727850 [215] ..... 479572.059594: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=286720 newsize=290754
oil-localfs-86-727850 [215] ..... 479572.059771: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=290754 newsize=290816
oil-localfs-86-727850 [215] ..... 479572.059949: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=290816 newsize=294912
oil-localfs-86-727850 [215] ..... 479572.059950: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=294912 newsize=295767
oil-localfs-86-727850 [215] ..... 479572.060130: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=295767 newsize=299008
oil-localfs-86-727850 [215] ..... 479572.060302: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=299008 newsize=300780
oil-localfs-86-727850 [215] ..... 479572.060512: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=300780 newsize=303104
oil-localfs-86-727850 [215] ..... 479572.060688: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=303104 newsize=305793
oil-localfs-86-727850 [215] ..... 479572.060855: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=305793 newsize=307200
oil-localfs-86-727850 [215] ..... 479572.061027: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=307200 newsize=310806
oil-localfs-86-727850 [215] ..... 479572.061214: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=310806 newsize=311296
oil-localfs-86-727850 [215] ..... 479572.061383: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=311296 newsize=315392
oil-localfs-86-727850 [215] ..... 479572.061386: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=315392 newsize=315819
oil-localfs-86-727850 [215] ..... 479572.061584: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=315819 newsize=319488
oil-localfs-86-727850 [215] ..... 479572.061762: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=319488 newsize=320832
oil-localfs-86-727850 [215] ..... 479572.061940: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=320832 newsize=323584
oil-localfs-86-727850 [215] ..... 479572.062126: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=323584 newsize=325845
oil-localfs-86-727850 [215] ..... 479572.062318: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=325845 newsize=327680
oil-localfs-86-727850 [215] ..... 479572.062485: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=327680 newsize=330858
oil-localfs-86-727850 [215] ..... 479572.062670: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=330858 newsize=331776
oil-localfs-86-727850 [215] ..... 479572.062846: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=331776 newsize=335871
oil-localfs-86-727850 [215] ..... 479572.063011: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=335871 newsize=335872
oil-localfs-86-727850 [215] ..... 479572.063185: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=335872 newsize=339968
oil-localfs-86-727850 [215] ..... 479572.063187: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=339968 newsize=340884
oil-localfs-86-727850 [215] ..... 479572.063385: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=340884 newsize=344064
oil-localfs-86-727850 [215] ..... 479572.063547: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=344064 newsize=345897
oil-localfs-86-727850 [215] ..... 479572.063732: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=345897 newsize=348160
oil-localfs-86-727850 [215] ..... 479572.063898: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=348160 newsize=350910
oil-localfs-86-727850 [215] ..... 479572.064063: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=350910 newsize=352256
oil-localfs-86-727850 [215] ..... 479572.064239: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=352256 newsize=355923
oil-localfs-86-727850 [215] ..... 479572.064446: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=355923 newsize=356352
oil-localfs-86-727850 [215] ..... 479572.064631: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=356352 newsize=360448
oil-localfs-86-727850 [215] ..... 479572.064633: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=360448 newsize=360936
oil-localfs-86-727850 [215] ..... 479572.064845: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=360936 newsize=364544
oil-localfs-86-727850 [215] ..... 479572.065028: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=364544 newsize=365949
oil-localfs-86-727850 [215] ..... 479572.065207: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=365949 newsize=368640
oil-localfs-86-727850 [215] ..... 479572.065388: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=368640 newsize=370962
oil-localfs-86-727850 [215] ..... 479572.065583: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=370962 newsize=372736
oil-localfs-86-727850 [215] ..... 479572.065751: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=372736 newsize=375975
oil-localfs-86-727850 [215] ..... 479572.065935: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=375975 newsize=376832
oil-localfs-86-727850 [215] ..... 479572.066106: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=376832 newsize=380928
oil-localfs-86-727850 [215] ..... 479572.066108: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=380928 newsize=380988
oil-localfs-86-727850 [215] ..... 479572.066283: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=380988 newsize=385024
oil-localfs-86-727850 [215] ..... 479572.066462: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=385024 newsize=386001
oil-localfs-86-727850 [215] ..... 479572.066661: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=386001 newsize=389120
oil-localfs-86-727850 [215] ..... 479572.066824: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=389120 newsize=391014
oil-localfs-86-727850 [215] ..... 479572.067012: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=391014 newsize=393216
oil-localfs-86-727850 [215] ..... 479572.067180: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=393216 newsize=396027
oil-localfs-86-727850 [215] ..... 479572.067361: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=396027 newsize=397312
oil-localfs-86-727850 [215] ..... 479572.067545: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=397312 newsize=401040
oil-localfs-86-727850 [215] ..... 479572.067730: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=401040 newsize=401408
oil-localfs-86-727850 [215] ..... 479572.067888: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=401408 newsize=405504
oil-localfs-86-727850 [215] ..... 479572.067889: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=405504 newsize=406053
oil-localfs-86-727850 [215] ..... 479572.068084: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=406053 newsize=409600
oil-localfs-86-727850 [215] ..... 479572.068252: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=409600 newsize=411066
oil-localfs-86-727850 [215] ..... 479572.068432: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=411066 newsize=413696
oil-localfs-86-727850 [215] ..... 479572.068631: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=413696 newsize=416079
oil-localfs-86-727850 [215] ..... 479572.068820: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=416079 newsize=417792
oil-localfs-86-727850 [215] ..... 479572.068986: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=417792 newsize=421092
oil-localfs-86-727850 [215] ..... 479572.069169: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=421092 newsize=421888
oil-localfs-86-727850 [215] ..... 479572.069328: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=421888 newsize=425984
oil-localfs-86-727850 [215] ..... 479572.069329: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=425984 newsize=426105
oil-localfs-86-727850 [215] ..... 479572.069511: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=426105 newsize=430080
oil-localfs-86-727850 [215] ..... 479572.069685: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=430080 newsize=431118
oil-localfs-86-727850 [215] ..... 479572.069873: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=431118 newsize=434176
oil-localfs-86-727850 [215] ..... 479572.070030: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=434176 newsize=436131
oil-localfs-86-727850 [215] ..... 479572.070213: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=436131 newsize=438272
oil-localfs-86-727850 [215] ..... 479572.070390: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=438272 newsize=441144
oil-localfs-86-727850 [215] ..... 479572.070574: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=441144 newsize=442368
oil-localfs-86-727850 [215] ..... 479572.070768: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=442368 newsize=446157
oil-localfs-86-727850 [215] ..... 479572.070956: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=446157 newsize=446464
oil-localfs-86-727850 [215] ..... 479572.071126: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=446464 newsize=450560
oil-localfs-86-727850 [215] ..... 479572.071128: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=450560 newsize=451170
oil-localfs-86-727850 [215] ..... 479572.071326: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=451170 newsize=454656
oil-localfs-86-727850 [215] ..... 479572.071503: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=454656 newsize=456183
oil-localfs-86-727850 [215] ..... 479572.071670: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=456183 newsize=458752
oil-localfs-86-727850 [215] ..... 479572.071843: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=458752 newsize=461196
oil-localfs-86-727850 [215] ..... 479572.072022: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=461196 newsize=462848
oil-localfs-86-727850 [215] ..... 479572.072197: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=462848 newsize=466209
oil-localfs-86-727850 [215] ..... 479572.072396: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=466209 newsize=466944
oil-localfs-86-727850 [215] ..... 479572.072571: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=466944 newsize=471040
oil-localfs-86-727850 [215] ..... 479572.072573: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=471040 newsize=471222
oil-localfs-86-727850 [215] ..... 479572.072748: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=471222 newsize=475136
oil-localfs-86-727850 [215] ..... 479572.072932: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=475136 newsize=476235
oil-localfs-86-727850 [215] ..... 479572.073118: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=476235 newsize=479232
oil-localfs-86-727850 [215] ..... 479572.073303: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=479232 newsize=481248
oil-localfs-86-727850 [215] ..... 479572.073503: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=481248 newsize=483328
oil-localfs-86-727850 [215] ..... 479572.073686: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=483328 newsize=486261
oil-localfs-86-727850 [215] ..... 479572.073857: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=486261 newsize=487424
oil-localfs-86-727850 [215] ..... 479572.074044: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=487424 newsize=491274
kworker/u1030:1-2297876 [042] ..... 479572.074194: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=229376 count=261898 stable=UNSTABLE
kworker/u1030:1-2297876 [042] ..... 479572.074225: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=229376 count=261898 stable=UNSTABLE
kworker/u1030:1-2297876 [042] ..... 479572.074230: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=229376 count=261898 stable=UNSTABLE
kworker/u1037:4-2348084 [225] ..... 479572.074944: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=229376 count=261898 res=261898 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.074945: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.074946: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.074946: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.074947: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=229376 count=261898 res=261898 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.074947: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.074947: nfs_writeback_done: error=261898 fileid=00:96:10067193438 fhandle=0xc9992232 offset=229376 count=261898 res=261898 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:1-2209763 [068] ..... 479572.074949: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.074950: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:1-2209763 [068] ..... 479572.074951: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.074951: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.074951: nfs_writeback_done: error=261898 fileid=00:96:10067193438 fhandle=0xf88816fa offset=229376 count=261898 res=261898 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:4-2348084 [225] ..... 479572.075079: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=229376 count=261898 res=261898 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [225] ..... 479572.075079: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.075080: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [225] ..... 479572.075080: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.075080: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491274 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [225] ..... 479572.075080: nfs_writeback_done: error=261898 fileid=00:96:10067193438 fhandle=0x6af4272f offset=229376 count=261898 res=261898 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [226] ..... 479572.075704: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=491274 newsize=491520
kworker/u1036:2-2339254 [092] ..... 479572.075719: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=487424 count=4096 stable=UNSTABLE
kworker/u1036:2-2339254 [092] ..... 479572.075722: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=487424 count=4096 stable=UNSTABLE
kworker/u1036:2-2339254 [092] ..... 479572.075725: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=487424 count=4096 stable=UNSTABLE
kworker/u1037:4-2348084 [096] ..... 479572.075847: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=487424 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:1-2209763 [068] ..... 479572.075847: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=487424 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [096] ..... 479572.075854: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [096] ..... 479572.075855: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [096] ..... 479572.075855: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [096] ..... 479572.075855: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [096] ..... 479572.075856: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xc9992232 offset=487424 count=4096 res=4096 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:1-2209763 [068] ..... 479572.075856: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.075856: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:1-2209763 [068] ..... 479572.075857: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.075857: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [068] ..... 479572.075857: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0xf88816fa offset=487424 count=4096 res=4096 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:1-2369493 [230] ..... 479572.075859: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=487424 count=4096 res=4096 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.075860: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.075860: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.075860: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.075861: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=491520 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.075861: nfs_writeback_done: error=4096 fileid=00:96:10067193438 fhandle=0x6af4272f offset=487424 count=4096 res=4096 stable=UNSTABLE verifier=7fb1042b4dd46a93
oil-localfs-86-727850 [226] ..... 479572.075971: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=491520 newsize=495616
oil-localfs-86-727850 [226] ..... 479572.075975: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=495616 newsize=496287
kworker/u1036:3-2339255 [223] ..... 479572.075997: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=491520 count=4767 stable=UNSTABLE
kworker/u1036:3-2339255 [223] ..... 479572.076001: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=491520 count=4767 stable=UNSTABLE
kworker/u1036:3-2339255 [223] ..... 479572.076004: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=491520 count=4767 stable=UNSTABLE
kworker/u1037:7-2298146 [100] ..... 479572.076132: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=491520 count=4767 res=4767 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.076132: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076133: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.076133: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076133: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076133: nfs_writeback_done: error=4767 fileid=00:96:10067193438 fhandle=0x6af4272f offset=491520 count=4767 res=4767 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:1-2369493 [230] ..... 479572.076134: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=491520 count=4767 res=4767 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:1-2369493 [230] ..... 479572.076134: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.076134: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:1-2369493 [230] ..... 479572.076135: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.076135: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2369493 [230] ..... 479572.076135: nfs_writeback_done: error=4767 fileid=00:96:10067193438 fhandle=0xc9992232 offset=491520 count=4767 res=4767 stable=UNSTABLE verifier=e7a66eedc4f3c318
kworker/u1033:0-2344690 [068] ..... 479572.076144: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=491520 count=4767 res=4767 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:0-2344690 [068] ..... 479572.076144: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [068] ..... 479572.076145: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:0-2344690 [068] ..... 479572.076145: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [068] ..... 479572.076145: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=496287 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [068] ..... 479572.076145: nfs_writeback_done: error=4767 fileid=00:96:10067193438 fhandle=0xf88816fa offset=491520 count=4767 res=4767 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-86-727850 [226] ..... 479572.076404: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=496287 newsize=499712
kworker/u1036:0-2339252 [217] ..... 479572.076423: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=496287 count=3425 stable=UNSTABLE
kworker/u1036:0-2339252 [217] ..... 479572.076425: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=496287 count=3425 stable=UNSTABLE
kworker/u1036:0-2339252 [217] ..... 479572.076427: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=496287 count=3425 stable=UNSTABLE
kworker/u1037:7-2298146 [100] ..... 479572.076535: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=496287 count=3425 res=3425 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.076535: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076536: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.076536: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076537: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076537: nfs_writeback_done: error=3425 fileid=00:96:10067193438 fhandle=0x6af4272f offset=496287 count=3425 res=3425 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1033:0-2344690 [068] ..... 479572.076541: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=496287 count=3425 res=3425 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:0-2344690 [068] ..... 479572.076542: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [068] ..... 479572.076542: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:0-2344690 [068] ..... 479572.076543: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [068] ..... 479572.076543: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:0-2344690 [068] ..... 479572.076543: nfs_writeback_done: error=3425 fileid=00:96:10067193438 fhandle=0xf88816fa offset=496287 count=3425 res=3425 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:7-2298146 [100] ..... 479572.076557: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=496287 count=3425 res=3425 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:7-2298146 [100] ..... 479572.076558: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076558: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:7-2298146 [100] ..... 479572.076558: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076559: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=499712 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:7-2298146 [100] ..... 479572.076559: nfs_writeback_done: error=3425 fileid=00:96:10067193438 fhandle=0xc9992232 offset=496287 count=3425 res=3425 stable=UNSTABLE verifier=e7a66eedc4f3c318
oil-localfs-86-727850 [226] ..... 479572.076610: nfs_size_grow: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300 cursize=499712 newsize=501300
kworker/u1036:1-2044368 [221] ..... 479572.076628: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232 offset=499712 count=1588 stable=UNSTABLE
kworker/u1036:1-2044368 [221] ..... 479572.076631: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0x6af4272f offset=499712 count=1588 stable=UNSTABLE
kworker/u1036:1-2044368 [221] ..... 479572.076632: nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xf88816fa offset=499712 count=1588 stable=UNSTABLE
kworker/u1033:1-2209763 [194] ..... 479572.076797: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xf88816fa offset=499712 count=1588 res=1588 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1033:1-2209763 [194] ..... 479572.076798: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [194] ..... 479572.076799: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1033:1-2209763 [194] ..... 479572.076799: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [194] ..... 479572.076799: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1033:1-2209763 [194] ..... 479572.076800: nfs_writeback_done: error=1588 fileid=00:96:10067193438 fhandle=0xf88816fa offset=499712 count=1588 res=1588 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1037:4-2348084 [096] ..... 479572.076809: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0x6af4272f offset=499712 count=1588 res=1588 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:4-2348084 [096] ..... 479572.076810: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [096] ..... 479572.076810: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:4-2348084 [096] ..... 479572.076810: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [096] ..... 479572.076811: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2348084 [096] ..... 479572.076811: nfs_writeback_done: error=1588 fileid=00:96:10067193438 fhandle=0x6af4272f offset=499712 count=1588 res=1588 stable=UNSTABLE verifier=7fb1042b4dd46a93
kworker/u1037:8-2095961 [101] ..... 479572.076817: nfs4_pnfs_write: error=0 (OK) fileid=00:96:10067193438 fhandle=0xc9992232 offset=499712 count=1588 res=1588 stateid=1:0xd68163a6 layoutstateid=1:0xaa2ed7d2
kworker/u1037:8-2095961 [101] ..... 479572.076818: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:8-2095961 [101] ..... 479572.076819: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
kworker/u1037:8-2095961 [101] ..... 479572.076819: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:8-2095961 [101] ..... 479572.076820: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:8-2095961 [101] ..... 479572.076820: nfs_writeback_done: error=1588 fileid=00:96:10067193438 fhandle=0xc9992232 offset=499712 count=1588 res=1588 stable=UNSTABLE verifier=e7a66eedc4f3c318
oil-localfs-86-727850 [226] ..... 479572.076832: nfs_fsync_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
oil-localfs-86-727850 [226] ..... 479572.077046: nfs_fsync_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [226] ..... 479572.077328: nfs_writeback_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
oil-localfs-86-727850 [226] ..... 479572.077331: nfs_writeback_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598774309300 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
<...>-1706339 [212] ..... 479572.178837: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598774309300
<...>-1706339 [212] ..... 479572.178839: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x3101a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
<...>-1706339 [212] ..... 479572.178839: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x3101a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.181992: nfs_writeback_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-86-727850 [227] ..... 479572.181999: nfs_writeback_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x3101a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.213513: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x31b1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_CHANGE|INVALID_CTIME|INVALID_SIZE|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.314116: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-86-727850 [227] ..... 479572.314120: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.314120: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.314229: nfs_getattr_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-86-727850 [227] ..... 479572.314241: nfs_getattr_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.314256: nfs_getattr_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-86-727850 [227] ..... 479572.314257: nfs_getattr_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-86-727850 [227] ..... 479572.324902: nfs_invalidate_mapping_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-86-727850 [227] ..... 479572.324903: nfs_writeback_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-86-727850 [227] ..... 479572.324908: nfs_writeback_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0xc (ACL_LRU_SET|INVALIDATING)
oil-localfs-86-727850 [227] ..... 479572.324968: nfs_invalidate_mapping_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0xc (ACL_LRU_SET|INVALIDATING)
kworker/u1037:9-2298147 [098] ..... 479572.325798: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x1c (INVALID_ATIME|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
SR_TLSConnectio-727357 [154] ..... 479573.117824: nfs_writeback_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
SR_TLSConnectio-727357 [154] ..... 479573.117825: nfs_writeback_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x1c (INVALID_ATIME|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
<...>-1706339 [212] ..... 479573.176810: nfs_refresh_inode_enter: fileid=00:96:10067193438 fhandle=0x14c40498 version=1753823598933970106
<...>-1706339 [212] ..... 479573.176811: nfs_set_cache_invalid: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
<...>-1706339 [212] ..... 479573.176811: nfs_refresh_inode_exit: error=0 (OK) fileid=00:96:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-254-2395524 [179] ..... 479897.213099: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [179] ..... 479897.213100: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [051] ..... 479897.977995: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [051] ..... 479897.977995: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [051] ..... 479897.977995: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [051] ..... 479898.108026: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [051] ..... 479898.108027: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479912.629681: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479912.629681: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479912.629681: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479912.942894: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479912.942895: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479918.331078: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479918.331079: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479918.331079: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479918.679960: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479918.679960: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479920.956689: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479920.956689: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479920.956689: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479921.674574: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479921.674574: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479924.619307: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479924.619307: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479924.619307: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479925.121897: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479925.121897: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479928.930828: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479928.930828: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479928.930828: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479929.198609: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479929.198610: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479933.090988: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479933.090988: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479933.090988: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479933.470110: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479933.470111: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479937.701874: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479937.701874: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479937.701875: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479938.419888: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479938.419889: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479942.768481: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479942.768481: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479942.768481: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-246-2395516 [150] ..... 479943.573332: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-246-2395516 [150] ..... 479943.573332: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479948.195171: nfs_refresh_inode_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479948.195171: nfs_set_cache_invalid: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479948.195171: nfs_refresh_inode_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
oil-localfs-254-2395524 [055] ..... 479948.704686: nfs_getattr_enter: fileid=00:7f:10067193438 fhandle=0x14c40498 version=1753823598933970106
oil-localfs-254-2395524 [055] ..... 479948.704687: nfs_getattr_exit: error=0 (OK) fileid=00:7f:10067193438 fhandle=0x14c40498 type=8 (REG) version=1753823598933970106 size=501300 cache_validity=0x0 () nfs_flags=0x0 ()
[-- Attachment #3: 20250725.txt --]
[-- Type: text/plain, Size: 57239 bytes --]
[root@ocloud0094.03.oas1 ~]# grep 10056165185 /sys/kernel/debug/tracing/trace
oil-localfs-252-2605046 [162] ..... 46138.503632: nfs_getattr_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
oil-localfs-252-2605046 [162] ..... 46138.503633: nfs_getattr_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [162] ..... 46138.503654: nfs_getattr_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
oil-localfs-252-2605046 [162] ..... 46138.503654: nfs_getattr_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [162] ..... 46138.504437: nfs_getattr_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
oil-localfs-252-2605046 [162] ..... 46138.504437: nfs_getattr_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [162] ..... 46138.504441: nfs_getattr_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
oil-localfs-252-2605046 [162] ..... 46138.504441: nfs_getattr_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=0 cache_validity=0x0 () nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [162] ..... 46138.512974: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=0 newsize=4096
oil-localfs-252-2605046 [162] ..... 46138.512983: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=4096 newsize=5013
oil-localfs-252-2605046 [162] ..... 46138.513247: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=5013 newsize=8192
oil-localfs-252-2605046 [162] ..... 46138.513434: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=8192 newsize=10026
oil-localfs-252-2605046 [162] ..... 46138.513671: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=10026 newsize=12288
oil-localfs-252-2605046 [162] ..... 46138.513879: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=12288 newsize=15039
oil-localfs-252-2605046 [162] ..... 46138.514064: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=15039 newsize=16384
oil-localfs-252-2605046 [162] ..... 46138.514240: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=16384 newsize=20052
oil-localfs-252-2605046 [162] ..... 46138.514436: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=20052 newsize=20480
oil-localfs-252-2605046 [162] ..... 46138.514593: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=20480 newsize=24576
oil-localfs-252-2605046 [162] ..... 46138.514597: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=24576 newsize=25065
oil-localfs-252-2605046 [162] ..... 46138.514802: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=25065 newsize=28672
oil-localfs-252-2605046 [162] ..... 46138.514971: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=28672 newsize=30078
oil-localfs-252-2605046 [162] ..... 46138.515150: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=30078 newsize=32768
oil-localfs-252-2605046 [162] ..... 46138.515299: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=32768 newsize=35091
oil-localfs-252-2605046 [162] ..... 46138.515481: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=35091 newsize=36864
oil-localfs-252-2605046 [162] ..... 46138.515689: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=36864 newsize=40104
oil-localfs-252-2605046 [162] ..... 46138.515871: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=40104 newsize=40960
oil-localfs-252-2605046 [162] ..... 46138.516080: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=40960 newsize=45056
oil-localfs-252-2605046 [162] ..... 46138.516085: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=45056 newsize=45117
oil-localfs-252-2605046 [162] ..... 46138.516255: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=45117 newsize=49152
oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=49152 newsize=50130
oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=50130 newsize=53248
kworker/u1038:1-2597138 [106] ..... 46138.516740: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0 count=53248 stable=UNSTABLE
oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=53248 newsize=55143
kworker/u1038:1-2597138 [106] ..... 46138.516759: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=0 count=53248 stable=UNSTABLE
kworker/u1038:1-2597138 [106] ..... 46138.516778: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x297952b1 offset=0 count=53248 stable=UNSTABLE
kworker/u1038:1-2597138 [106] ..... 46138.516795: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 stable=UNSTABLE
kworker/u1038:1-2597138 [106] ..... 46138.516796: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=53248 count=1895 stable=UNSTABLE
kworker/u1038:1-2597138 [106] ..... 46138.516798: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x297952b1 offset=53248 count=1895 stable=UNSTABLE
kworker/u1038:1-2593545 [108] ..... 46138.517622: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=0 count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1038:1-2593545 [108] ..... 46138.517623: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.517623: nfs_writeback_done: error=53248 fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=0 count=53248 res=53248 stable=UNSTABLE verifier=d807dfba72196253
kworker/u1037:2-2871862 [097] ..... 46138.517659: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:1-2779638 [099] ..... 46138.517659: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x297952b1 offset=0 count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:2-2871862 [097] ..... 46138.517661: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:2-2871862 [097] ..... 46138.517662: nfs_writeback_done: error=53248 fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE verifier=5199cdae2816c899
kworker/u1037:1-2779638 [099] ..... 46138.517662: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:1-2779638 [099] ..... 46138.517663: nfs_writeback_done: error=53248 fileid=00:aa:10056165185 fhandle=0x297952b1 offset=0 count=53248 res=53248 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
kworker/u1038:1-2593545 [108] ..... 46138.517665: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=53248 count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1038:1-2593545 [108] ..... 46138.517666: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.517666: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1038:1-2593545 [108] ..... 46138.517667: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.517668: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.517668: nfs_writeback_done: error=1895 fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=53248 count=1895 res=1895 stable=UNSTABLE verifier=d807dfba72196253
kworker/u1037:5-2593935 [226] ..... 46138.517669: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:5-2593935 [226] ..... 46138.517670: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.517671: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1037:5-2593935 [226] ..... 46138.517671: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.517672: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.517672: nfs_writeback_done: error=1895 fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stable=UNSTABLE verifier=5199cdae2816c899
kworker/u1037:4-2593530 [096] ..... 46138.517688: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x297952b1 offset=53248 count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:4-2593530 [096] ..... 46138.517689: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2593530 [096] ..... 46138.517690: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1037:4-2593530 [096] ..... 46138.517690: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2593530 [096] ..... 46138.517690: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=55143 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:4-2593530 [096] ..... 46138.517691: nfs_writeback_done: error=1895 fileid=00:aa:10056165185 fhandle=0x297952b1 offset=53248 count=1895 res=1895 stable=UNSTABLE verifier=a5cd34d9a5d3efdb
oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=55143 newsize=57344
oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=57344 newsize=60156
oil-localfs-252-2605046 [162] ..... 46138.518760: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=60156 newsize=61440
oil-localfs-252-2605046 [162] ..... 46138.518932: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=61440 newsize=65169
oil-localfs-252-2605046 [162] ..... 46138.519123: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=65169 newsize=65536
oil-localfs-252-2605046 [162] ..... 46138.519308: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=65536 newsize=69632
oil-localfs-252-2605046 [162] ..... 46138.519312: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=69632 newsize=70182
oil-localfs-252-2605046 [162] ..... 46138.519499: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=70182 newsize=73728
oil-localfs-252-2605046 [162] ..... 46138.519662: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=73728 newsize=75195
oil-localfs-252-2605046 [162] ..... 46138.519854: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=75195 newsize=77824
oil-localfs-252-2605046 [162] ..... 46138.520022: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=77824 newsize=80208
oil-localfs-252-2605046 [162] ..... 46138.520208: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=80208 newsize=81920
oil-localfs-252-2605046 [162] ..... 46138.520379: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=81920 newsize=85221
oil-localfs-252-2605046 [162] ..... 46138.520575: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=85221 newsize=86016
oil-localfs-252-2605046 [162] ..... 46138.520767: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=86016 newsize=90112
oil-localfs-252-2605046 [162] ..... 46138.520771: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=90112 newsize=90234
oil-localfs-252-2605046 [162] ..... 46138.520963: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=90234 newsize=94208
oil-localfs-252-2605046 [162] ..... 46138.521123: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=94208 newsize=95247
oil-localfs-252-2605046 [162] ..... 46138.521311: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=95247 newsize=98304
oil-localfs-252-2605046 [162] ..... 46138.521452: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=98304 newsize=100260
oil-localfs-252-2605046 [162] ..... 46138.521624: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=100260 newsize=102400
oil-localfs-252-2605046 [162] ..... 46138.521794: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=102400 newsize=105273
oil-localfs-252-2605046 [162] ..... 46138.521977: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=105273 newsize=106496
oil-localfs-252-2605046 [162] ..... 46138.522180: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=106496 newsize=110286
oil-localfs-252-2605046 [162] ..... 46138.522365: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=110286 newsize=110592
oil-localfs-252-2605046 [162] ..... 46138.522531: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=110592 newsize=114688
oil-localfs-252-2605046 [162] ..... 46138.522535: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=114688 newsize=115299
oil-localfs-252-2605046 [162] ..... 46138.522746: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=115299 newsize=118784
oil-localfs-252-2605046 [162] ..... 46138.522907: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=118784 newsize=120312
oil-localfs-252-2605046 [162] ..... 46138.523094: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=120312 newsize=122880
oil-localfs-252-2605046 [162] ..... 46138.523251: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=122880 newsize=125325
oil-localfs-252-2605046 [162] ..... 46138.523438: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=125325 newsize=126976
oil-localfs-252-2605046 [162] ..... 46138.523619: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=126976 newsize=130338
oil-localfs-252-2605046 [162] ..... 46138.523828: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=130338 newsize=131072
oil-localfs-252-2605046 [162] ..... 46138.524037: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=131072 newsize=135168
oil-localfs-252-2605046 [162] ..... 46138.524041: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=135168 newsize=135351
oil-localfs-252-2605046 [162] ..... 46138.524245: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=135351 newsize=139264
oil-localfs-252-2605046 [162] ..... 46138.524423: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=139264 newsize=140364
oil-localfs-252-2605046 [162] ..... 46138.524631: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=140364 newsize=143360
oil-localfs-252-2605046 [162] ..... 46138.524788: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=143360 newsize=145377
oil-localfs-252-2605046 [162] ..... 46138.525001: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=145377 newsize=147456
oil-localfs-252-2605046 [162] ..... 46138.525180: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=147456 newsize=150390
oil-localfs-252-2605046 [162] ..... 46138.525366: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=150390 newsize=151552
oil-localfs-252-2605046 [162] ..... 46138.525529: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=151552 newsize=155403
oil-localfs-252-2605046 [162] ..... 46138.525750: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=155403 newsize=155648
oil-localfs-252-2605046 [162] ..... 46138.525947: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=155648 newsize=159744
oil-localfs-252-2605046 [162] ..... 46138.525952: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=159744 newsize=160416
oil-localfs-252-2605046 [162] ..... 46138.526172: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=160416 newsize=163840
oil-localfs-252-2605046 [162] ..... 46138.526354: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=163840 newsize=165429
oil-localfs-252-2605046 [162] ..... 46138.526542: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=165429 newsize=167936
oil-localfs-252-2605046 [162] ..... 46138.526713: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=167936 newsize=170442
oil-localfs-252-2605046 [162] ..... 46138.526932: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=170442 newsize=172032
oil-localfs-252-2605046 [162] ..... 46138.527095: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=172032 newsize=175455
oil-localfs-252-2605046 [162] ..... 46138.527301: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=175455 newsize=176128
oil-localfs-252-2605046 [162] ..... 46138.527564: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=176128 newsize=180224
oil-localfs-252-2605046 [162] ..... 46138.527568: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=180224 newsize=180468
oil-localfs-252-2605046 [162] ..... 46138.527774: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=180468 newsize=184320
oil-localfs-252-2605046 [162] ..... 46138.527933: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=184320 newsize=185481
oil-localfs-252-2605046 [162] ..... 46138.528148: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=185481 newsize=188416
oil-localfs-252-2605046 [162] ..... 46138.528297: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=188416 newsize=190494
oil-localfs-252-2605046 [162] ..... 46138.528498: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=190494 newsize=192512
oil-localfs-252-2605046 [162] ..... 46138.528748: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=192512 newsize=195507
oil-localfs-252-2605046 [162] ..... 46138.528935: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=195507 newsize=196608
oil-localfs-252-2605046 [162] ..... 46138.529090: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=196608 newsize=200520
oil-localfs-252-2605046 [162] ..... 46138.529296: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=200520 newsize=200704
oil-localfs-252-2605046 [162] ..... 46138.529451: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=200704 newsize=204800
oil-localfs-252-2605046 [162] ..... 46138.529455: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=204800 newsize=205533
oil-localfs-252-2605046 [162] ..... 46138.529654: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=205533 newsize=208896
oil-localfs-252-2605046 [162] ..... 46138.529827: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=208896 newsize=210546
oil-localfs-252-2605046 [162] ..... 46138.530021: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=210546 newsize=212992
oil-localfs-252-2605046 [162] ..... 46138.530182: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=212992 newsize=215559
oil-localfs-252-2605046 [162] ..... 46138.530401: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=215559 newsize=217088
oil-localfs-252-2605046 [162] ..... 46138.530562: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=217088 newsize=220572
oil-localfs-252-2605046 [162] ..... 46138.530790: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=220572 newsize=221184
oil-localfs-252-2605046 [162] ..... 46138.530985: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=221184 newsize=225280
oil-localfs-252-2605046 [162] ..... 46138.530990: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=225280 newsize=225585
oil-localfs-252-2605046 [162] ..... 46138.531177: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=225585 newsize=229376
oil-localfs-252-2605046 [162] ..... 46138.531336: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=229376 newsize=230598
oil-localfs-252-2605046 [162] ..... 46138.531544: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=230598 newsize=233472
oil-localfs-252-2605046 [162] ..... 46138.531714: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=233472 newsize=235611
oil-localfs-252-2605046 [162] ..... 46138.531917: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=235611 newsize=237568
oil-localfs-252-2605046 [162] ..... 46138.532144: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=237568 newsize=240624
oil-localfs-252-2605046 [162] ..... 46138.532345: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=240624 newsize=241664
oil-localfs-252-2605046 [162] ..... 46138.532541: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=241664 newsize=245637
oil-localfs-252-2605046 [162] ..... 46138.532782: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=245637 newsize=245760
oil-localfs-252-2605046 [162] ..... 46138.532978: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=245760 newsize=249856
oil-localfs-252-2605046 [162] ..... 46138.532982: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=249856 newsize=250650
oil-localfs-252-2605046 [162] ..... 46138.533177: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=250650 newsize=253952
oil-localfs-252-2605046 [162] ..... 46138.533365: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=253952 newsize=255663
oil-localfs-252-2605046 [162] ..... 46138.533553: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=255663 newsize=258048
oil-localfs-252-2605046 [162] ..... 46138.533715: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=258048 newsize=260676
oil-localfs-252-2605046 [162] ..... 46138.533926: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=260676 newsize=262144
oil-localfs-252-2605046 [162] ..... 46138.534105: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=262144 newsize=265689
oil-localfs-252-2605046 [162] ..... 46138.534309: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=265689 newsize=266240
oil-localfs-252-2605046 [162] ..... 46138.534575: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=266240 newsize=270336
oil-localfs-252-2605046 [162] ..... 46138.534579: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=270336 newsize=270702
oil-localfs-252-2605046 [162] ..... 46138.534783: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=270702 newsize=274432
oil-localfs-252-2605046 [162] ..... 46138.534940: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=274432 newsize=275715
oil-localfs-252-2605046 [162] ..... 46138.535155: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=275715 newsize=278528
oil-localfs-252-2605046 [162] ..... 46138.535297: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=278528 newsize=280728
oil-localfs-252-2605046 [162] ..... 46138.535484: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=280728 newsize=282624
oil-localfs-252-2605046 [162] ..... 46138.535695: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=282624 newsize=285741
oil-localfs-252-2605046 [162] ..... 46138.535879: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=285741 newsize=286720
oil-localfs-252-2605046 [162] ..... 46138.536042: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=286720 newsize=290754
oil-localfs-252-2605046 [162] ..... 46138.536255: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=290754 newsize=290816
oil-localfs-252-2605046 [162] ..... 46138.536419: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=290816 newsize=294912
oil-localfs-252-2605046 [162] ..... 46138.536422: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=294912 newsize=295767
oil-localfs-252-2605046 [162] ..... 46138.536626: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=295767 newsize=299008
oil-localfs-252-2605046 [162] ..... 46138.536816: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=299008 newsize=300780
oil-localfs-252-2605046 [162] ..... 46138.537011: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=300780 newsize=303104
oil-localfs-252-2605046 [162] ..... 46138.537184: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=303104 newsize=305793
oil-localfs-252-2605046 [163] ..... 46138.537434: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=305793 newsize=307200
oil-localfs-252-2605046 [163] ..... 46138.537623: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=307200 newsize=310806
oil-localfs-252-2605046 [163] ..... 46138.537848: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=310806 newsize=311296
oil-localfs-252-2605046 [163] ..... 46138.538046: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=311296 newsize=315392
oil-localfs-252-2605046 [163] ..... 46138.538049: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=315392 newsize=315819
oil-localfs-252-2605046 [163] ..... 46138.538235: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=315819 newsize=319488
oil-localfs-252-2605046 [163] ..... 46138.538408: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=319488 newsize=320832
oil-localfs-252-2605046 [163] ..... 46138.538621: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=320832 newsize=323584
oil-localfs-252-2605046 [163] ..... 46138.538837: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=323584 newsize=325845
oil-localfs-252-2605046 [163] ..... 46138.539032: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=325845 newsize=327680
oil-localfs-252-2605046 [163] ..... 46138.539214: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=327680 newsize=330858
oil-localfs-252-2605046 [163] ..... 46138.539379: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=330858 newsize=331776
oil-localfs-252-2605046 [163] ..... 46138.539552: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=331776 newsize=335871
oil-localfs-252-2605046 [163] ..... 46138.539750: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=335871 newsize=335872
oil-localfs-252-2605046 [163] ..... 46138.539936: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=335872 newsize=339968
oil-localfs-252-2605046 [163] ..... 46138.539940: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=339968 newsize=340884
oil-localfs-252-2605046 [163] ..... 46138.540117: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=340884 newsize=344064
oil-localfs-252-2605046 [163] ..... 46138.540299: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=344064 newsize=345897
oil-localfs-252-2605046 [163] ..... 46138.540454: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=345897 newsize=348160
oil-localfs-252-2605046 [163] ..... 46138.540611: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=348160 newsize=350910
oil-localfs-252-2605046 [163] ..... 46138.540820: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=350910 newsize=352256
oil-localfs-252-2605046 [163] ..... 46138.540974: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=352256 newsize=355923
oil-localfs-252-2605046 [163] ..... 46138.541159: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=355923 newsize=356352
oil-localfs-252-2605046 [163] ..... 46138.541345: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=356352 newsize=360448
oil-localfs-252-2605046 [163] ..... 46138.541348: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=360448 newsize=360936
oil-localfs-252-2605046 [163] ..... 46138.541514: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=360936 newsize=364544
oil-localfs-252-2605046 [163] ..... 46138.541686: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=364544 newsize=365949
oil-localfs-252-2605046 [163] ..... 46138.541893: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=365949 newsize=368640
oil-localfs-252-2605046 [163] ..... 46138.542049: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=368640 newsize=370962
oil-localfs-252-2605046 [163] ..... 46138.542229: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=370962 newsize=372736
oil-localfs-252-2605046 [163] ..... 46138.542400: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=372736 newsize=375975
oil-localfs-252-2605046 [163] ..... 46138.542559: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=375975 newsize=376832
oil-localfs-252-2605046 [163] ..... 46138.542736: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=376832 newsize=380928
oil-localfs-252-2605046 [163] ..... 46138.542739: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=380928 newsize=380988
oil-localfs-252-2605046 [163] ..... 46138.542939: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=380988 newsize=385024
oil-localfs-252-2605046 [163] ..... 46138.543093: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=385024 newsize=386001
oil-localfs-252-2605046 [163] ..... 46138.543270: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=386001 newsize=389120
oil-localfs-252-2605046 [163] ..... 46138.543450: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=389120 newsize=391014
oil-localfs-252-2605046 [163] ..... 46138.543613: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=391014 newsize=393216
oil-localfs-252-2605046 [163] ..... 46138.543782: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=393216 newsize=396027
oil-localfs-252-2605046 [163] ..... 46138.543977: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=396027 newsize=397312
oil-localfs-252-2605046 [163] ..... 46138.544167: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=397312 newsize=401040
oil-localfs-252-2605046 [163] ..... 46138.544339: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=401040 newsize=401408
oil-localfs-252-2605046 [163] ..... 46138.544504: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=401408 newsize=405504
oil-localfs-252-2605046 [163] ..... 46138.544507: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=405504 newsize=406053
oil-localfs-252-2605046 [163] ..... 46138.544677: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=406053 newsize=409600
oil-localfs-252-2605046 [163] ..... 46138.544838: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=409600 newsize=411066
oil-localfs-252-2605046 [163] ..... 46138.545022: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=411066 newsize=413696
oil-localfs-252-2605046 [163] ..... 46138.545171: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=413696 newsize=416079
oil-localfs-252-2605046 [163] ..... 46138.545350: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=416079 newsize=417792
oil-localfs-252-2605046 [163] ..... 46138.545526: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=417792 newsize=421092
oil-localfs-252-2605046 [163] ..... 46138.545695: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=421092 newsize=421888
oil-localfs-252-2605046 [163] ..... 46138.545863: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=421888 newsize=425984
oil-localfs-252-2605046 [163] ..... 46138.545869: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=425984 newsize=426105
oil-localfs-252-2605046 [163] ..... 46138.546055: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=426105 newsize=430080
oil-localfs-252-2605046 [163] ..... 46138.546201: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=430080 newsize=431118
oil-localfs-252-2605046 [163] ..... 46138.546382: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=431118 newsize=434176
oil-localfs-252-2605046 [163] ..... 46138.546545: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=434176 newsize=436131
oil-localfs-252-2605046 [163] ..... 46138.546715: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=436131 newsize=438272
oil-localfs-252-2605046 [163] ..... 46138.546890: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=438272 newsize=441144
oil-localfs-252-2605046 [163] ..... 46138.547083: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=441144 newsize=442368
oil-localfs-252-2605046 [163] ..... 46138.547249: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=442368 newsize=446157
oil-localfs-252-2605046 [163] ..... 46138.547435: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=446157 newsize=446464
oil-localfs-252-2605046 [163] ..... 46138.547613: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=446464 newsize=450560
oil-localfs-252-2605046 [163] ..... 46138.547616: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=450560 newsize=451170
oil-localfs-252-2605046 [163] ..... 46138.547796: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=451170 newsize=454656
oil-localfs-252-2605046 [163] ..... 46138.547962: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=454656 newsize=456183
oil-localfs-252-2605046 [163] ..... 46138.548143: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=456183 newsize=458752
oil-localfs-252-2605046 [163] ..... 46138.548293: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=458752 newsize=461196
oil-localfs-252-2605046 [163] ..... 46138.548461: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=461196 newsize=462848
oil-localfs-252-2605046 [163] ..... 46138.548620: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=462848 newsize=466209
oil-localfs-252-2605046 [163] ..... 46138.548787: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=466209 newsize=466944
oil-localfs-252-2605046 [163] ..... 46138.548967: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=466944 newsize=471040
oil-localfs-252-2605046 [163] ..... 46138.548970: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=471040 newsize=471222
oil-localfs-252-2605046 [163] ..... 46138.549151: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=471222 newsize=475136
oil-localfs-252-2605046 [163] ..... 46138.549297: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=475136 newsize=476235
oil-localfs-252-2605046 [163] ..... 46138.549473: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=476235 newsize=479232
oil-localfs-252-2605046 [163] ..... 46138.549639: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=479232 newsize=481248
oil-localfs-252-2605046 [163] ..... 46138.549812: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=481248 newsize=483328
oil-localfs-252-2605046 [163] ..... 46138.549963: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=483328 newsize=486261
oil-localfs-252-2605046 [163] ..... 46138.550144: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=486261 newsize=487424
oil-localfs-252-2605046 [163] ..... 46138.550325: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=487424 newsize=491274
oil-localfs-252-2605046 [163] ..... 46138.550494: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=491274 newsize=491520
oil-localfs-252-2605046 [163] ..... 46138.550680: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=491520 newsize=495616
oil-localfs-252-2605046 [163] ..... 46138.550684: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=495616 newsize=496287
oil-localfs-252-2605046 [163] ..... 46138.550845: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=496287 newsize=499712
oil-localfs-252-2605046 [163] ..... 46138.551001: nfs_size_grow: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129 cursize=499712 newsize=501300
oil-localfs-252-2605046 [163] ..... 46138.551210: nfs_fsync_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
oil-localfs-252-2605046 [163] ..... 46138.551459: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=57344 count=443956 stable=FILE_SYNC
oil-localfs-252-2605046 [163] ..... 46138.551594: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=57344 count=443956 stable=FILE_SYNC
oil-localfs-252-2605046 [163] ..... 46138.551731: nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x297952b1 offset=57344 count=443956 stable=FILE_SYNC
kworker/u1037:5-2593935 [226] ..... 46138.552991: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=57344 count=443956 res=443956 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:5-2593935 [226] ..... 46138.552993: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.552994: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1037:5-2593935 [226] ..... 46138.552995: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.552995: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.552995: nfs_writeback_done: error=443956 fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=57344 count=443956 res=443956 stable=FILE_SYNC verifier=5199cdae2816c899
kworker/u1037:5-2593935 [226] ..... 46138.553238: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x297952b1 offset=57344 count=443956 res=443956 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1037:5-2593935 [226] ..... 46138.553239: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.553239: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1037:5-2593935 [226] ..... 46138.553240: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.553240: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1037:5-2593935 [226] ..... 46138.553240: nfs_writeback_done: error=443956 fileid=00:aa:10056165185 fhandle=0x297952b1 offset=57344 count=443956 res=443956 stable=FILE_SYNC verifier=a5cd34d9a5d3efdb
kworker/u1038:1-2593545 [108] ..... 46138.553322: nfs4_pnfs_write: error=0 (OK) fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=57344 count=443956 res=443956 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
kworker/u1038:1-2593545 [108] ..... 46138.553324: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.553325: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1038:1-2593545 [108] ..... 46138.553326: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.553326: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1038:1-2593545 [108] ..... 46138.553326: nfs_writeback_done: error=443956 fileid=00:aa:10056165185 fhandle=0xbb9c42be offset=57344 count=443956 res=443956 stable=FILE_SYNC verifier=d807dfba72196253
oil-localfs-252-2605046 [163] ..... 46138.553519: nfs_fsync_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [163] ..... 46138.553740: nfs_writeback_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
oil-localfs-252-2605046 [163] ..... 46138.553743: nfs_writeback_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366409158129 size=501300 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1025:1-1058132 [006] ..... 46138.584970: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366409158129
kworker/u1025:1-1058132 [006] ..... 46138.584973: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x3101a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1025:1-1058132 [006] ..... 46138.584973: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x3101a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.591925: nfs_writeback_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
oil-localfs-252-2605046 [007] ..... 46138.591932: nfs_writeback_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x3101a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.629684: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x31b1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL|INVALID_CHANGE|INVALID_CTIME|INVALID_SIZE|INVALID_OTHER|INVALID_NLINK|INVALID_MODE) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.728413: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
oil-localfs-252-2605046 [007] ..... 46138.728415: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.728416: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.728486: nfs_getattr_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
oil-localfs-252-2605046 [007] ..... 46138.728492: nfs_getattr_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.728500: nfs_getattr_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
oil-localfs-252-2605046 [007] ..... 46138.728501: nfs_getattr_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x1a (INVALID_DATA|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
oil-localfs-252-2605046 [007] ..... 46138.735689: nfs_invalidate_mapping_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
oil-localfs-252-2605046 [007] ..... 46138.735690: nfs_writeback_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
oil-localfs-252-2605046 [007] ..... 46138.735694: nfs_writeback_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0xc (ACL_LRU_SET|INVALIDATING)
oil-localfs-252-2605046 [007] ..... 46138.735752: nfs_invalidate_mapping_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0xc (ACL_LRU_SET|INVALIDATING)
kworker/u1037:3-2593501 [101] ..... 46138.737212: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x1c (INVALID_ATIME|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
ThriftIO86-2603963 [075] ..... 46139.390716: nfs_writeback_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
ThriftIO86-2603963 [075] ..... 46139.390717: nfs_writeback_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x1c (INVALID_ATIME|INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1025:1-1058132 [006] ..... 46139.439373: nfs_refresh_inode_enter: fileid=00:aa:10056165185 fhandle=0x8bfc64c9 version=1753485366506226295
kworker/u1025:1-1058132 [006] ..... 46139.439375: nfs_set_cache_invalid: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
kworker/u1025:1-1058132 [006] ..... 46139.439376: nfs_refresh_inode_exit: error=0 (OK) fileid=00:aa:10056165185 fhandle=0x8bfc64c9 type=8 (REG) version=1753485366506226295 size=501300 cache_validity=0x18 (INVALID_ACCESS|INVALID_ACL) nfs_flags=0x4 (ACL_LRU_SET)
timed out waiting for input: auto-logout
Connection to ocloud0094.03.oas1.facebook.com closed.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-07-30 14:52 parts of pages on NFS being replaced by swaths of NULs Jeff Layton
@ 2025-07-31 21:56 ` Trond Myklebust
2025-07-31 23:04 ` Jeff Layton
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Trond Myklebust @ 2025-07-31 21:56 UTC (permalink / raw)
To: Jeff Layton, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> We've been seeing a rather nasty bit of data corruption with NFS in
> our
> environment. The clients in this env run a patched v6.9 kernel
> (mostly
> due to GPU driver requirements). Most of the patches are NFS
> containerization fixes.
>
> The workload is python scripts writing JSONL files sequentially using
> bog-standard buffered write() calls. We're fairly certain that
> userland
> is not seeking so there should be no gaps in the data written.
>
> The problem is that we see ranges of written files being replaced by
> NULs. The length of the file seemingly doesn't change from what it
> should be, but a chunk of it will be zeroed-out. Looking at the
> offsets
> of the zeroed out ranges, the front part of one page is fine, but the
> data from some random offset in the page to the end of the page is
> zeroes.
>
> We have a reproducer but we have to run it in a heavily parallel
> configuration to make it happen, so it's evidently a tight race of
> some
> sort.
>
> We've turned up some tracepoints and reproduced this twice. What we
> see
> in both cases is that the client just doesn't write some section of
> the
> file.
>
> In the first trace, there was is a gap of 2201 bytes between these
> two
> writes on the wire:
>
> kworker/u1038:1-2597138 [106] ..... 46138.516795:
> nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> offset=53248 count=1895 stable=UNSTABLE
> oil-localfs-252-2605046 [163] ..... 46138.551459:
> nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> offset=57344 count=443956 stable=FILE_SYNC
>
> The zeroed-out range is from 55143-57344. At the same time that the
> file is growing from 53248 to 55143 (due to sequential write()
> activity), the client is kicking off writeback for the range up to
> 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-55143
> (note that I've filtered out all but one of the DS filehandles for
> brevity):
>
> oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> version=1753485366409158129 cursize=49152 newsize=50130
> oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> version=1753485366409158129 cursize=50130 newsize=53248
> kworker/u1038:1-2597138 [106] ..... 46138.516740:
> nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> offset=0 count=53248 stable=UNSTABLE
> oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> version=1753485366409158129 cursize=53248 newsize=55143
> kworker/u1038:1-2597138 [106] ..... 46138.516795:
> nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> offset=53248 count=1895 stable=UNSTABLE
> kworker/u1037:2-2871862 [097] ..... 46138.517659: nfs4_pnfs_write:
> error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> kworker/u1037:2-2871862 [097] ..... 46138.517662:
> nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> verifier=5199cdae2816c899
> kworker/u1037:5-2593935 [226] ..... 46138.517669: nfs4_pnfs_write:
> error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248
> count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> kworker/u1037:5-2593935 [226] ..... 46138.517672:
> nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stable=UNSTABLE
> verifier=5199cdae2816c899
> oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> version=1753485366409158129 cursize=55143 newsize=57344
> oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> version=1753485366409158129 cursize=57344 newsize=60156
>
> ...and just after writeback completes, we see the file size grow from
> 55143 to the end of the page (57344).
>
> The second trace has similar symptoms. There is a lot more (smaller)
> write activity (due to memory pressure?). There is a gap of 3791
> bytes
> between these on-the-wire writes, however:
>
> kworker/u1036:0-2339252 [217] ..... 479572.054622:
> nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> offset=221184 count=4401 stable=UNSTABLE
> kworker/u1030:1-2297876 [042] ..... 479572.074194:
> nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> offset=229376 count=261898 stable=UNSTABLE
>
> Same situation -- the at page at offset 53248 has 305 bytes on it,
> and
> the remaining is zeroed. This trace shows similar racing write() and
> writeback activity as in Friday's trace. At around the same time as
> the
> client was growing the file over the affected range, writeback was
> kicking off for everything up to the affected range (this has some
> other wb related calls filtered for brevity):
>
> oil-localfs-86-727850 [215] ..... 479572.053987: nfs_size_grow:
> fileid=00:96:10067193438 fhandle=0x14c40498
> version=1753823598774309300 cursize=217088
> newsize=220572
>
> kworker/u1036:8-2339326 [088] ..... 479572.054008:
> nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> offset=217088 count=3484
> stable=UNSTABLE
>
> oil-localfs-86-727850 [215] ..... 479572.054405: nfs_size_grow:
> fileid=00:96:10067193438 fhandle=0x14c40498
> version=1753823598774309300 cursize=220572
> newsize=221184
>
> kworker/u1036:1-2297875 [217] ..... 479572.054418:
> nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> offset=220572 count=612
> stable=UNSTABLE
>
> oil-localfs-86-727850 [215] ..... 479572.054581: nfs_size_grow:
> fileid=00:96:10067193438 fhandle=0x14c40498
> version=1753823598774309300 cursize=221184
> newsize=225280
>
> oil-localfs-86-727850 [215] ..... 479572.054584: nfs_size_grow:
> fileid=00:96:10067193438 fhandle=0x14c40498
> version=1753823598774309300 cursize=225280
> newsize=225585
>
> kworker/u1036:0-2339252 [217] ..... 479572.054622:
> nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> offset=221184 count=4401
> stable=UNSTABLE
>
> oil-localfs-86-727850 [215] ..... 479572.054997: nfs_size_grow:
> fileid=00:96:10067193438 fhandle=0x14c40498
> version=1753823598774309300 cursize=225585
> newsize=229376
>
> oil-localfs-86-727850 [215] ..... 479572.055190: nfs_size_grow:
> fileid=00:96:10067193438 fhandle=0x14c40498
> version=1753823598774309300 cursize=229376
> newsize=230598
>
>
> Could this be a race between extending an existing dirty page, and
> writeback kicking off for the pre-extension range on the page? Maybe
> the client is clearing the dirty bit, thinking that the write covers
> the dirty range, but it has an outdated idea about what that range is
> or doesn't properly check?
>
> Traces for both events, filtered on the relevant fileid are attached.
> I've rolled patches for some new tracepoints that I'm going to
> attempt
> to turn up next, but I thought that this was a good point to solicit
> ideas.
>
> Happy to entertain other thoughts or patches!
So... The fact that we are seeing a nfs_size_grow() for the hole at
offset 55143 means that either an existing request was updated, or a
new one was created in order to cover that hole, and it must have been
marked as dirty.
I'm not seeing anything in the NFS code that can lose that request
without triggering either the nfs_write_error tracepoint, the
nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
else completing the write.
The only other way I can see this data being lost is if something is
corrupting folio->private, or if the page cache is somehow managing to
throw away a dirty folio.
Of the two, there was for a while a netfs bug which would corrupt
folio->private, but I assume you're not using cachefs?
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trondmy@kernel.org, trond.myklebust@hammerspace.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-07-31 21:56 ` Trond Myklebust
@ 2025-07-31 23:04 ` Jeff Layton
2025-08-06 14:20 ` Jeff Layton
2025-08-12 11:58 ` Jeff Layton
2 siblings, 0 replies; 20+ messages in thread
From: Jeff Layton @ 2025-07-31 23:04 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Thu, 2025-07-31 at 17:56 -0400, Trond Myklebust wrote:
> On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> > We've been seeing a rather nasty bit of data corruption with NFS in
> > our
> > environment. The clients in this env run a patched v6.9 kernel
> > (mostly
> > due to GPU driver requirements). Most of the patches are NFS
> > containerization fixes.
> >
> > The workload is python scripts writing JSONL files sequentially using
> > bog-standard buffered write() calls. We're fairly certain that
> > userland
> > is not seeking so there should be no gaps in the data written.
> >
> > The problem is that we see ranges of written files being replaced by
> > NULs. The length of the file seemingly doesn't change from what it
> > should be, but a chunk of it will be zeroed-out. Looking at the
> > offsets
> > of the zeroed out ranges, the front part of one page is fine, but the
> > data from some random offset in the page to the end of the page is
> > zeroes.
> >
> > We have a reproducer but we have to run it in a heavily parallel
> > configuration to make it happen, so it's evidently a tight race of
> > some
> > sort.
> >
> > We've turned up some tracepoints and reproduced this twice. What we
> > see
> > in both cases is that the client just doesn't write some section of
> > the
> > file.
> >
> > In the first trace, there was is a gap of 2201 bytes between these
> > two
> > writes on the wire:
> >
> > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=53248 count=1895 stable=UNSTABLE
> > oil-localfs-252-2605046 [163] ..... 46138.551459:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=57344 count=443956 stable=FILE_SYNC
> >
> > The zeroed-out range is from 55143-57344. At the same time that the
> > file is growing from 53248 to 55143 (due to sequential write()
> > activity), the client is kicking off writeback for the range up to
> > 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-55143
> > (note that I've filtered out all but one of the DS filehandles for
> > brevity):
> >
> > oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=49152 newsize=50130
> > oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=50130 newsize=53248
> > kworker/u1038:1-2597138 [106] ..... 46138.516740:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=0 count=53248 stable=UNSTABLE
> > oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=53248 newsize=55143
> > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=53248 count=1895 stable=UNSTABLE
> > kworker/u1037:2-2871862 [097] ..... 46138.517659: nfs4_pnfs_write:
> > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> > count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> > kworker/u1037:2-2871862 [097] ..... 46138.517662:
> > nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> > fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> > verifier=5199cdae2816c899
> > kworker/u1037:5-2593935 [226] ..... 46138.517669: nfs4_pnfs_write:
> > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248
> > count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> > kworker/u1037:5-2593935 [226] ..... 46138.517672:
> > nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> > fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stable=UNSTABLE
> > verifier=5199cdae2816c899
> > oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=55143 newsize=57344
> > oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=57344 newsize=60156
> >
> > ...and just after writeback completes, we see the file size grow from
> > 55143 to the end of the page (57344).
> >
> > The second trace has similar symptoms. There is a lot more (smaller)
> > write activity (due to memory pressure?). There is a gap of 3791
> > bytes
> > between these on-the-wire writes, however:
> >
> > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=221184 count=4401 stable=UNSTABLE
> > kworker/u1030:1-2297876 [042] ..... 479572.074194:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=229376 count=261898 stable=UNSTABLE
> >
> > Same situation -- the at page at offset 53248 has 305 bytes on it,
> > and
> > the remaining is zeroed. This trace shows similar racing write() and
> > writeback activity as in Friday's trace. At around the same time as
> > the
> > client was growing the file over the affected range, writeback was
> > kicking off for everything up to the affected range (this has some
> > other wb related calls filtered for brevity):
> >
> > oil-localfs-86-727850 [215] ..... 479572.053987: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=217088
> > newsize=220572
> >
> > kworker/u1036:8-2339326 [088] ..... 479572.054008:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=217088 count=3484
> > stable=UNSTABLE
> >
> > oil-localfs-86-727850 [215] ..... 479572.054405: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=220572
> > newsize=221184
> >
> > kworker/u1036:1-2297875 [217] ..... 479572.054418:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=220572 count=612
> > stable=UNSTABLE
> >
> > oil-localfs-86-727850 [215] ..... 479572.054581: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=221184
> > newsize=225280
> >
> > oil-localfs-86-727850 [215] ..... 479572.054584: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=225280
> > newsize=225585
> >
> > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=221184 count=4401
> > stable=UNSTABLE
> >
> > oil-localfs-86-727850 [215] ..... 479572.054997: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=225585
> > newsize=229376
> >
> > oil-localfs-86-727850 [215] ..... 479572.055190: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=229376
> > newsize=230598
> >
> >
> > Could this be a race between extending an existing dirty page, and
> > writeback kicking off for the pre-extension range on the page? Maybe
> > the client is clearing the dirty bit, thinking that the write covers
> > the dirty range, but it has an outdated idea about what that range is
> > or doesn't properly check?
> >
> > Traces for both events, filtered on the relevant fileid are attached.
> > I've rolled patches for some new tracepoints that I'm going to
> > attempt
> > to turn up next, but I thought that this was a good point to solicit
> > ideas.
> >
> > Happy to entertain other thoughts or patches!
>
> So... The fact that we are seeing a nfs_size_grow() for the hole at
> offset 55143 means that either an existing request was updated, or a
> new one was created in order to cover that hole, and it must have been
> marked as dirty.
>
> I'm not seeing anything in the NFS code that can lose that request
> without triggering either the nfs_write_error tracepoint, the
> nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
> else completing the write.
>
I've been looking for a couple of days too and haven't spotted any
obvious bugs yet.
> The only other way I can see this data being lost is if something is
> corrupting folio->private, or if the page cache is somehow managing to
> throw away a dirty folio.
> Of the two, there was for a while a netfs bug which would corrupt
> folio->private, but I assume you're not using cachefs?
No, no fscache. Mount options are:
proto=tcp6,port=20492,vers=4.2,nosharecache,timeo=30,nconnect=16,noresvport
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-07-31 21:56 ` Trond Myklebust
2025-07-31 23:04 ` Jeff Layton
@ 2025-08-06 14:20 ` Jeff Layton
2025-08-12 11:58 ` Jeff Layton
2 siblings, 0 replies; 20+ messages in thread
From: Jeff Layton @ 2025-08-06 14:20 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Thu, 2025-07-31 at 17:56 -0400, Trond Myklebust wrote:
> On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> > We've been seeing a rather nasty bit of data corruption with NFS in
> > our
> > environment. The clients in this env run a patched v6.9 kernel
> > (mostly
> > due to GPU driver requirements). Most of the patches are NFS
> > containerization fixes.
> >
> > The workload is python scripts writing JSONL files sequentially using
> > bog-standard buffered write() calls. We're fairly certain that
> > userland
> > is not seeking so there should be no gaps in the data written.
> >
> > The problem is that we see ranges of written files being replaced by
> > NULs. The length of the file seemingly doesn't change from what it
> > should be, but a chunk of it will be zeroed-out. Looking at the
> > offsets
> > of the zeroed out ranges, the front part of one page is fine, but the
> > data from some random offset in the page to the end of the page is
> > zeroes.
> >
> > We have a reproducer but we have to run it in a heavily parallel
> > configuration to make it happen, so it's evidently a tight race of
> > some
> > sort.
> >
> > We've turned up some tracepoints and reproduced this twice. What we
> > see
> > in both cases is that the client just doesn't write some section of
> > the
> > file.
> >
> > In the first trace, there was is a gap of 2201 bytes between these
> > two
> > writes on the wire:
> >
> > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=53248 count=1895 stable=UNSTABLE
> > foo-localfs-252-2605046 [163] ..... 46138.551459:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=57344 count=443956 stable=FILE_SYNC
> >
> > The zeroed-out range is from 55143-57344. At the same time that the
> > file is growing from 53248 to 55143 (due to sequential write()
> > activity), the client is kicking off writeback for the range up to
> > 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-55143
> > (note that I've filtered out all but one of the DS filehandles for
> > brevity):
> >
> > foo-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=49152 newsize=50130
> > foo-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=50130 newsize=53248
> > kworker/u1038:1-2597138 [106] ..... 46138.516740:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=0 count=53248 stable=UNSTABLE
> > foo-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=53248 newsize=55143
> > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=53248 count=1895 stable=UNSTABLE
> > kworker/u1037:2-2871862 [097] ..... 46138.517659: nfs4_pnfs_write:
> > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> > count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> > kworker/u1037:2-2871862 [097] ..... 46138.517662:
> > nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> > fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> > verifier=5199cdae2816c899
> > kworker/u1037:5-2593935 [226] ..... 46138.517669: nfs4_pnfs_write:
> > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248
> > count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> > kworker/u1037:5-2593935 [226] ..... 46138.517672:
> > nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> > fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stable=UNSTABLE
> > verifier=5199cdae2816c899
> > foo-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=55143 newsize=57344
> > foo-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=57344 newsize=60156
> >
> > ...and just after writeback completes, we see the file size grow from
> > 55143 to the end of the page (57344).
> >
> > The second trace has similar symptoms. There is a lot more (smaller)
> > write activity (due to memory pressure?). There is a gap of 3791
> > bytes
> > between these on-the-wire writes, however:
> >
> > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=221184 count=4401 stable=UNSTABLE
> > kworker/u1030:1-2297876 [042] ..... 479572.074194:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=229376 count=261898 stable=UNSTABLE
> >
> > Same situation -- the at page at offset 53248 has 305 bytes on it,
> > and
> > the remaining is zeroed. This trace shows similar racing write() and
> > writeback activity as in Friday's trace. At around the same time as
> > the
> > client was growing the file over the affected range, writeback was
> > kicking off for everything up to the affected range (this has some
> > other wb related calls filtered for brevity):
> >
> > foo-localfs-86-727850 [215] ..... 479572.053987: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=217088
> > newsize=220572
> >
> > kworker/u1036:8-2339326 [088] ..... 479572.054008:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=217088 count=3484
> > stable=UNSTABLE
> >
> > foo-localfs-86-727850 [215] ..... 479572.054405: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=220572
> > newsize=221184
> >
> > kworker/u1036:1-2297875 [217] ..... 479572.054418:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=220572 count=612
> > stable=UNSTABLE
> >
> > foo-localfs-86-727850 [215] ..... 479572.054581: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=221184
> > newsize=225280
> >
> > foo-localfs-86-727850 [215] ..... 479572.054584: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=225280
> > newsize=225585
> >
> > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=221184 count=4401
> > stable=UNSTABLE
> >
> > foo-localfs-86-727850 [215] ..... 479572.054997: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=225585
> > newsize=229376
> >
> > foo-localfs-86-727850 [215] ..... 479572.055190: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=229376
> > newsize=230598
> >
> >
> > Could this be a race between extending an existing dirty page, and
> > writeback kicking off for the pre-extension range on the page? Maybe
> > the client is clearing the dirty bit, thinking that the write covers
> > the dirty range, but it has an outdated idea about what that range is
> > or doesn't properly check?
> >
> > Traces for both events, filtered on the relevant fileid are attached.
> > I've rolled patches for some new tracepoints that I'm going to
> > attempt
> > to turn up next, but I thought that this was a good point to solicit
> > ideas.
> >
> > Happy to entertain other thoughts or patches!
>
> So... The fact that we are seeing a nfs_size_grow() for the hole at
> offset 55143 means that either an existing request was updated, or a
> new one was created in order to cover that hole, and it must have been
> marked as dirty.
>
> I'm not seeing anything in the NFS code that can lose that request
> without triggering either the nfs_write_error tracepoint, the
> nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
> else completing the write.
>
> The only other way I can see this data being lost is if something is
> corrupting folio->private, or if the page cache is somehow managing to
> throw away a dirty folio.
> Of the two, there was for a while a netfs bug which would corrupt
> folio->private, but I assume you're not using cachefs?
We reproduced this again, this time with some extra tracepoints that I
added. I'll post patches for those soon. I may need to add more.
Here's the writeup of it I did this morning. Some names changed to
protect the paranoid. Let me know if anyone has ideas:
In this case, the corruption happened fairly early. There is a 2262
byte hole between 10026 and 12288:
kworker/u1025:9-3435794 [000] ..... 42066.127742: nfs_initiate_write: fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 count=10026 stable=UNSTABLE
foo-localfs-161-1326370 [135] ..... 42066.169637: nfs_initiate_write: fileid=00:82:10087279963 fhandle=0x483d45e0 offset=12288 count=489012 stable=FILE_SYNC
The reproducer is a python script doing 5013 byte write() calls
exclusively. There is another layer between that and NFS though. It's
implemented as a FUSE fs that passes reads and writes through to NFS.
This layer alters the I/O pattern in an interesting way:
The first write from userland is 5013 bytes. (Side q: Does foofs use
io_uring to do these writes?):
foo-localfs-161-1326370 [135] ..... 42066.127165: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=0 count=5013 ki_flags=
...but then it writes everything up to the end of the second page in
the next write() call:
foo-localfs-161-1326370 [135] ..... 42066.127486: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=5013 count=3179 ki_flags=
...then it writes the rest of that 5013 byte write:
foo-localfs-161-1326370 [135] ..... 42066.127717: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=8192 count=1834 ki_flags=
...so now we have 2 complete lines. The next write from userland is to
the end of the page:
foo-localfs-161-1326370 [135] ..... 42066.127954: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=10026 count=2262 ki_flags=
...and the pattern continues...
foo-localfs-161-1326370 [135] ..... 42066.129411: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=12288 count=2751 ki_flags=
foo-localfs-161-1326370 [135] ..... 42066.129749: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=15039 count=1345 ki_flags=
foo-localfs-161-1326370 [135] ..... 42066.130020: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=16384 count=3668 ki_flags=
This weird I/O pattern may help explain why it reproduces easier with
this layer in the mix. This gives the NFS client ample opportunity to
have to extend existing pages. I plan to change my attempted reproducer
to mimic this pattern.
The new tracepoints give us a slightly clearer picture of the race (I
filtered out all but one of the DS filehandles for simplicity).
Here's the end of the write from 8192-10026. At this point the file
size is 10026 (everything is normal at this point, AFAICT):
foo-localfs-161-1326370 [135] ..... 42066.127720: nfs_size_grow: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 cursize=8192 newsize=10026
Writeback for everything in the cache so far is kicked off:
kworker/u1025:9-3435794 [000] ..... 42066.127742: nfs_initiate_write: fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 count=10026 stable=UNSTABLE
A write comes in from foofs for 2262 bytes, and it calls into
write_begin. I suspect at this point nfs_write_begin is blocked on the
page lock:
foo-localfs-161-1326370 [135] ..... 42066.127954: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=10026 count=2262 ki_flags=
foo-localfs-161-1326370 [135] ..... 42066.127954: nfs_write_begin: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=10026 count=2262
Writeback to the DS's proceeds:
kworker/u1035:0-3302696 [209] ..... 42066.128388: nfs4_pnfs_write: error=0 (OK) fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 count=10026 res=10026 stateid=1:0x428af712 layoutstateid=1:0x47c699b3
kworker/u1035:0-3302696 [209] ..... 42066.128396: nfs_writeback_done: error=10026 fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 count=10026 res=10026 stable=UNSTABLE verifier=a376459679d60091
Eventually, foofs gets the page lock, and write_end is called. It
updates the folio via nfs_try_to_update_request():
foo-localfs-161-1326370 [135] ..... 42066.128429: nfs_write_end: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=10026 count=2262
foo-localfs-161-1326370 [135] ..... 42066.128429: nfs_update_folio: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=1834 count=2262
foo-localfs-161-1326370 [135] ..... 42066.128429: nfs_try_to_update_request: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=1834 count=2262
...COMMITs go out for the data just written (side q: there was only a
single WRITE call on the wire before this. Why didn't it just do a SYNC
write instead?):
kworker/u1028:3-3432139 [031] ..... 42066.128431: nfs_initiate_commit: fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 count=0
kworker/u1035:0-3302696 [209] ..... 42066.129158: nfs_commit_done: error=0 fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 stable=FILE_SYNC verifier=a376459679d60091
...the file size in the inode is grown:
foo-localfs-161-1326370 [135] ..... 42066.129179: nfs_size_grow: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 cursize=10026 newsize=12288
...and then the next userland write happens:
foo-localfs-161-1326370 [135] ..... 42066.129411: nfs_file_write: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=12288 count=2751 ki_flags=
...and eventually the next on-the-wire write occurs due to an fsync, which skips the partial page:
foo-localfs-161-1326370 [135] ..... 42066.169262: nfs_size_grow: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 cursize=499712 newsize=501300
foo-localfs-161-1326370 [135] ..... 42066.169517: nfs_fsync_enter: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 cache_validity=0x4700 (INVALID_CHANGE|INVALID_CTIME|INVALID_MTIME|INVALID_BLOCKS)
foo-localfs-161-1326370 [135] ..... 42066.169637: nfs_initiate_write: fileid=00:82:10087279963 fhandle=0x483d45e0 offset=12288 count=489012 stable=FILE_SYNC
It's still not 100% clear why part of the page didn't get written back.
I have a couple of theories at this point:
1/ the dirty bit is somehow either not being set properly in the first
place for the 2262 byte write, or is getting cleared inappropriately
during the WRITE that includes the first part of the page.
2/ The file size doesn't grow until quite late in the process. Perhaps
we could be clamping the writeback range to the old file size and
tossing out the rest of the page?
I think #1 is most probable.
My thinking at this point is that since we know the userland writes are
contiguous in this case, I can make nfs_writepages look for holes in
the data to be written back, and dump info about the page / nfs_page
with the hole.
Happy to entertain other ideas too.
Cheers,
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-07-31 21:56 ` Trond Myklebust
2025-07-31 23:04 ` Jeff Layton
2025-08-06 14:20 ` Jeff Layton
@ 2025-08-12 11:58 ` Jeff Layton
2025-08-12 16:58 ` Trond Myklebust
2 siblings, 1 reply; 20+ messages in thread
From: Jeff Layton @ 2025-08-12 11:58 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Thu, 2025-07-31 at 17:56 -0400, Trond Myklebust wrote:
> On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> > We've been seeing a rather nasty bit of data corruption with NFS in
> > our
> > environment. The clients in this env run a patched v6.9 kernel
> > (mostly
> > due to GPU driver requirements). Most of the patches are NFS
> > containerization fixes.
> >
> > The workload is python scripts writing JSONL files sequentially using
> > bog-standard buffered write() calls. We're fairly certain that
> > userland
> > is not seeking so there should be no gaps in the data written.
> >
> > The problem is that we see ranges of written files being replaced by
> > NULs. The length of the file seemingly doesn't change from what it
> > should be, but a chunk of it will be zeroed-out. Looking at the
> > offsets
> > of the zeroed out ranges, the front part of one page is fine, but the
> > data from some random offset in the page to the end of the page is
> > zeroes.
> >
> > We have a reproducer but we have to run it in a heavily parallel
> > configuration to make it happen, so it's evidently a tight race of
> > some
> > sort.
> >
> > We've turned up some tracepoints and reproduced this twice. What we
> > see
> > in both cases is that the client just doesn't write some section of
> > the
> > file.
> >
> > In the first trace, there was is a gap of 2201 bytes between these
> > two
> > writes on the wire:
> >
> > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=53248 count=1895 stable=UNSTABLE
> > oil-localfs-252-2605046 [163] ..... 46138.551459:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=57344 count=443956 stable=FILE_SYNC
> >
> > The zeroed-out range is from 55143-57344. At the same time that the
> > file is growing from 53248 to 55143 (due to sequential write()
> > activity), the client is kicking off writeback for the range up to
> > 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-55143
> > (note that I've filtered out all but one of the DS filehandles for
> > brevity):
> >
> > oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=49152 newsize=50130
> > oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=50130 newsize=53248
> > kworker/u1038:1-2597138 [106] ..... 46138.516740:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=0 count=53248 stable=UNSTABLE
> > oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=53248 newsize=55143
> > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > offset=53248 count=1895 stable=UNSTABLE
> > kworker/u1037:2-2871862 [097] ..... 46138.517659: nfs4_pnfs_write:
> > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> > count=53248 res=53248 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> > kworker/u1037:2-2871862 [097] ..... 46138.517662:
> > nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> > fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> > verifier=5199cdae2816c899
> > kworker/u1037:5-2593935 [226] ..... 46138.517669: nfs4_pnfs_write:
> > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=53248
> > count=1895 res=1895 stateid=1:0x79a9c471 layoutstateid=1:0xcbd8aaad
> > kworker/u1037:5-2593935 [226] ..... 46138.517672:
> > nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> > fhandle=0x6bd94d55 offset=53248 count=1895 res=1895 stable=UNSTABLE
> > verifier=5199cdae2816c899
> > oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=55143 newsize=57344
> > oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > version=1753485366409158129 cursize=57344 newsize=60156
> >
> > ...and just after writeback completes, we see the file size grow from
> > 55143 to the end of the page (57344).
> >
> > The second trace has similar symptoms. There is a lot more (smaller)
> > write activity (due to memory pressure?). There is a gap of 3791
> > bytes
> > between these on-the-wire writes, however:
> >
> > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=221184 count=4401 stable=UNSTABLE
> > kworker/u1030:1-2297876 [042] ..... 479572.074194:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=229376 count=261898 stable=UNSTABLE
> >
> > Same situation -- the at page at offset 53248 has 305 bytes on it,
> > and
> > the remaining is zeroed. This trace shows similar racing write() and
> > writeback activity as in Friday's trace. At around the same time as
> > the
> > client was growing the file over the affected range, writeback was
> > kicking off for everything up to the affected range (this has some
> > other wb related calls filtered for brevity):
> >
> > oil-localfs-86-727850 [215] ..... 479572.053987: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=217088
> > newsize=220572
> >
> > kworker/u1036:8-2339326 [088] ..... 479572.054008:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=217088 count=3484
> > stable=UNSTABLE
> >
> > oil-localfs-86-727850 [215] ..... 479572.054405: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=220572
> > newsize=221184
> >
> > kworker/u1036:1-2297875 [217] ..... 479572.054418:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=220572 count=612
> > stable=UNSTABLE
> >
> > oil-localfs-86-727850 [215] ..... 479572.054581: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=221184
> > newsize=225280
> >
> > oil-localfs-86-727850 [215] ..... 479572.054584: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=225280
> > newsize=225585
> >
> > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > offset=221184 count=4401
> > stable=UNSTABLE
> >
> > oil-localfs-86-727850 [215] ..... 479572.054997: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=225585
> > newsize=229376
> >
> > oil-localfs-86-727850 [215] ..... 479572.055190: nfs_size_grow:
> > fileid=00:96:10067193438 fhandle=0x14c40498
> > version=1753823598774309300 cursize=229376
> > newsize=230598
> >
> >
> > Could this be a race between extending an existing dirty page, and
> > writeback kicking off for the pre-extension range on the page? Maybe
> > the client is clearing the dirty bit, thinking that the write covers
> > the dirty range, but it has an outdated idea about what that range is
> > or doesn't properly check?
> >
> > Traces for both events, filtered on the relevant fileid are attached.
> > I've rolled patches for some new tracepoints that I'm going to
> > attempt
> > to turn up next, but I thought that this was a good point to solicit
> > ideas.
> >
> > Happy to entertain other thoughts or patches!
>
> So... The fact that we are seeing a nfs_size_grow() for the hole at
> offset 55143 means that either an existing request was updated, or a
> new one was created in order to cover that hole, and it must have been
> marked as dirty.
>
> I'm not seeing anything in the NFS code that can lose that request
> without triggering either the nfs_write_error tracepoint, the
> nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
> else completing the write.
>
> The only other way I can see this data being lost is if something is
> corrupting folio->private, or if the page cache is somehow managing to
> throw away a dirty folio.
> Of the two, there was for a while a netfs bug which would corrupt
> folio->private, but I assume you're not using cachefs?
After staring at this code a lot, I have a theory. But, it seems like
we'd be seeing this a lot more if it were correct, so I must be
overlooking something.
Here's the scenario:
--------------8<--------------
Userland has written some of a file and the last folio is not full.
Writeback has kicked off for the inode and is successful.
nfs_write_completion() calls nfs_page_end_writeback(). That will unlock
the nfs_page (clear PG_BUSY) and leave it attached to the folio, and on
the commit list.
Next a write from userland comes in to extend the file to the end of
the page (and beyond). nfs_try_to_update_request() merges the write
into the original request and re-marks the page dirty.
Later the commit runs successfully and the write verifier matches.
nfs_commit_release_pages() runs and nfs_inode_remove_request() is
called which detaches the nfs_page from the folio.
Eventually, writeback starts up again and the folio is picked up and
submitted by nfs_writepages(), but folio->private is now NULL, and it's
ignored.
But...like I said I feel like we'd hit this all the time if it were
possible, even though I don't see what prevents it. If this is a
possibility, then the patch may be as simple as something like this?
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index bb0e78644ffb..72402208fa33 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1867,7 +1867,7 @@ static void nfs_commit_release_pages(struct
nfs_commit_data *data)
* returned by the server against all stored verfs. */
if (nfs_write_match_verf(verf, req)) {
/* We have a match */
- if (folio)
+ if (folio && !folio_test_dirty(folio))
nfs_inode_remove_request(req);
dprintk_cont(" OK\n");
goto next;
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-12 11:58 ` Jeff Layton
@ 2025-08-12 16:58 ` Trond Myklebust
2025-08-12 17:20 ` Jeff Layton
2025-08-16 13:01 ` Jeff Layton
0 siblings, 2 replies; 20+ messages in thread
From: Trond Myklebust @ 2025-08-12 16:58 UTC (permalink / raw)
To: Jeff Layton, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Tue, 2025-08-12 at 07:58 -0400, Jeff Layton wrote:
> On Thu, 2025-07-31 at 17:56 -0400, Trond Myklebust wrote:
> > On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> > > We've been seeing a rather nasty bit of data corruption with NFS
> > > in
> > > our
> > > environment. The clients in this env run a patched v6.9 kernel
> > > (mostly
> > > due to GPU driver requirements). Most of the patches are NFS
> > > containerization fixes.
> > >
> > > The workload is python scripts writing JSONL files sequentially
> > > using
> > > bog-standard buffered write() calls. We're fairly certain that
> > > userland
> > > is not seeking so there should be no gaps in the data written.
> > >
> > > The problem is that we see ranges of written files being replaced
> > > by
> > > NULs. The length of the file seemingly doesn't change from what
> > > it
> > > should be, but a chunk of it will be zeroed-out. Looking at the
> > > offsets
> > > of the zeroed out ranges, the front part of one page is fine, but
> > > the
> > > data from some random offset in the page to the end of the page
> > > is
> > > zeroes.
> > >
> > > We have a reproducer but we have to run it in a heavily parallel
> > > configuration to make it happen, so it's evidently a tight race
> > > of
> > > some
> > > sort.
> > >
> > > We've turned up some tracepoints and reproduced this twice. What
> > > we
> > > see
> > > in both cases is that the client just doesn't write some section
> > > of
> > > the
> > > file.
> > >
> > > In the first trace, there was is a gap of 2201 bytes between
> > > these
> > > two
> > > writes on the wire:
> > >
> > > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > offset=53248 count=1895 stable=UNSTABLE
> > > oil-localfs-252-2605046 [163] ..... 46138.551459:
> > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > offset=57344 count=443956 stable=FILE_SYNC
> > >
> > > The zeroed-out range is from 55143-57344. At the same time that
> > > the
> > > file is growing from 53248 to 55143 (due to sequential write()
> > > activity), the client is kicking off writeback for the range up
> > > to
> > > 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-
> > > 55143
> > > (note that I've filtered out all but one of the DS filehandles
> > > for
> > > brevity):
> > >
> > > oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > version=1753485366409158129 cursize=49152 newsize=50130
> > > oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > version=1753485366409158129 cursize=50130 newsize=53248
> > > kworker/u1038:1-2597138 [106] ..... 46138.516740:
> > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > offset=0 count=53248 stable=UNSTABLE
> > > oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > version=1753485366409158129 cursize=53248 newsize=55143
> > > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > offset=53248 count=1895 stable=UNSTABLE
> > > kworker/u1037:2-2871862 [097] ..... 46138.517659:
> > > nfs4_pnfs_write:
> > > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> > > count=53248 res=53248 stateid=1:0x79a9c471
> > > layoutstateid=1:0xcbd8aaad
> > > kworker/u1037:2-2871862 [097] ..... 46138.517662:
> > > nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> > > fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> > > verifier=5199cdae2816c899
> > > kworker/u1037:5-2593935 [226] ..... 46138.517669:
> > > nfs4_pnfs_write:
> > > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > offset=53248
> > > count=1895 res=1895 stateid=1:0x79a9c471
> > > layoutstateid=1:0xcbd8aaad
> > > kworker/u1037:5-2593935 [226] ..... 46138.517672:
> > > nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> > > fhandle=0x6bd94d55 offset=53248 count=1895 res=1895
> > > stable=UNSTABLE
> > > verifier=5199cdae2816c899
> > > oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > version=1753485366409158129 cursize=55143 newsize=57344
> > > oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > version=1753485366409158129 cursize=57344 newsize=60156
> > >
> > > ...and just after writeback completes, we see the file size grow
> > > from
> > > 55143 to the end of the page (57344).
> > >
> > > The second trace has similar symptoms. There is a lot more
> > > (smaller)
> > > write activity (due to memory pressure?). There is a gap of 3791
> > > bytes
> > > between these on-the-wire writes, however:
> > >
> > > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > offset=221184 count=4401 stable=UNSTABLE
> > > kworker/u1030:1-2297876 [042] ..... 479572.074194:
> > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > offset=229376 count=261898 stable=UNSTABLE
> > >
> > > Same situation -- the at page at offset 53248 has 305 bytes on
> > > it,
> > > and
> > > the remaining is zeroed. This trace shows similar racing write()
> > > and
> > > writeback activity as in Friday's trace. At around the same time
> > > as
> > > the
> > > client was growing the file over the affected range, writeback
> > > was
> > > kicking off for everything up to the affected range (this has
> > > some
> > > other wb related calls filtered for brevity):
> > >
> > > oil-localfs-86-727850 [215] ..... 479572.053987:
> > > nfs_size_grow:
> > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > version=1753823598774309300 cursize=217088
> > > newsize=220572
> > >
> > >
> > > kworker/u1036:8-2339326 [088] ..... 479572.054008:
> > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > offset=217088 count=3484
> > > stable=UNSTABLE
> > >
> > >
> > > oil-localfs-86-727850 [215] ..... 479572.054405:
> > > nfs_size_grow:
> > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > version=1753823598774309300 cursize=220572
> > > newsize=221184
> > >
> > >
> > > kworker/u1036:1-2297875 [217] ..... 479572.054418:
> > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > offset=220572 count=612
> > > stable=UNSTABLE
> > >
> > >
> > > oil-localfs-86-727850 [215] ..... 479572.054581:
> > > nfs_size_grow:
> > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > version=1753823598774309300 cursize=221184
> > > newsize=225280
> > >
> > >
> > > oil-localfs-86-727850 [215] ..... 479572.054584:
> > > nfs_size_grow:
> > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > version=1753823598774309300 cursize=225280
> > > newsize=225585
> > >
> > >
> > > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > offset=221184 count=4401
> > > stable=UNSTABLE
> > >
> > >
> > > oil-localfs-86-727850 [215] ..... 479572.054997:
> > > nfs_size_grow:
> > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > version=1753823598774309300 cursize=225585
> > > newsize=229376
> > >
> > >
> > > oil-localfs-86-727850 [215] ..... 479572.055190:
> > > nfs_size_grow:
> > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > version=1753823598774309300 cursize=229376
> > > newsize=230598
> > >
> > >
> > >
> > > Could this be a race between extending an existing dirty page,
> > > and
> > > writeback kicking off for the pre-extension range on the page?
> > > Maybe
> > > the client is clearing the dirty bit, thinking that the write
> > > covers
> > > the dirty range, but it has an outdated idea about what that
> > > range is
> > > or doesn't properly check?
> > >
> > > Traces for both events, filtered on the relevant fileid are
> > > attached.
> > > I've rolled patches for some new tracepoints that I'm going to
> > > attempt
> > > to turn up next, but I thought that this was a good point to
> > > solicit
> > > ideas.
> > >
> > > Happy to entertain other thoughts or patches!
> >
> > So... The fact that we are seeing a nfs_size_grow() for the hole at
> > offset 55143 means that either an existing request was updated, or
> > a
> > new one was created in order to cover that hole, and it must have
> > been
> > marked as dirty.
> >
> > I'm not seeing anything in the NFS code that can lose that request
> > without triggering either the nfs_write_error tracepoint, the
> > nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
> > else completing the write.
> >
> > The only other way I can see this data being lost is if something
> > is
> > corrupting folio->private, or if the page cache is somehow managing
> > to
> > throw away a dirty folio.
> > Of the two, there was for a while a netfs bug which would corrupt
> > folio->private, but I assume you're not using cachefs?
>
> After staring at this code a lot, I have a theory. But, it seems like
> we'd be seeing this a lot more if it were correct, so I must be
> overlooking something.
>
> Here's the scenario:
>
> --------------8<--------------
>
> Userland has written some of a file and the last folio is not full.
>
> Writeback has kicked off for the inode and is successful.
> nfs_write_completion() calls nfs_page_end_writeback(). That will
> unlock
> the nfs_page (clear PG_BUSY) and leave it attached to the folio, and
> on
> the commit list.
>
> Next a write from userland comes in to extend the file to the end of
> the page (and beyond). nfs_try_to_update_request() merges the write
> into the original request and re-marks the page dirty.
>
> Later the commit runs successfully and the write verifier matches.
> nfs_commit_release_pages() runs and nfs_inode_remove_request() is
> called which detaches the nfs_page from the folio.
>
> Eventually, writeback starts up again and the folio is picked up and
> submitted by nfs_writepages(), but folio->private is now NULL, and
> it's
> ignored.
>
> But...like I said I feel like we'd hit this all the time if it were
> possible, even though I don't see what prevents it. If this is a
> possibility, then the patch may be as simple as something like this?
>
> diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> index bb0e78644ffb..72402208fa33 100644
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@ -1867,7 +1867,7 @@ static void nfs_commit_release_pages(struct
> nfs_commit_data *data)
> * returned by the server against all stored verfs.
> */
> if (nfs_write_match_verf(verf, req)) {
> /* We have a match */
> - if (folio)
> + if (folio && !folio_test_dirty(folio))
> nfs_inode_remove_request(req);
> dprintk_cont(" OK\n");
> goto next;
The call to nfs_clear_request_commit() in nfs_join_page_group() should
be taking care of removing the page before a COMMIT is sent.
During both the writeback and the commit, the nfs_page is locked, so
won't be available to be updated by nfs_try_to_update_request().
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trondmy@kernel.org, trond.myklebust@hammerspace.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-12 16:58 ` Trond Myklebust
@ 2025-08-12 17:20 ` Jeff Layton
2025-08-16 13:01 ` Jeff Layton
1 sibling, 0 replies; 20+ messages in thread
From: Jeff Layton @ 2025-08-12 17:20 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Tue, 2025-08-12 at 09:58 -0700, Trond Myklebust wrote:
> On Tue, 2025-08-12 at 07:58 -0400, Jeff Layton wrote:
> > On Thu, 2025-07-31 at 17:56 -0400, Trond Myklebust wrote:
> > > On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> > > > We've been seeing a rather nasty bit of data corruption with NFS
> > > > in
> > > > our
> > > > environment. The clients in this env run a patched v6.9 kernel
> > > > (mostly
> > > > due to GPU driver requirements). Most of the patches are NFS
> > > > containerization fixes.
> > > >
> > > > The workload is python scripts writing JSONL files sequentially
> > > > using
> > > > bog-standard buffered write() calls. We're fairly certain that
> > > > userland
> > > > is not seeking so there should be no gaps in the data written.
> > > >
> > > > The problem is that we see ranges of written files being replaced
> > > > by
> > > > NULs. The length of the file seemingly doesn't change from what
> > > > it
> > > > should be, but a chunk of it will be zeroed-out. Looking at the
> > > > offsets
> > > > of the zeroed out ranges, the front part of one page is fine, but
> > > > the
> > > > data from some random offset in the page to the end of the page
> > > > is
> > > > zeroes.
> > > >
> > > > We have a reproducer but we have to run it in a heavily parallel
> > > > configuration to make it happen, so it's evidently a tight race
> > > > of
> > > > some
> > > > sort.
> > > >
> > > > We've turned up some tracepoints and reproduced this twice. What
> > > > we
> > > > see
> > > > in both cases is that the client just doesn't write some section
> > > > of
> > > > the
> > > > file.
> > > >
> > > > In the first trace, there was is a gap of 2201 bytes between
> > > > these
> > > > two
> > > > writes on the wire:
> > > >
> > > > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=53248 count=1895 stable=UNSTABLE
> > > > oil-localfs-252-2605046 [163] ..... 46138.551459:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=57344 count=443956 stable=FILE_SYNC
> > > >
> > > > The zeroed-out range is from 55143-57344. At the same time that
> > > > the
> > > > file is growing from 53248 to 55143 (due to sequential write()
> > > > activity), the client is kicking off writeback for the range up
> > > > to
> > > > 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-
> > > > 55143
> > > > (note that I've filtered out all but one of the DS filehandles
> > > > for
> > > > brevity):
> > > >
> > > > oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=49152 newsize=50130
> > > > oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=50130 newsize=53248
> > > > kworker/u1038:1-2597138 [106] ..... 46138.516740:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=0 count=53248 stable=UNSTABLE
> > > > oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=53248 newsize=55143
> > > > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=53248 count=1895 stable=UNSTABLE
> > > > kworker/u1037:2-2871862 [097] ..... 46138.517659:
> > > > nfs4_pnfs_write:
> > > > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> > > > count=53248 res=53248 stateid=1:0x79a9c471
> > > > layoutstateid=1:0xcbd8aaad
> > > > kworker/u1037:2-2871862 [097] ..... 46138.517662:
> > > > nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> > > > fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> > > > verifier=5199cdae2816c899
> > > > kworker/u1037:5-2593935 [226] ..... 46138.517669:
> > > > nfs4_pnfs_write:
> > > > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=53248
> > > > count=1895 res=1895 stateid=1:0x79a9c471
> > > > layoutstateid=1:0xcbd8aaad
> > > > kworker/u1037:5-2593935 [226] ..... 46138.517672:
> > > > nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> > > > fhandle=0x6bd94d55 offset=53248 count=1895 res=1895
> > > > stable=UNSTABLE
> > > > verifier=5199cdae2816c899
> > > > oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=55143 newsize=57344
> > > > oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=57344 newsize=60156
> > > >
> > > > ...and just after writeback completes, we see the file size grow
> > > > from
> > > > 55143 to the end of the page (57344).
> > > >
> > > > The second trace has similar symptoms. There is a lot more
> > > > (smaller)
> > > > write activity (due to memory pressure?). There is a gap of 3791
> > > > bytes
> > > > between these on-the-wire writes, however:
> > > >
> > > > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=221184 count=4401 stable=UNSTABLE
> > > > kworker/u1030:1-2297876 [042] ..... 479572.074194:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=229376 count=261898 stable=UNSTABLE
> > > >
> > > > Same situation -- the at page at offset 53248 has 305 bytes on
> > > > it,
> > > > and
> > > > the remaining is zeroed. This trace shows similar racing write()
> > > > and
> > > > writeback activity as in Friday's trace. At around the same time
> > > > as
> > > > the
> > > > client was growing the file over the affected range, writeback
> > > > was
> > > > kicking off for everything up to the affected range (this has
> > > > some
> > > > other wb related calls filtered for brevity):
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.053987:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=217088
> > > > newsize=220572
> > > >
> > > >
> > > > kworker/u1036:8-2339326 [088] ..... 479572.054008:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=217088 count=3484
> > > > stable=UNSTABLE
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054405:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=220572
> > > > newsize=221184
> > > >
> > > >
> > > > kworker/u1036:1-2297875 [217] ..... 479572.054418:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=220572 count=612
> > > > stable=UNSTABLE
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054581:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=221184
> > > > newsize=225280
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054584:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=225280
> > > > newsize=225585
> > > >
> > > >
> > > > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=221184 count=4401
> > > > stable=UNSTABLE
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054997:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=225585
> > > > newsize=229376
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.055190:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=229376
> > > > newsize=230598
> > > >
> > > >
> > > >
> > > > Could this be a race between extending an existing dirty page,
> > > > and
> > > > writeback kicking off for the pre-extension range on the page?
> > > > Maybe
> > > > the client is clearing the dirty bit, thinking that the write
> > > > covers
> > > > the dirty range, but it has an outdated idea about what that
> > > > range is
> > > > or doesn't properly check?
> > > >
> > > > Traces for both events, filtered on the relevant fileid are
> > > > attached.
> > > > I've rolled patches for some new tracepoints that I'm going to
> > > > attempt
> > > > to turn up next, but I thought that this was a good point to
> > > > solicit
> > > > ideas.
> > > >
> > > > Happy to entertain other thoughts or patches!
> > >
> > > So... The fact that we are seeing a nfs_size_grow() for the hole at
> > > offset 55143 means that either an existing request was updated, or
> > > a
> > > new one was created in order to cover that hole, and it must have
> > > been
> > > marked as dirty.
> > >
> > > I'm not seeing anything in the NFS code that can lose that request
> > > without triggering either the nfs_write_error tracepoint, the
> > > nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
> > > else completing the write.
> > >
> > > The only other way I can see this data being lost is if something
> > > is
> > > corrupting folio->private, or if the page cache is somehow managing
> > > to
> > > throw away a dirty folio.
> > > Of the two, there was for a while a netfs bug which would corrupt
> > > folio->private, but I assume you're not using cachefs?
> >
> > After staring at this code a lot, I have a theory. But, it seems like
> > we'd be seeing this a lot more if it were correct, so I must be
> > overlooking something.
> >
> > Here's the scenario:
> >
> > --------------8<--------------
> >
> > Userland has written some of a file and the last folio is not full.
> >
> > Writeback has kicked off for the inode and is successful.
> > nfs_write_completion() calls nfs_page_end_writeback(). That will
> > unlock
> > the nfs_page (clear PG_BUSY) and leave it attached to the folio, and
> > on
> > the commit list.
> >
> > Next a write from userland comes in to extend the file to the end of
> > the page (and beyond). nfs_try_to_update_request() merges the write
> > into the original request and re-marks the page dirty.
> >
> > Later the commit runs successfully and the write verifier matches.
> > nfs_commit_release_pages() runs and nfs_inode_remove_request() is
> > called which detaches the nfs_page from the folio.
> >
> > Eventually, writeback starts up again and the folio is picked up and
> > submitted by nfs_writepages(), but folio->private is now NULL, and
> > it's
> > ignored.
> >
> > But...like I said I feel like we'd hit this all the time if it were
> > possible, even though I don't see what prevents it. If this is a
> > possibility, then the patch may be as simple as something like this?
> >
> > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > index bb0e78644ffb..72402208fa33 100644
> > --- a/fs/nfs/write.c
> > +++ b/fs/nfs/write.c
> > @@ -1867,7 +1867,7 @@ static void nfs_commit_release_pages(struct
> > nfs_commit_data *data)
> > * returned by the server against all stored verfs.
> > */
> > if (nfs_write_match_verf(verf, req)) {
> > /* We have a match */
> > - if (folio)
> > + if (folio && !folio_test_dirty(folio))
> > nfs_inode_remove_request(req);
> > dprintk_cont(" OK\n");
> > goto next;
>
> The call to nfs_clear_request_commit() in nfs_join_page_group() should
> be taking care of removing the page before a COMMIT is sent.
>
Got it, thanks. Yeah, that should prevent the commit callback from
touching the page.
> During both the writeback and the commit, the nfs_page is locked, so
> won't be available to be updated by nfs_try_to_update_request().
Yes. I was thinking of the window between the two, but I think you're
right that nfs_clear_request_commit() should prevent the commit from
touching the page after it gets merged in.
Still, the timing of the trace messages suggests that there is race of
some sort:
oil-localfs-161-1326370 [135] ..... 42066.128429: nfs_write_end: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=10026 count=2262
oil-localfs-161-1326370 [135] ..... 42066.128429: nfs_update_folio: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=1834 count=2262
oil-localfs-161-1326370 [135] ..... 42066.128429: nfs_try_to_update_request: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 offset=1834 count=2262
Here it ends up blocked in nfs_lock_request() while the commit runs.
kworker/u1028:3-3432139 [031] ..... 42066.128431: nfs_initiate_commit: fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 count=0
kworker/u1028:3-3432139 [031] ..... 42066.128435: nfs_initiate_commit: fileid=00:82:10087279963 fhandle=0x7619eec9 offset=0 count=0
kworker/u1028:3-3432139 [031] ..... 42066.128437: nfs_initiate_commit: fileid=00:82:10087279963 fhandle=0xd0cc79e6 offset=0 count=0
kworker/u1037:1-3477598 [226] ..... 42066.129140: nfs_commit_done: error=0 fileid=00:82:10087279963 fhandle=0x7619eec9 offset=0 stable=FILE_SYNC verifier=615487ab86b79ab3
kworker/u1035:0-3302696 [209] ..... 42066.129158: nfs_commit_done: error=0 fileid=00:82:10087279963 fhandle=0x483d45e0 offset=0 stable=FILE_SYNC verifier=a376459679d60091
kworker/u1028:3-3432139 [031] ..... 42066.129163: nfs_commit_done: error=0 fileid=00:82:10087279963 fhandle=0xd0cc79e6 offset=0 stable=FILE_SYNC verifier=ff1ddeecd9737f82
kworker drops the lock, nfs_try_to_update_request() runs to completion and eventually the nfs_size_grow() runs.
oil-localfs-161-1326370 [135] ..... 42066.129179: nfs_size_grow: fileid=00:82:10087279963 fhandle=0xa6491ad0 version=1754454982197296994 cursize=10026 newsize=12288
FWIW, I have a bpftrace script that I'm hoping might give us a bit more
info about why the page didn't get written back when this happens. Just
waiting for some time to run it in our test env.
I'll keep looking!
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-12 16:58 ` Trond Myklebust
2025-08-12 17:20 ` Jeff Layton
@ 2025-08-16 13:01 ` Jeff Layton
2025-08-16 14:51 ` Trond Myklebust
1 sibling, 1 reply; 20+ messages in thread
From: Jeff Layton @ 2025-08-16 13:01 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
[-- Attachment #1: Type: text/plain, Size: 16275 bytes --]
On Tue, 2025-08-12 at 09:58 -0700, Trond Myklebust wrote:
> On Tue, 2025-08-12 at 07:58 -0400, Jeff Layton wrote:
> > On Thu, 2025-07-31 at 17:56 -0400, Trond Myklebust wrote:
> > > On Wed, 2025-07-30 at 10:52 -0400, Jeff Layton wrote:
> > > > We've been seeing a rather nasty bit of data corruption with NFS
> > > > in
> > > > our
> > > > environment. The clients in this env run a patched v6.9 kernel
> > > > (mostly
> > > > due to GPU driver requirements). Most of the patches are NFS
> > > > containerization fixes.
> > > >
> > > > The workload is python scripts writing JSONL files sequentially
> > > > using
> > > > bog-standard buffered write() calls. We're fairly certain that
> > > > userland
> > > > is not seeking so there should be no gaps in the data written.
> > > >
> > > > The problem is that we see ranges of written files being replaced
> > > > by
> > > > NULs. The length of the file seemingly doesn't change from what
> > > > it
> > > > should be, but a chunk of it will be zeroed-out. Looking at the
> > > > offsets
> > > > of the zeroed out ranges, the front part of one page is fine, but
> > > > the
> > > > data from some random offset in the page to the end of the page
> > > > is
> > > > zeroes.
> > > >
> > > > We have a reproducer but we have to run it in a heavily parallel
> > > > configuration to make it happen, so it's evidently a tight race
> > > > of
> > > > some
> > > > sort.
> > > >
> > > > We've turned up some tracepoints and reproduced this twice. What
> > > > we
> > > > see
> > > > in both cases is that the client just doesn't write some section
> > > > of
> > > > the
> > > > file.
> > > >
> > > > In the first trace, there was is a gap of 2201 bytes between
> > > > these
> > > > two
> > > > writes on the wire:
> > > >
> > > > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=53248 count=1895 stable=UNSTABLE
> > > > oil-localfs-252-2605046 [163] ..... 46138.551459:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=57344 count=443956 stable=FILE_SYNC
> > > >
> > > > The zeroed-out range is from 55143-57344. At the same time that
> > > > the
> > > > file is growing from 53248 to 55143 (due to sequential write()
> > > > activity), the client is kicking off writeback for the range up
> > > > to
> > > > 55143. It's issuing 2 writes, one for 0-53248 and one for 53248-
> > > > 55143
> > > > (note that I've filtered out all but one of the DS filehandles
> > > > for
> > > > brevity):
> > > >
> > > > oil-localfs-252-2605046 [162] ..... 46138.516414: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=49152 newsize=50130
> > > > oil-localfs-252-2605046 [162] ..... 46138.516593: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=50130 newsize=53248
> > > > kworker/u1038:1-2597138 [106] ..... 46138.516740:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=0 count=53248 stable=UNSTABLE
> > > > oil-localfs-252-2605046 [162] ..... 46138.516753: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=53248 newsize=55143
> > > > kworker/u1038:1-2597138 [106] ..... 46138.516795:
> > > > nfs_initiate_write: fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=53248 count=1895 stable=UNSTABLE
> > > > kworker/u1037:2-2871862 [097] ..... 46138.517659:
> > > > nfs4_pnfs_write:
> > > > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55 offset=0
> > > > count=53248 res=53248 stateid=1:0x79a9c471
> > > > layoutstateid=1:0xcbd8aaad
> > > > kworker/u1037:2-2871862 [097] ..... 46138.517662:
> > > > nfs_writeback_done: error=53248 fileid=00:aa:10056165185
> > > > fhandle=0x6bd94d55 offset=0 count=53248 res=53248 stable=UNSTABLE
> > > > verifier=5199cdae2816c899
> > > > kworker/u1037:5-2593935 [226] ..... 46138.517669:
> > > > nfs4_pnfs_write:
> > > > error=0 (OK) fileid=00:aa:10056165185 fhandle=0x6bd94d55
> > > > offset=53248
> > > > count=1895 res=1895 stateid=1:0x79a9c471
> > > > layoutstateid=1:0xcbd8aaad
> > > > kworker/u1037:5-2593935 [226] ..... 46138.517672:
> > > > nfs_writeback_done: error=1895 fileid=00:aa:10056165185
> > > > fhandle=0x6bd94d55 offset=53248 count=1895 res=1895
> > > > stable=UNSTABLE
> > > > verifier=5199cdae2816c899
> > > > oil-localfs-252-2605046 [162] ..... 46138.518360: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=55143 newsize=57344
> > > > oil-localfs-252-2605046 [162] ..... 46138.518556: nfs_size_grow:
> > > > fileid=00:aa:10056165185 fhandle=0x8bfc64c9
> > > > version=1753485366409158129 cursize=57344 newsize=60156
> > > >
> > > > ...and just after writeback completes, we see the file size grow
> > > > from
> > > > 55143 to the end of the page (57344).
> > > >
> > > > The second trace has similar symptoms. There is a lot more
> > > > (smaller)
> > > > write activity (due to memory pressure?). There is a gap of 3791
> > > > bytes
> > > > between these on-the-wire writes, however:
> > > >
> > > > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=221184 count=4401 stable=UNSTABLE
> > > > kworker/u1030:1-2297876 [042] ..... 479572.074194:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=229376 count=261898 stable=UNSTABLE
> > > >
> > > > Same situation -- the at page at offset 53248 has 305 bytes on
> > > > it,
> > > > and
> > > > the remaining is zeroed. This trace shows similar racing write()
> > > > and
> > > > writeback activity as in Friday's trace. At around the same time
> > > > as
> > > > the
> > > > client was growing the file over the affected range, writeback
> > > > was
> > > > kicking off for everything up to the affected range (this has
> > > > some
> > > > other wb related calls filtered for brevity):
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.053987:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=217088
> > > > newsize=220572
> > > >
> > > >
> > > > kworker/u1036:8-2339326 [088] ..... 479572.054008:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=217088 count=3484
> > > > stable=UNSTABLE
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054405:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=220572
> > > > newsize=221184
> > > >
> > > >
> > > > kworker/u1036:1-2297875 [217] ..... 479572.054418:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=220572 count=612
> > > > stable=UNSTABLE
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054581:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=221184
> > > > newsize=225280
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054584:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=225280
> > > > newsize=225585
> > > >
> > > >
> > > > kworker/u1036:0-2339252 [217] ..... 479572.054622:
> > > > nfs_initiate_write: fileid=00:96:10067193438 fhandle=0xc9992232
> > > > offset=221184 count=4401
> > > > stable=UNSTABLE
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.054997:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=225585
> > > > newsize=229376
> > > >
> > > >
> > > > oil-localfs-86-727850 [215] ..... 479572.055190:
> > > > nfs_size_grow:
> > > > fileid=00:96:10067193438 fhandle=0x14c40498
> > > > version=1753823598774309300 cursize=229376
> > > > newsize=230598
> > > >
> > > >
> > > >
> > > > Could this be a race between extending an existing dirty page,
> > > > and
> > > > writeback kicking off for the pre-extension range on the page?
> > > > Maybe
> > > > the client is clearing the dirty bit, thinking that the write
> > > > covers
> > > > the dirty range, but it has an outdated idea about what that
> > > > range is
> > > > or doesn't properly check?
> > > >
> > > > Traces for both events, filtered on the relevant fileid are
> > > > attached.
> > > > I've rolled patches for some new tracepoints that I'm going to
> > > > attempt
> > > > to turn up next, but I thought that this was a good point to
> > > > solicit
> > > > ideas.
> > > >
> > > > Happy to entertain other thoughts or patches!
> > >
> > > So... The fact that we are seeing a nfs_size_grow() for the hole at
> > > offset 55143 means that either an existing request was updated, or
> > > a
> > > new one was created in order to cover that hole, and it must have
> > > been
> > > marked as dirty.
> > >
> > > I'm not seeing anything in the NFS code that can lose that request
> > > without triggering either the nfs_write_error tracepoint, the
> > > nfs_commit_error tracepoint, the nfs_invalidate_folio tracepoint or
> > > else completing the write.
> > >
> > > The only other way I can see this data being lost is if something
> > > is
> > > corrupting folio->private, or if the page cache is somehow managing
> > > to
> > > throw away a dirty folio.
> > > Of the two, there was for a while a netfs bug which would corrupt
> > > folio->private, but I assume you're not using cachefs?
> >
> > After staring at this code a lot, I have a theory. But, it seems like
> > we'd be seeing this a lot more if it were correct, so I must be
> > overlooking something.
> >
> > Here's the scenario:
> >
> > --------------8<--------------
> >
> > Userland has written some of a file and the last folio is not full.
> >
> > Writeback has kicked off for the inode and is successful.
> > nfs_write_completion() calls nfs_page_end_writeback(). That will
> > unlock
> > the nfs_page (clear PG_BUSY) and leave it attached to the folio, and
> > on
> > the commit list.
> >
> > Next a write from userland comes in to extend the file to the end of
> > the page (and beyond). nfs_try_to_update_request() merges the write
> > into the original request and re-marks the page dirty.
> >
> > Later the commit runs successfully and the write verifier matches.
> > nfs_commit_release_pages() runs and nfs_inode_remove_request() is
> > called which detaches the nfs_page from the folio.
> >
> > Eventually, writeback starts up again and the folio is picked up and
> > submitted by nfs_writepages(), but folio->private is now NULL, and
> > it's
> > ignored.
> >
> > But...like I said I feel like we'd hit this all the time if it were
> > possible, even though I don't see what prevents it. If this is a
> > possibility, then the patch may be as simple as something like this?
> >
> > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > index bb0e78644ffb..72402208fa33 100644
> > --- a/fs/nfs/write.c
> > +++ b/fs/nfs/write.c
> > @@ -1867,7 +1867,7 @@ static void nfs_commit_release_pages(struct
> > nfs_commit_data *data)
> > * returned by the server against all stored verfs.
> > */
> > if (nfs_write_match_verf(verf, req)) {
> > /* We have a match */
> > - if (folio)
> > + if (folio && !folio_test_dirty(folio))
> > nfs_inode_remove_request(req);
> > dprintk_cont(" OK\n");
> > goto next;
>
> The call to nfs_clear_request_commit() in nfs_join_page_group() should
> be taking care of removing the page before a COMMIT is sent.
>
> During both the writeback and the commit, the nfs_page is locked, so
> won't be available to be updated by nfs_try_to_update_request().
I finally caught something concrete today. I had the attached bpftrace
script running while running the reproducer on a dozen or so machines,
and it detected a hole in some data being written:
-------------8<---------------
Attached 2 probes
Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
Hole: ino=10122173116 idx=3 off=10026 size=2262
Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096 req=0 prevreq=0xffff8955b2f55980
-------------8<---------------
What this tells us is that the page at idx=2 got submitted to
nfs_do_writepage() (so it was marked dirty in the pagecache), but when
it got there, folio->private was NULL and it was ignored.
The kernel in this case is based on v6.9, so it's (just) pre-large-
folio support. It has a fair number of NFS patches, but not much to
this portion of the code. Most of them are are containerization fixes.
I'm looking askance at nfs_inode_remove_request(). It does this:
if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
struct folio *folio = nfs_page_to_folio(req->wb_head);
struct address_space *mapping = folio->mapping;
spin_lock(&mapping->i_private_lock);
if (likely(folio)) {
folio->private = NULL;
folio_clear_private(folio);
clear_bit(PG_MAPPED, &req->wb_head->wb_flags);
}
spin_unlock(&mapping->i_private_lock);
}
If nfs_page_group_sync_on_bit() returns true, then the nfs_page gets
detached from the folio. Meanwhile, if a new write request comes in
just after that, nfs_lock_and_join_requests() will call
nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
static int
nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
{
int ret;
if (!test_bit(PG_REMOVE, &req->wb_flags))
return 0;
ret = nfs_page_group_lock(req);
if (ret)
return ret;
if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
nfs_page_set_inode_ref(req, inode);
nfs_page_group_unlock(req);
return 0;
}
...but that does not reattach the nfs_page to the folio. Should it?
--
Jeff Layton <jlayton@kernel.org>
[-- Attachment #2: nfs_write_hole.bt --]
[-- Type: text/x-csrc, Size: 2262 bytes --]
#include <linux/nfs_fs.h>
#include <linux/nfs4.h>
#include <linux/nfs_page.h>
/*
* This does generate some false positives if writeback goes out of ascending order. That
* shouldn't happen much. Mostly we're interested in unaligned gaps.
*/
config = {
print_maps_on_exit = false;
max_map_keys = 16384;
}
fentry:nfs:nfs_do_writepage {
$folio = args.folio;
$ino = $folio->mapping->host->i_ino;
$idx = $folio->index;
$req = (struct nfs_page *)$folio->private;
if ($req == 0) {
printf("Missing nfs_page: ino=%llu idx=%llu flags=0x%lx\n", $ino, $idx, $folio->page.flags);
return;
}
$start = ($idx * 4096) + $req->wb_pgbase;
$end = $start + $req->wb_bytes;
$gapsize = $start - @lastend[$ino];
if (($idx == @lastidx[$ino] + 1) && ($gapsize % 4096)) {
printf("Hole: ino=%llu idx=%lu off=%llu size=%llu\n", $ino, $idx, @lastend[$ino], $gapsize);
$prevfolio = @lastfolio[$ino];
$prevflags = $prevfolio->page.flags;
$prevreq = @lastreq[$ino];
$pgbase = (uint32)0;
$bytes = (uint32)0;
if ($prevreq) {
$pgbase = $prevreq->wb_pgbase;
$bytes = $prevreq->wb_bytes;
}
printf("Prev folio: idx=%lu flags=0x%lx pgbase=%llu bytes=%llu req=%p prevreq=%p\n", @lastidx[$ino], $prevflags, $pgbase, $bytes, $prevfolio->private, $prevreq);
}
@lastidx[$ino] = $idx;
@lastfolio[$ino] = $folio;
@lastreq[$ino] = $req;
@lastend[$ino] = $end;
}
fentry:nfs:nfs_file_release {
$inode = args.inode;
$file = args.filp;
$ino = $inode->i_ino;
// FMODE_WRITE == 0x2
if (!($file->f_mode & 0x2)) {
return;
}
if (has_key(@lastidx, $ino)) {
delete(@lastidx, $ino);
}
if (has_key(@lastfolio, $ino)) {
delete(@lastfolio, $ino);
}
if (has_key(@lastreq, $ino)) {
delete(@lastreq, $ino);
}
if (has_key(@lastend, $ino)) {
delete(@lastend, $ino);
}
}
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-16 13:01 ` Jeff Layton
@ 2025-08-16 14:51 ` Trond Myklebust
2025-08-16 15:31 ` Jeff Layton
` (3 more replies)
0 siblings, 4 replies; 20+ messages in thread
From: Trond Myklebust @ 2025-08-16 14:51 UTC (permalink / raw)
To: Jeff Layton, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
>
> I finally caught something concrete today. I had the attached
> bpftrace
> script running while running the reproducer on a dozen or so
> machines,
> and it detected a hole in some data being written:
>
> -------------8<---------------
> Attached 2 probes
> Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> Hole: ino=10122173116 idx=3 off=10026 size=2262
> Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096 req=0
> prevreq=0xffff8955b2f55980
> -------------8<---------------
>
> What this tells us is that the page at idx=2 got submitted to
> nfs_do_writepage() (so it was marked dirty in the pagecache), but
> when
> it got there, folio->private was NULL and it was ignored.
>
> The kernel in this case is based on v6.9, so it's (just) pre-large-
> folio support. It has a fair number of NFS patches, but not much to
> this portion of the code. Most of them are are containerization
> fixes.
>
> I'm looking askance at nfs_inode_remove_request(). It does this:
>
> if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> struct folio *folio = nfs_page_to_folio(req-
> >wb_head);
> struct address_space *mapping = folio->mapping;
>
> spin_lock(&mapping->i_private_lock);
> if (likely(folio)) {
> folio->private = NULL;
> folio_clear_private(folio);
> clear_bit(PG_MAPPED, &req->wb_head-
> >wb_flags);
> }
> spin_unlock(&mapping->i_private_lock);
> }
>
> If nfs_page_group_sync_on_bit() returns true, then the nfs_page gets
> detached from the folio. Meanwhile, if a new write request comes in
> just after that, nfs_lock_and_join_requests() will call
> nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
>
> static int
> nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> {
> int ret;
>
> if (!test_bit(PG_REMOVE, &req->wb_flags))
> return 0;
> ret = nfs_page_group_lock(req);
> if (ret)
> return ret;
> if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> nfs_page_set_inode_ref(req, inode);
> nfs_page_group_unlock(req);
> return 0;
> }
>
> ...but that does not reattach the nfs_page to the folio. Should it?
>
That's not sufficient AFAICS. Does the following patch work?
8<------------------------------------------------------------
From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
From: Trond Myklebust <trond.myklebust@hammerspace.com>
Date: Sat, 16 Aug 2025 07:25:20 -0700
Subject: [PATCH] NFS: Fix a race when updating an existing write
After nfs_lock_and_join_requests() tests for whether the request is
still attached to the mapping, nothing prevents a call to
nfs_inode_remove_request() from succeeding until we actually lock the
page group.
The reason is that whoever called nfs_inode_remove_request() doesn't
necessarily have a lock on the page group head.
So in order to avoid races, let's take the page group lock earlier in
nfs_lock_and_join_requests(), and hold it across the removal of the
request in nfs_inode_remove_request().
Reported-by: Jeff Layton <jlayton@kernel.org>
Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
---
fs/nfs/pagelist.c | 9 +++++----
fs/nfs/write.c | 29 ++++++++++-------------------
include/linux/nfs_page.h | 1 +
3 files changed, 16 insertions(+), 23 deletions(-)
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
index 11968dcb7243..6e69ce43a13f 100644
--- a/fs/nfs/pagelist.c
+++ b/fs/nfs/pagelist.c
@@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
nfs_page_clear_headlock(req);
}
-/*
- * nfs_page_group_sync_on_bit_locked
+/**
+ * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
+ * @req: request in page group
+ * @bit: PG_* bit that is used to sync page group
*
* must be called with page group lock held
*/
-static bool
-nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
+bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
{
struct nfs_page *head = req->wb_head;
struct nfs_page *tmp;
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index fa5c41d0989a..8b7c04737967 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
}
}
-static int
-nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
+static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
{
- int ret;
-
- if (!test_bit(PG_REMOVE, &req->wb_flags))
- return 0;
- ret = nfs_page_group_lock(req);
- if (ret)
- return ret;
if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
nfs_page_set_inode_ref(req, inode);
- nfs_page_group_unlock(req);
- return 0;
}
/**
@@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
}
}
+ ret = nfs_page_group_lock(head);
+ if (ret < 0)
+ goto out_unlock;
+
/* Ensure that nobody removed the request before we locked it */
if (head != folio->private) {
+ nfs_page_group_unlock(head);
nfs_unlock_and_release_request(head);
goto retry;
}
- ret = nfs_cancel_remove_inode(head, inode);
- if (ret < 0)
- goto out_unlock;
-
- ret = nfs_page_group_lock(head);
- if (ret < 0)
- goto out_unlock;
+ nfs_cancel_remove_inode(head, inode);
/* lock each request in the page group */
for (subreq = head->wb_this_page;
@@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
{
struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
- if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
+ nfs_page_group_lock(req);
+ if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
struct folio *folio = nfs_page_to_folio(req->wb_head);
struct address_space *mapping = folio->mapping;
@@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
}
spin_unlock(&mapping->i_private_lock);
}
+ nfs_page_group_unlock(req);
if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
atomic_long_dec(&nfsi->nrequests);
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
index 169b4ae30ff4..9aed39abc94b 100644
--- a/include/linux/nfs_page.h
+++ b/include/linux/nfs_page.h
@@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
extern int nfs_page_group_lock(struct nfs_page *);
extern void nfs_page_group_unlock(struct nfs_page *);
extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
+extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
extern int nfs_page_set_headlock(struct nfs_page *req);
extern void nfs_page_clear_headlock(struct nfs_page *req);
extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
--
2.50.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-16 14:51 ` Trond Myklebust
@ 2025-08-16 15:31 ` Jeff Layton
2025-08-16 17:16 ` Jeff Layton
` (2 subsequent siblings)
3 siblings, 0 replies; 20+ messages in thread
From: Jeff Layton @ 2025-08-16 15:31 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Sat, 2025-08-16 at 07:51 -0700, Trond Myklebust wrote:
> On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> >
> > I finally caught something concrete today. I had the attached
> > bpftrace
> > script running while running the reproducer on a dozen or so
> > machines,
> > and it detected a hole in some data being written:
> >
> > -------------8<---------------
> > Attached 2 probes
> > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096 req=0
> > prevreq=0xffff8955b2f55980
> > -------------8<---------------
> >
> > What this tells us is that the page at idx=2 got submitted to
> > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > when
> > it got there, folio->private was NULL and it was ignored.
> >
> > The kernel in this case is based on v6.9, so it's (just) pre-large-
> > folio support. It has a fair number of NFS patches, but not much to
> > this portion of the code. Most of them are are containerization
> > fixes.
> >
> > I'm looking askance at nfs_inode_remove_request(). It does this:
> >
> > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > struct folio *folio = nfs_page_to_folio(req-
> > > wb_head);
> > struct address_space *mapping = folio->mapping;
> >
> > spin_lock(&mapping->i_private_lock);
> > if (likely(folio)) {
> > folio->private = NULL;
> > folio_clear_private(folio);
> > clear_bit(PG_MAPPED, &req->wb_head-
> > > wb_flags);
> > }
> > spin_unlock(&mapping->i_private_lock);
> > }
> >
> > If nfs_page_group_sync_on_bit() returns true, then the nfs_page gets
> > detached from the folio. Meanwhile, if a new write request comes in
> > just after that, nfs_lock_and_join_requests() will call
> > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> >
> > static int
> > nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > {
> > int ret;
> >
> > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > return 0;
> > ret = nfs_page_group_lock(req);
> > if (ret)
> > return ret;
> > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > nfs_page_set_inode_ref(req, inode);
> > nfs_page_group_unlock(req);
> > return 0;
> > }
> >
> > ...but that does not reattach the nfs_page to the folio. Should it?
> >
>
> That's not sufficient AFAICS. Does the following patch work?
>
The patch looks good to me and it seems like it should close the race.
I'll have to look at backporting it to v6.9, and we'll have to build
images, etc. Hopefully we will have some results in a week or so. I'll
keep you posted!
Thanks,
> 8<------------------------------------------------------------
> From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> Date: Sat, 16 Aug 2025 07:25:20 -0700
> Subject: [PATCH] NFS: Fix a race when updating an existing write
>
> After nfs_lock_and_join_requests() tests for whether the request is
> still attached to the mapping, nothing prevents a call to
> nfs_inode_remove_request() from succeeding until we actually lock the
> page group.
> The reason is that whoever called nfs_inode_remove_request() doesn't
> necessarily have a lock on the page group head.
>
> So in order to avoid races, let's take the page group lock earlier in
> nfs_lock_and_join_requests(), and hold it across the removal of the
> request in nfs_inode_remove_request().
>
> Reported-by: Jeff Layton <jlayton@kernel.org>
> Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> ---
> fs/nfs/pagelist.c | 9 +++++----
> fs/nfs/write.c | 29 ++++++++++-------------------
> include/linux/nfs_page.h | 1 +
> 3 files changed, 16 insertions(+), 23 deletions(-)
>
> diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> index 11968dcb7243..6e69ce43a13f 100644
> --- a/fs/nfs/pagelist.c
> +++ b/fs/nfs/pagelist.c
> @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> nfs_page_clear_headlock(req);
> }
>
> -/*
> - * nfs_page_group_sync_on_bit_locked
> +/**
> + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> + * @req: request in page group
> + * @bit: PG_* bit that is used to sync page group
> *
> * must be called with page group lock held
> */
> -static bool
> -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> {
> struct nfs_page *head = req->wb_head;
> struct nfs_page *tmp;
> diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> index fa5c41d0989a..8b7c04737967 100644
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> }
> }
>
> -static int
> -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> {
> - int ret;
> -
> - if (!test_bit(PG_REMOVE, &req->wb_flags))
> - return 0;
> - ret = nfs_page_group_lock(req);
> - if (ret)
> - return ret;
> if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> nfs_page_set_inode_ref(req, inode);
> - nfs_page_group_unlock(req);
> - return 0;
> }
>
> /**
> @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> }
> }
>
> + ret = nfs_page_group_lock(head);
> + if (ret < 0)
> + goto out_unlock;
> +
> /* Ensure that nobody removed the request before we locked it */
> if (head != folio->private) {
> + nfs_page_group_unlock(head);
> nfs_unlock_and_release_request(head);
> goto retry;
> }
>
> - ret = nfs_cancel_remove_inode(head, inode);
> - if (ret < 0)
> - goto out_unlock;
> -
> - ret = nfs_page_group_lock(head);
> - if (ret < 0)
> - goto out_unlock;
> + nfs_cancel_remove_inode(head, inode);
>
> /* lock each request in the page group */
> for (subreq = head->wb_this_page;
> @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> {
> struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
>
> - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> + nfs_page_group_lock(req);
> + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> struct folio *folio = nfs_page_to_folio(req->wb_head);
> struct address_space *mapping = folio->mapping;
>
> @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> }
> spin_unlock(&mapping->i_private_lock);
> }
> + nfs_page_group_unlock(req);
>
> if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> atomic_long_dec(&nfsi->nrequests);
> diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> index 169b4ae30ff4..9aed39abc94b 100644
> --- a/include/linux/nfs_page.h
> +++ b/include/linux/nfs_page.h
> @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> extern int nfs_page_group_lock(struct nfs_page *);
> extern void nfs_page_group_unlock(struct nfs_page *);
> extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> extern int nfs_page_set_headlock(struct nfs_page *req);
> extern void nfs_page_clear_headlock(struct nfs_page *req);
> extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-16 14:51 ` Trond Myklebust
2025-08-16 15:31 ` Jeff Layton
@ 2025-08-16 17:16 ` Jeff Layton
2025-08-16 21:25 ` Mike Snitzer
2025-08-19 17:10 ` parts of pages on NFS being replaced by swaths of NULs Jeff Layton
3 siblings, 0 replies; 20+ messages in thread
From: Jeff Layton @ 2025-08-16 17:16 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker; +Cc: Chuck Lever, linux-nfs
On Sat, 2025-08-16 at 07:51 -0700, Trond Myklebust wrote:
> On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> >
> > I finally caught something concrete today. I had the attached
> > bpftrace
> > script running while running the reproducer on a dozen or so
> > machines,
> > and it detected a hole in some data being written:
> >
> > -------------8<---------------
> > Attached 2 probes
> > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096 req=0
> > prevreq=0xffff8955b2f55980
> > -------------8<---------------
> >
> > What this tells us is that the page at idx=2 got submitted to
> > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > when
> > it got there, folio->private was NULL and it was ignored.
> >
> > The kernel in this case is based on v6.9, so it's (just) pre-large-
> > folio support. It has a fair number of NFS patches, but not much to
> > this portion of the code. Most of them are are containerization
> > fixes.
> >
> > I'm looking askance at nfs_inode_remove_request(). It does this:
> >
> > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > struct folio *folio = nfs_page_to_folio(req-
> > > wb_head);
> > struct address_space *mapping = folio->mapping;
> >
> > spin_lock(&mapping->i_private_lock);
> > if (likely(folio)) {
> > folio->private = NULL;
> > folio_clear_private(folio);
> > clear_bit(PG_MAPPED, &req->wb_head-
> > > wb_flags);
> > }
> > spin_unlock(&mapping->i_private_lock);
> > }
> >
> > If nfs_page_group_sync_on_bit() returns true, then the nfs_page gets
> > detached from the folio. Meanwhile, if a new write request comes in
> > just after that, nfs_lock_and_join_requests() will call
> > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> >
> > static int
> > nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > {
> > int ret;
> >
> > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > return 0;
> > ret = nfs_page_group_lock(req);
> > if (ret)
> > return ret;
> > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > nfs_page_set_inode_ref(req, inode);
> > nfs_page_group_unlock(req);
> > return 0;
> > }
> >
> > ...but that does not reattach the nfs_page to the folio. Should it?
> >
>
> That's not sufficient AFAICS. Does the following patch work?
>
> 8<------------------------------------------------------------
> From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> Date: Sat, 16 Aug 2025 07:25:20 -0700
> Subject: [PATCH] NFS: Fix a race when updating an existing write
>
> After nfs_lock_and_join_requests() tests for whether the request is
> still attached to the mapping, nothing prevents a call to
> nfs_inode_remove_request() from succeeding until we actually lock the
> page group.
> The reason is that whoever called nfs_inode_remove_request() doesn't
> necessarily have a lock on the page group head.
>
> So in order to avoid races, let's take the page group lock earlier in
> nfs_lock_and_join_requests(), and hold it across the removal of the
> request in nfs_inode_remove_request().
>
> Reported-by: Jeff Layton <jlayton@kernel.org>
> Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
One comment here: The above patch went into v6.11. The kernel we've
been reproducing this on doesn't have it, so I don't think that's the
correct Fixes tag.
Also, I got a second occurrence with the bpftrace script. Looks like
the same problem (just for confirmation):
Missing nfs_page: ino=10123250003 idx=23 flags=0x5ffff0000000009
Hole: ino=10123250003 idx=24 off=95247 size=3057
Prev folio: idx=23 flags=0x5ffff0000000008 pgbase=0 bytes=1956 req=0 prevreq=0xffff8882ab9b6a00
> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> ---
> fs/nfs/pagelist.c | 9 +++++----
> fs/nfs/write.c | 29 ++++++++++-------------------
> include/linux/nfs_page.h | 1 +
> 3 files changed, 16 insertions(+), 23 deletions(-)
>
> diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> index 11968dcb7243..6e69ce43a13f 100644
> --- a/fs/nfs/pagelist.c
> +++ b/fs/nfs/pagelist.c
> @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> nfs_page_clear_headlock(req);
> }
>
> -/*
> - * nfs_page_group_sync_on_bit_locked
> +/**
> + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> + * @req: request in page group
> + * @bit: PG_* bit that is used to sync page group
> *
> * must be called with page group lock held
> */
> -static bool
> -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> {
> struct nfs_page *head = req->wb_head;
> struct nfs_page *tmp;
> diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> index fa5c41d0989a..8b7c04737967 100644
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> }
> }
>
> -static int
> -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> {
> - int ret;
> -
> - if (!test_bit(PG_REMOVE, &req->wb_flags))
> - return 0;
> - ret = nfs_page_group_lock(req);
> - if (ret)
> - return ret;
> if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> nfs_page_set_inode_ref(req, inode);
> - nfs_page_group_unlock(req);
> - return 0;
> }
>
> /**
> @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> }
> }
>
> + ret = nfs_page_group_lock(head);
> + if (ret < 0)
> + goto out_unlock;
> +
> /* Ensure that nobody removed the request before we locked it */
> if (head != folio->private) {
> + nfs_page_group_unlock(head);
> nfs_unlock_and_release_request(head);
> goto retry;
> }
>
> - ret = nfs_cancel_remove_inode(head, inode);
> - if (ret < 0)
> - goto out_unlock;
> -
> - ret = nfs_page_group_lock(head);
> - if (ret < 0)
> - goto out_unlock;
> + nfs_cancel_remove_inode(head, inode);
>
> /* lock each request in the page group */
> for (subreq = head->wb_this_page;
> @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> {
> struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
>
> - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> + nfs_page_group_lock(req);
> + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> struct folio *folio = nfs_page_to_folio(req->wb_head);
> struct address_space *mapping = folio->mapping;
>
> @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> }
> spin_unlock(&mapping->i_private_lock);
> }
> + nfs_page_group_unlock(req);
>
> if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> atomic_long_dec(&nfsi->nrequests);
> diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> index 169b4ae30ff4..9aed39abc94b 100644
> --- a/include/linux/nfs_page.h
> +++ b/include/linux/nfs_page.h
> @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> extern int nfs_page_group_lock(struct nfs_page *);
> extern void nfs_page_group_unlock(struct nfs_page *);
> extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> extern int nfs_page_set_headlock(struct nfs_page *req);
> extern void nfs_page_clear_headlock(struct nfs_page *req);
> extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-16 14:51 ` Trond Myklebust
2025-08-16 15:31 ` Jeff Layton
2025-08-16 17:16 ` Jeff Layton
@ 2025-08-16 21:25 ` Mike Snitzer
2025-08-19 18:38 ` Mike Snitzer
2025-08-19 17:10 ` parts of pages on NFS being replaced by swaths of NULs Jeff Layton
3 siblings, 1 reply; 20+ messages in thread
From: Mike Snitzer @ 2025-08-16 21:25 UTC (permalink / raw)
To: Trond Myklebust
Cc: Jeff Layton, Anna Schumaker, Chuck Lever, linux-nfs,
jonathan.flynn
[-- Attachment #1: Type: text/plain, Size: 8628 bytes --]
On Sat, Aug 16, 2025 at 07:51:17AM -0700, Trond Myklebust wrote:
> On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> >
> > I finally caught something concrete today. I had the attached
> > bpftrace
> > script running while running the reproducer on a dozen or so
> > machines,
> > and it detected a hole in some data being written:
> >
> > -------------8<---------------
> > Attached 2 probes
> > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096 req=0
> > prevreq=0xffff8955b2f55980
> > -------------8<---------------
> >
> > What this tells us is that the page at idx=2 got submitted to
> > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > when
> > it got there, folio->private was NULL and it was ignored.
> >
> > The kernel in this case is based on v6.9, so it's (just) pre-large-
> > folio support. It has a fair number of NFS patches, but not much to
> > this portion of the code. Most of them are are containerization
> > fixes.
> >
> > I'm looking askance at nfs_inode_remove_request(). It does this:
> >
> > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > struct folio *folio = nfs_page_to_folio(req-
> > >wb_head);
> > struct address_space *mapping = folio->mapping;
> >
> > spin_lock(&mapping->i_private_lock);
> > if (likely(folio)) {
> > folio->private = NULL;
> > folio_clear_private(folio);
> > clear_bit(PG_MAPPED, &req->wb_head-
> > >wb_flags);
> > }
> > spin_unlock(&mapping->i_private_lock);
> > }
> >
> > If nfs_page_group_sync_on_bit() returns true, then the nfs_page gets
> > detached from the folio. Meanwhile, if a new write request comes in
> > just after that, nfs_lock_and_join_requests() will call
> > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> >
> > static int
> > nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > {
> > int ret;
> >
> > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > return 0;
> > ret = nfs_page_group_lock(req);
> > if (ret)
> > return ret;
> > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > nfs_page_set_inode_ref(req, inode);
> > nfs_page_group_unlock(req);
> > return 0;
> > }
> >
> > ...but that does not reattach the nfs_page to the folio. Should it?
> >
>
> That's not sufficient AFAICS. Does the following patch work?
>
> 8<------------------------------------------------------------
> From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> Date: Sat, 16 Aug 2025 07:25:20 -0700
> Subject: [PATCH] NFS: Fix a race when updating an existing write
>
> After nfs_lock_and_join_requests() tests for whether the request is
> still attached to the mapping, nothing prevents a call to
> nfs_inode_remove_request() from succeeding until we actually lock the
> page group.
> The reason is that whoever called nfs_inode_remove_request() doesn't
> necessarily have a lock on the page group head.
>
> So in order to avoid races, let's take the page group lock earlier in
> nfs_lock_and_join_requests(), and hold it across the removal of the
> request in nfs_inode_remove_request().
>
> Reported-by: Jeff Layton <jlayton@kernel.org>
> Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> ---
> fs/nfs/pagelist.c | 9 +++++----
> fs/nfs/write.c | 29 ++++++++++-------------------
> include/linux/nfs_page.h | 1 +
> 3 files changed, 16 insertions(+), 23 deletions(-)
>
> diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> index 11968dcb7243..6e69ce43a13f 100644
> --- a/fs/nfs/pagelist.c
> +++ b/fs/nfs/pagelist.c
> @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> nfs_page_clear_headlock(req);
> }
>
> -/*
> - * nfs_page_group_sync_on_bit_locked
> +/**
> + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> + * @req: request in page group
> + * @bit: PG_* bit that is used to sync page group
> *
> * must be called with page group lock held
> */
> -static bool
> -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> {
> struct nfs_page *head = req->wb_head;
> struct nfs_page *tmp;
> diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> index fa5c41d0989a..8b7c04737967 100644
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> }
> }
>
> -static int
> -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> {
> - int ret;
> -
> - if (!test_bit(PG_REMOVE, &req->wb_flags))
> - return 0;
> - ret = nfs_page_group_lock(req);
> - if (ret)
> - return ret;
> if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> nfs_page_set_inode_ref(req, inode);
> - nfs_page_group_unlock(req);
> - return 0;
> }
>
> /**
> @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> }
> }
>
> + ret = nfs_page_group_lock(head);
> + if (ret < 0)
> + goto out_unlock;
> +
> /* Ensure that nobody removed the request before we locked it */
> if (head != folio->private) {
> + nfs_page_group_unlock(head);
> nfs_unlock_and_release_request(head);
> goto retry;
> }
>
> - ret = nfs_cancel_remove_inode(head, inode);
> - if (ret < 0)
> - goto out_unlock;
> -
> - ret = nfs_page_group_lock(head);
> - if (ret < 0)
> - goto out_unlock;
> + nfs_cancel_remove_inode(head, inode);
>
> /* lock each request in the page group */
> for (subreq = head->wb_this_page;
> @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> {
> struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
>
> - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> + nfs_page_group_lock(req);
> + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> struct folio *folio = nfs_page_to_folio(req->wb_head);
> struct address_space *mapping = folio->mapping;
>
> @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> }
> spin_unlock(&mapping->i_private_lock);
> }
> + nfs_page_group_unlock(req);
>
> if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> atomic_long_dec(&nfsi->nrequests);
> diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> index 169b4ae30ff4..9aed39abc94b 100644
> --- a/include/linux/nfs_page.h
> +++ b/include/linux/nfs_page.h
> @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> extern int nfs_page_group_lock(struct nfs_page *);
> extern void nfs_page_group_unlock(struct nfs_page *);
> extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> extern int nfs_page_set_headlock(struct nfs_page *req);
> extern void nfs_page_clear_headlock(struct nfs_page *req);
> extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
> --
> 2.50.1
>
>
Trond,
You're the best! ;)
Your patch fixes corruption I've been chasing for the past week
relative to NFS DIRECT, specifically with:
echo Y > /sys/module/nfs/parameters/localio_O_DIRECT_align_misaligned_IO
So you need my latest NFS DIRECT patchset:
https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
With it, writes would be corrupted when using the attached reproducer
(from Jon Flynn, with the assistance of ChatGPT) that pulls out the
subset of MLperf unet3d test (when ran in buffered IO mode, so
entirely misaligned relative to DIO-alignment requirements) that we've
seen npz CRC compare failure with.
I tested my patchset with your patch applied and it all "just works".
Ship it all!
Thanks,
Mike
ps. running the attached reproducer is as simple as:
./mlperf_npz_tool.py --npz-path /mnt/share1/sample_a.npz
[-- Attachment #2: mlperf_npz_tool.py --]
[-- Type: text/plain, Size: 7770 bytes --]
#!/usr/bin/env python3
import argparse, math, os, struct, zlib
from pathlib import Path
import numpy as np
import zipfile
# -----------------------
# Defaults (from your YAML)
# -----------------------
DEFAULT_MEAN_BYTES = 146_600_628
DEFAULT_STDEV_BYTES = 68_341_808
DEFAULT_RESIZE = 2_097_152 # 2 MiB
DEFAULT_SAMPLES = 1
DEFAULT_DTYPE = "uint8"
DEFAULT_SEED = 10
# -----------------------
# Helpers
# -----------------------
DTYPE_SIZES = {
"uint8": 1, "int8": 1,
"uint16": 2, "int16": 2,
"uint32": 4, "int32": 4,
"float32": 4, "float64": 8,
}
def choose_target_bytes(mean_b, stdev_b, resize, randomize):
if randomize and stdev_b > 0:
draw = int(np.random.normal(loc=mean_b, scale=stdev_b))
draw = max(draw, 1)
else:
draw = int(mean_b)
# Round to nearest multiple of resize
return int(round(draw / resize) * resize)
def choose_hw_for_bytes(total_bytes, samples, dtype_size):
"""
Choose H, W making H*W*samples*dtype_size == total_bytes.
We factor total elements and spread powers of two across H and W
to avoid super-skinny arrays.
"""
total_elems = total_bytes // (dtype_size * samples)
if total_elems == 0:
raise ValueError("Total elements computed as 0; check inputs.")
n = total_elems
# Factor out powers of two
exp2 = (n & -n).bit_length() - 1
odd = n >> exp2
h = 1 << (exp2 // 2)
w = (1 << (exp2 - exp2 // 2)) * odd
return int(h), int(w)
def save_npz(out_path: Path, *, mean_bytes, stdev_bytes, resize_bytes,
samples, dtype_name, seed, compress, randomize):
dtype = getattr(np, dtype_name)
dtype_size = DTYPE_SIZES[dtype_name]
np.random.seed(seed)
target_bytes = choose_target_bytes(mean_bytes, stdev_bytes, resize_bytes, randomize)
# Ensure divisibility:
elems_per_sample = target_bytes // dtype_size // samples
if elems_per_sample * dtype_size * samples != target_bytes:
raise ValueError("Target bytes not divisible by dtype_size*samples; adjust params.")
h, w = choose_hw_for_bytes(target_bytes, samples, dtype_size)
x = np.random.randint(255, size=(h, w, samples), dtype=dtype if dtype_name == "uint8" else np.uint8)
if dtype_name != "uint8":
x = x.astype(dtype, copy=False)
y = np.zeros((samples,), dtype=np.uint8) # matches DLIO NPZ generator convention
out_path.parent.mkdir(parents=True, exist_ok=True)
if compress:
np.savez_compressed(out_path, x=x, y=y)
else:
np.savez(out_path, x=x, y=y)
print(f"✅ Wrote {out_path}")
try:
sz = out_path.stat().st_size
print(f" size={sz} bytes, x.shape={x.shape}, dtype={x.dtype}, samples={samples}")
except FileNotFoundError:
pass
def list_and_crc(npz_path: Path, deep=False):
print(f"📂 File: {npz_path}")
with zipfile.ZipFile(npz_path, "r") as zf:
names = zf.namelist()
print(f"📦 Files in archive: {names}\n")
for name in names:
info = zf.getinfo(name)
print(f"--- {name} ---")
print(f"Stored CRC32 : 0x{info.CRC:08x}")
print(f"Compressed Size : {info.compress_size}")
print(f"Uncompressed Size : {info.file_size}")
try:
with zf.open(info) as f:
_ = f.read() # will raise if CRC mismatch
print("✅ CRC verified by zipfile.\n")
except zipfile.BadZipFile as e:
print(f"⚠️ CRC error via zipfile: {e}")
if deep:
ok = deep_crc_check(npz_path, info)
print("🔎 Deep check :", "✅ OK\n" if ok else "❌ Mismatch\n")
else:
print("ℹ️ Re-run with --deep-check to diagnose.\n")
except Exception as e:
print(f"❌ Unexpected error: {e}\n")
def deep_crc_check(npz_path: Path, info: zipfile.ZipInfo) -> bool:
"""
Manual CRC of the *uncompressed* payload.
Parse the local file header to find the compressed bytes, then
decompress and compute CRC32 of the uncompressed stream.
"""
with npz_path.open("rb") as fh:
fh.seek(info.header_offset)
local = fh.read(30) # fixed part of local header
# local file header sig 'PK\x03\x04'
if local[:4] != b'PK\x03\x04':
return False
# filename length, extra length
name_len, extra_len = struct.unpack("<HH", local[26:30])
fh.seek(info.header_offset + 30 + name_len + extra_len)
comp = fh.read(info.compress_size)
# Decompress if needed
if info.compress_type == zipfile.ZIP_STORED:
data = comp
elif info.compress_type == zipfile.ZIP_DEFLATED:
# ZIP uses raw DEFLATE stream (no zlib header): wbits = -15
try:
data = zlib.decompress(comp, -15)
except zlib.error:
# Some writers include zlib headers; try normal
data = zlib.decompress(comp)
else:
# Other methods not handled here
return False
crc = zlib.crc32(data) & 0xFFFFFFFF
print(f"Computed CRC32 : 0x{crc:08x}")
return crc == info.CRC
# -----------------------
# CLI
# -----------------------
def parse_args():
p = argparse.ArgumentParser(description="MLPerf-style NPZ save & check tool")
mode = p.add_mutually_exclusive_group()
mode.add_argument("--save-only", action="store_true", help="Only save the NPZ")
mode.add_argument("--check-only", action="store_true", help="Only verify/show the NPZ")
p.add_argument("--npz-path", type=Path, help="Full output/check path to NPZ (overrides --out-dir/--name)")
p.add_argument("--out-dir", type=Path, default=Path("/mnt/hs_test"), help="Directory for output NPZ")
p.add_argument("--name", default="sample_000000.npz", help="Filename for output NPZ")
p.add_argument("--compress", action="store_true", help="Use compressed NPZ (deflate)")
# Size/dtype controls
p.add_argument("--mean-bytes", type=int, default=DEFAULT_MEAN_BYTES, help="record_length_bytes")
p.add_argument("--stdev-bytes", type=int, default=DEFAULT_STDEV_BYTES, help="record_length_bytes_stdev")
p.add_argument("--resize-bytes", type=int, default=DEFAULT_RESIZE, help="record_length_bytes_resize multiple")
p.add_argument("--randomize", action="store_true", help="Draw size from N(mean,stdev) before rounding")
p.add_argument("--samples", type=int, default=DEFAULT_SAMPLES, help="num_samples_per_file")
p.add_argument("--dtype", choices=DTYPE_SIZES.keys(), default=DEFAULT_DTYPE, help="Data dtype for 'x'")
p.add_argument("--seed", type=int, default=DEFAULT_SEED, help="RNG seed for reproducibility")
# Check controls
p.add_argument("--deep-check", action="store_true", help="When checking, manually parse & CRC the member data")
return p.parse_args()
def main():
args = parse_args()
out_path = args.npz_path or (args.out_dir / args.name)
did_save = False
if not args.check_only:
save_npz(
out_path=out_path,
mean_bytes=args.mean_bytes,
stdev_bytes=args.stdev_bytes,
resize_bytes=args.resize_bytes,
samples=args.samples,
dtype_name=args.dtype,
seed=args.seed,
compress=args.compress,
randomize=args.randomize,
)
did_save = True
if not args.save_only:
if not out_path.exists():
raise SystemExit(f"File not found for check: {out_path}")
list_and_crc(out_path, deep=args.deep_check)
elif did_save:
# echo path for easy piping
print(out_path)
if __name__ == "__main__":
main()
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-16 14:51 ` Trond Myklebust
` (2 preceding siblings ...)
2025-08-16 21:25 ` Mike Snitzer
@ 2025-08-19 17:10 ` Jeff Layton
2025-08-19 18:28 ` Trond Myklebust
3 siblings, 1 reply; 20+ messages in thread
From: Jeff Layton @ 2025-08-19 17:10 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker
Cc: Chuck Lever, linux-nfs, Joe Quanaim, Andrew Steffen
On Sat, 2025-08-16 at 07:51 -0700, Trond Myklebust wrote:
> On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> >
> > I finally caught something concrete today. I had the attached
> > bpftrace
> > script running while running the reproducer on a dozen or so
> > machines,
> > and it detected a hole in some data being written:
> >
> > -------------8<---------------
> > Attached 2 probes
> > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096 req=0
> > prevreq=0xffff8955b2f55980
> > -------------8<---------------
> >
> > What this tells us is that the page at idx=2 got submitted to
> > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > when
> > it got there, folio->private was NULL and it was ignored.
> >
> > The kernel in this case is based on v6.9, so it's (just) pre-large-
> > folio support. It has a fair number of NFS patches, but not much to
> > this portion of the code. Most of them are are containerization
> > fixes.
> >
> > I'm looking askance at nfs_inode_remove_request(). It does this:
> >
> > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > struct folio *folio = nfs_page_to_folio(req-
> > > wb_head);
> > struct address_space *mapping = folio->mapping;
> >
> > spin_lock(&mapping->i_private_lock);
> > if (likely(folio)) {
> > folio->private = NULL;
> > folio_clear_private(folio);
> > clear_bit(PG_MAPPED, &req->wb_head-
> > > wb_flags);
> > }
> > spin_unlock(&mapping->i_private_lock);
> > }
> >
> > If nfs_page_group_sync_on_bit() returns true, then the nfs_page gets
> > detached from the folio. Meanwhile, if a new write request comes in
> > just after that, nfs_lock_and_join_requests() will call
> > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> >
> > static int
> > nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > {
> > int ret;
> >
> > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > return 0;
> > ret = nfs_page_group_lock(req);
> > if (ret)
> > return ret;
> > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > nfs_page_set_inode_ref(req, inode);
> > nfs_page_group_unlock(req);
> > return 0;
> > }
> >
> > ...but that does not reattach the nfs_page to the folio. Should it?
> >
>
> That's not sufficient AFAICS. Does the following patch work?
>
> 8<------------------------------------------------------------
> From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> Date: Sat, 16 Aug 2025 07:25:20 -0700
> Subject: [PATCH] NFS: Fix a race when updating an existing write
>
> After nfs_lock_and_join_requests() tests for whether the request is
> still attached to the mapping, nothing prevents a call to
> nfs_inode_remove_request() from succeeding until we actually lock the
> page group.
> The reason is that whoever called nfs_inode_remove_request() doesn't
> necessarily have a lock on the page group head.
>
> So in order to avoid races, let's take the page group lock earlier in
> nfs_lock_and_join_requests(), and hold it across the removal of the
> request in nfs_inode_remove_request().
>
> Reported-by: Jeff Layton <jlayton@kernel.org>
> Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> ---
> fs/nfs/pagelist.c | 9 +++++----
> fs/nfs/write.c | 29 ++++++++++-------------------
> include/linux/nfs_page.h | 1 +
> 3 files changed, 16 insertions(+), 23 deletions(-)
>
> diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> index 11968dcb7243..6e69ce43a13f 100644
> --- a/fs/nfs/pagelist.c
> +++ b/fs/nfs/pagelist.c
> @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> nfs_page_clear_headlock(req);
> }
>
> -/*
> - * nfs_page_group_sync_on_bit_locked
> +/**
> + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> + * @req: request in page group
> + * @bit: PG_* bit that is used to sync page group
> *
> * must be called with page group lock held
> */
> -static bool
> -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> {
> struct nfs_page *head = req->wb_head;
> struct nfs_page *tmp;
> diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> index fa5c41d0989a..8b7c04737967 100644
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> }
> }
>
> -static int
> -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> {
> - int ret;
> -
> - if (!test_bit(PG_REMOVE, &req->wb_flags))
> - return 0;
> - ret = nfs_page_group_lock(req);
> - if (ret)
> - return ret;
> if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> nfs_page_set_inode_ref(req, inode);
> - nfs_page_group_unlock(req);
> - return 0;
> }
>
> /**
> @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> }
> }
>
> + ret = nfs_page_group_lock(head);
> + if (ret < 0)
> + goto out_unlock;
> +
> /* Ensure that nobody removed the request before we locked it */
> if (head != folio->private) {
> + nfs_page_group_unlock(head);
> nfs_unlock_and_release_request(head);
> goto retry;
> }
>
> - ret = nfs_cancel_remove_inode(head, inode);
> - if (ret < 0)
> - goto out_unlock;
> -
> - ret = nfs_page_group_lock(head);
> - if (ret < 0)
> - goto out_unlock;
> + nfs_cancel_remove_inode(head, inode);
>
> /* lock each request in the page group */
> for (subreq = head->wb_this_page;
> @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> {
> struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
>
> - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> + nfs_page_group_lock(req);
> + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> struct folio *folio = nfs_page_to_folio(req->wb_head);
> struct address_space *mapping = folio->mapping;
>
> @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> }
> spin_unlock(&mapping->i_private_lock);
> }
> + nfs_page_group_unlock(req);
>
> if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> atomic_long_dec(&nfsi->nrequests);
> diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> index 169b4ae30ff4..9aed39abc94b 100644
> --- a/include/linux/nfs_page.h
> +++ b/include/linux/nfs_page.h
> @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> extern int nfs_page_group_lock(struct nfs_page *);
> extern void nfs_page_group_unlock(struct nfs_page *);
> extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> extern int nfs_page_set_headlock(struct nfs_page *req);
> extern void nfs_page_clear_headlock(struct nfs_page *req);
> extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
I backported this patch to the kernel we've been using to reproduce
this and have had the test running for almost 24 hours now. The longest
it's taken to reproduce on this test rig is about 12 hours. So, the
initial signs are good.
The patch also looks good to me. This one took a while to track down,
and I needed a lot of help to set up the test rig. Can you add these?
Tested-by: Joe Quanaim <jdq@meta.com>
Tested-by: Andrew Steffen <aksteffen@meta.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Joe and Andrew spent a lot of time getting us a reproducer.
I assume we also want to send this to stable? I'm pretty sure the
Fixes: tag is wrong. The kernel we were using didn't have that patch. I
took a look at some earlier releases, and AFAICT, this bug has been
present for a long time -- at least since v6.0 and probably well
before.
Thanks!
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-19 17:10 ` parts of pages on NFS being replaced by swaths of NULs Jeff Layton
@ 2025-08-19 18:28 ` Trond Myklebust
2025-08-19 19:48 ` Jeff Layton
0 siblings, 1 reply; 20+ messages in thread
From: Trond Myklebust @ 2025-08-19 18:28 UTC (permalink / raw)
To: Jeff Layton, Anna Schumaker
Cc: Chuck Lever, linux-nfs, Joe Quanaim, Andrew Steffen
On Tue, 2025-08-19 at 13:10 -0400, Jeff Layton wrote:
> On Sat, 2025-08-16 at 07:51 -0700, Trond Myklebust wrote:
> > On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> > >
> > > I finally caught something concrete today. I had the attached
> > > bpftrace
> > > script running while running the reproducer on a dozen or so
> > > machines,
> > > and it detected a hole in some data being written:
> > >
> > > -------------8<---------------
> > > Attached 2 probes
> > > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096
> > > req=0
> > > prevreq=0xffff8955b2f55980
> > > -------------8<---------------
> > >
> > > What this tells us is that the page at idx=2 got submitted to
> > > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > > when
> > > it got there, folio->private was NULL and it was ignored.
> > >
> > > The kernel in this case is based on v6.9, so it's (just) pre-
> > > large-
> > > folio support. It has a fair number of NFS patches, but not much
> > > to
> > > this portion of the code. Most of them are are containerization
> > > fixes.
> > >
> > > I'm looking askance at nfs_inode_remove_request(). It does this:
> > >
> > > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > struct folio *folio = nfs_page_to_folio(req-
> > > > wb_head);
> > > struct address_space *mapping = folio->mapping;
> > >
> > > spin_lock(&mapping->i_private_lock);
> > > if (likely(folio)) {
> > > folio->private = NULL;
> > > folio_clear_private(folio);
> > > clear_bit(PG_MAPPED, &req->wb_head-
> > > > wb_flags);
> > > }
> > > spin_unlock(&mapping->i_private_lock);
> > > }
> > >
> > > If nfs_page_group_sync_on_bit() returns true, then the nfs_page
> > > gets
> > > detached from the folio. Meanwhile, if a new write request comes
> > > in
> > > just after that, nfs_lock_and_join_requests() will call
> > > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> > >
> > > static int
> > > nfs_cancel_remove_inode(struct nfs_page *req, struct inode
> > > *inode)
> > > {
> > > int ret;
> > >
> > > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > return 0;
> > > ret = nfs_page_group_lock(req);
> > > if (ret)
> > > return ret;
> > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > nfs_page_set_inode_ref(req, inode);
> > > nfs_page_group_unlock(req);
> > > return 0;
> > > }
> > >
> > > ...but that does not reattach the nfs_page to the folio. Should
> > > it?
> > >
> >
> > That's not sufficient AFAICS. Does the following patch work?
> >
> > 8<------------------------------------------------------------
> > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00
> > 2001
> > Message-ID:
> > <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.mykl
> > ebust@hammerspace.com>
> > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > Subject: [PATCH] NFS: Fix a race when updating an existing write
> >
> > After nfs_lock_and_join_requests() tests for whether the request is
> > still attached to the mapping, nothing prevents a call to
> > nfs_inode_remove_request() from succeeding until we actually lock
> > the
> > page group.
> > The reason is that whoever called nfs_inode_remove_request()
> > doesn't
> > necessarily have a lock on the page group head.
> >
> > So in order to avoid races, let's take the page group lock earlier
> > in
> > nfs_lock_and_join_requests(), and hold it across the removal of the
> > request in nfs_inode_remove_request().
> >
> > Reported-by: Jeff Layton <jlayton@kernel.org>
> > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request
> > into nfs_lock_and_join_requests")
> > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > ---
> > fs/nfs/pagelist.c | 9 +++++----
> > fs/nfs/write.c | 29 ++++++++++-------------------
> > include/linux/nfs_page.h | 1 +
> > 3 files changed, 16 insertions(+), 23 deletions(-)
> >
> > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > index 11968dcb7243..6e69ce43a13f 100644
> > --- a/fs/nfs/pagelist.c
> > +++ b/fs/nfs/pagelist.c
> > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > nfs_page_clear_headlock(req);
> > }
> >
> > -/*
> > - * nfs_page_group_sync_on_bit_locked
> > +/**
> > + * nfs_page_group_sync_on_bit_locked - Test if all requests have
> > @bit set
> > + * @req: request in page group
> > + * @bit: PG_* bit that is used to sync page group
> > *
> > * must be called with page group lock held
> > */
> > -static bool
> > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned
> > int bit)
> > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req,
> > unsigned int bit)
> > {
> > struct nfs_page *head = req->wb_head;
> > struct nfs_page *tmp;
> > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > index fa5c41d0989a..8b7c04737967 100644
> > --- a/fs/nfs/write.c
> > +++ b/fs/nfs/write.c
> > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req,
> > struct inode *inode)
> > }
> > }
> >
> > -static int
> > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct
> > inode *inode)
> > {
> > - int ret;
> > -
> > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > - return 0;
> > - ret = nfs_page_group_lock(req);
> > - if (ret)
> > - return ret;
> > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > nfs_page_set_inode_ref(req, inode);
> > - nfs_page_group_unlock(req);
> > - return 0;
> > }
> >
> > /**
> > @@ -585,19 +575,18 @@ static struct nfs_page
> > *nfs_lock_and_join_requests(struct folio *folio)
> > }
> > }
> >
> > + ret = nfs_page_group_lock(head);
> > + if (ret < 0)
> > + goto out_unlock;
> > +
> > /* Ensure that nobody removed the request before we locked
> > it */
> > if (head != folio->private) {
> > + nfs_page_group_unlock(head);
> > nfs_unlock_and_release_request(head);
> > goto retry;
> > }
> >
> > - ret = nfs_cancel_remove_inode(head, inode);
> > - if (ret < 0)
> > - goto out_unlock;
> > -
> > - ret = nfs_page_group_lock(head);
> > - if (ret < 0)
> > - goto out_unlock;
> > + nfs_cancel_remove_inode(head, inode);
> >
> > /* lock each request in the page group */
> > for (subreq = head->wb_this_page;
> > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct
> > nfs_page *req)
> > {
> > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> >
> > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > + nfs_page_group_lock(req);
> > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > struct folio *folio = nfs_page_to_folio(req-
> > >wb_head);
> > struct address_space *mapping = folio->mapping;
> >
> > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct
> > nfs_page *req)
> > }
> > spin_unlock(&mapping->i_private_lock);
> > }
> > + nfs_page_group_unlock(req);
> >
> > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > atomic_long_dec(&nfsi->nrequests);
> > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > index 169b4ae30ff4..9aed39abc94b 100644
> > --- a/include/linux/nfs_page.h
> > +++ b/include/linux/nfs_page.h
> > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page
> > *head,
> > extern int nfs_page_group_lock(struct nfs_page *);
> > extern void nfs_page_group_unlock(struct nfs_page *);
> > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned
> > int);
> > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *,
> > unsigned int);
> > extern int nfs_page_set_headlock(struct nfs_page *req);
> > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct
> > nfs_lock_context *);
>
> I backported this patch to the kernel we've been using to reproduce
> this and have had the test running for almost 24 hours now. The
> longest
> it's taken to reproduce on this test rig is about 12 hours. So, the
> initial signs are good.
>
> The patch also looks good to me. This one took a while to track down,
> and I needed a lot of help to set up the test rig. Can you add these?
>
> Tested-by: Joe Quanaim <jdq@meta.com>
> Tested-by: Andrew Steffen <aksteffen@meta.com>
> Reviewed-by: Jeff Layton <jlayton@kernel.org>
>
> Joe and Andrew spent a lot of time getting us a reproducer.
>
> I assume we also want to send this to stable? I'm pretty sure the
> Fixes: tag is wrong. The kernel we were using didn't have that patch.
> I
> took a look at some earlier releases, and AFAICT, this bug has been
> present for a long time -- at least since v6.0 and probably well
> before.
>
I've set
Fixes: bd37d6fce184 ("NFSv4: Convert nfs_lock_and_join_requests() to use nfs_page_find_head_request()")
on the very latest commit tags. That's about as far back as I can trace
it before going cross-eyed.
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trondmy@kernel.org, trond.myklebust@hammerspace.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-16 21:25 ` Mike Snitzer
@ 2025-08-19 18:38 ` Mike Snitzer
2025-08-19 20:13 ` Jeff Layton
0 siblings, 1 reply; 20+ messages in thread
From: Mike Snitzer @ 2025-08-19 18:38 UTC (permalink / raw)
To: Trond Myklebust
Cc: Jeff Layton, Anna Schumaker, Chuck Lever, linux-nfs,
jonathan.flynn
On Sat, Aug 16, 2025 at 05:25:28PM -0400, Mike Snitzer wrote:
> On Sat, Aug 16, 2025 at 07:51:17AM -0700, Trond Myklebust wrote:
> >
> > That's not sufficient AFAICS. Does the following patch work?
> >
> > 8<------------------------------------------------------------
> > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> > Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > Subject: [PATCH] NFS: Fix a race when updating an existing write
> >
> > After nfs_lock_and_join_requests() tests for whether the request is
> > still attached to the mapping, nothing prevents a call to
> > nfs_inode_remove_request() from succeeding until we actually lock the
> > page group.
> > The reason is that whoever called nfs_inode_remove_request() doesn't
> > necessarily have a lock on the page group head.
> >
> > So in order to avoid races, let's take the page group lock earlier in
> > nfs_lock_and_join_requests(), and hold it across the removal of the
> > request in nfs_inode_remove_request().
> >
> > Reported-by: Jeff Layton <jlayton@kernel.org>
> > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > ---
> > fs/nfs/pagelist.c | 9 +++++----
> > fs/nfs/write.c | 29 ++++++++++-------------------
> > include/linux/nfs_page.h | 1 +
> > 3 files changed, 16 insertions(+), 23 deletions(-)
> >
> > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > index 11968dcb7243..6e69ce43a13f 100644
> > --- a/fs/nfs/pagelist.c
> > +++ b/fs/nfs/pagelist.c
> > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > nfs_page_clear_headlock(req);
> > }
> >
> > -/*
> > - * nfs_page_group_sync_on_bit_locked
> > +/**
> > + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> > + * @req: request in page group
> > + * @bit: PG_* bit that is used to sync page group
> > *
> > * must be called with page group lock held
> > */
> > -static bool
> > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > {
> > struct nfs_page *head = req->wb_head;
> > struct nfs_page *tmp;
> > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > index fa5c41d0989a..8b7c04737967 100644
> > --- a/fs/nfs/write.c
> > +++ b/fs/nfs/write.c
> > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> > }
> > }
> >
> > -static int
> > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > {
> > - int ret;
> > -
> > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > - return 0;
> > - ret = nfs_page_group_lock(req);
> > - if (ret)
> > - return ret;
> > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > nfs_page_set_inode_ref(req, inode);
> > - nfs_page_group_unlock(req);
> > - return 0;
> > }
> >
> > /**
> > @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> > }
> > }
> >
> > + ret = nfs_page_group_lock(head);
> > + if (ret < 0)
> > + goto out_unlock;
> > +
> > /* Ensure that nobody removed the request before we locked it */
> > if (head != folio->private) {
> > + nfs_page_group_unlock(head);
> > nfs_unlock_and_release_request(head);
> > goto retry;
> > }
> >
> > - ret = nfs_cancel_remove_inode(head, inode);
> > - if (ret < 0)
> > - goto out_unlock;
> > -
> > - ret = nfs_page_group_lock(head);
> > - if (ret < 0)
> > - goto out_unlock;
> > + nfs_cancel_remove_inode(head, inode);
> >
> > /* lock each request in the page group */
> > for (subreq = head->wb_this_page;
> > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > {
> > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> >
> > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > + nfs_page_group_lock(req);
> > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > struct folio *folio = nfs_page_to_folio(req->wb_head);
> > struct address_space *mapping = folio->mapping;
> >
> > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > }
> > spin_unlock(&mapping->i_private_lock);
> > }
> > + nfs_page_group_unlock(req);
> >
> > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > atomic_long_dec(&nfsi->nrequests);
> > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > index 169b4ae30ff4..9aed39abc94b 100644
> > --- a/include/linux/nfs_page.h
> > +++ b/include/linux/nfs_page.h
> > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> > extern int nfs_page_group_lock(struct nfs_page *);
> > extern void nfs_page_group_unlock(struct nfs_page *);
> > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> > extern int nfs_page_set_headlock(struct nfs_page *req);
> > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
> > --
> > 2.50.1
> >
> >
>
>
> Trond,
>
> You're the best! ;)
>
> Your patch fixes corruption I've been chasing for the past week
> relative to NFS DIRECT, specifically with:
> echo Y > /sys/module/nfs/parameters/localio_O_DIRECT_align_misaligned_IO
>
> So you need my latest NFS DIRECT patchset:
> https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
>
> With it, writes would be corrupted when using the attached reproducer
> (from Jon Flynn, with the assistance of ChatGPT) that pulls out the
> subset of MLperf unet3d test (when ran in buffered IO mode, so
> entirely misaligned relative to DIO-alignment requirements) that we've
> seen npz CRC compare failure with.
>
> I tested my patchset with your patch applied and it all "just works".
>
> Ship it all!
>
> Thanks,
> Mike
>
> ps. running the attached reproducer is as simple as:
> ./mlperf_npz_tool.py --npz-path /mnt/share1/sample_a.npz
So even with this patch there is something still causing data
corruption on much faster systems. This mlperf_npz_tool.py reproducer
works fine on a slower VMware based testbed, but once I load the same
kernel (with Trond's fix applied) on a very fast baremetal system I
still see CRC mismatch due to write corruption if
localio_O_DIRECT_align_misaligned_IO=Y (from my NFS DIRECT patchset).
Again, both of my latest NFSD DIRECT and NFS DIRECT patchsets are
applied:
https://lore.kernel.org/linux-nfs/20250815144607.50967-1-snitzer@kernel.org/
https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
And I'm hacking nfs4 to impose O_DIRECT on buffered IO (reproducer
doesn't open its files with O_DIRECT but NFS client acts like it did).
I can dig out the patch to achieve that if others are interested.
Mike
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-19 18:28 ` Trond Myklebust
@ 2025-08-19 19:48 ` Jeff Layton
2025-08-19 20:47 ` Mike Snitzer
0 siblings, 1 reply; 20+ messages in thread
From: Jeff Layton @ 2025-08-19 19:48 UTC (permalink / raw)
To: Trond Myklebust, Anna Schumaker
Cc: Chuck Lever, linux-nfs, Joe Quanaim, Andrew Steffen
On Tue, 2025-08-19 at 11:28 -0700, Trond Myklebust wrote:
> On Tue, 2025-08-19 at 13:10 -0400, Jeff Layton wrote:
> > On Sat, 2025-08-16 at 07:51 -0700, Trond Myklebust wrote:
> > > On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> > > >
> > > > I finally caught something concrete today. I had the attached
> > > > bpftrace
> > > > script running while running the reproducer on a dozen or so
> > > > machines,
> > > > and it detected a hole in some data being written:
> > > >
> > > > -------------8<---------------
> > > > Attached 2 probes
> > > > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > > > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > > > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096
> > > > req=0
> > > > prevreq=0xffff8955b2f55980
> > > > -------------8<---------------
> > > >
> > > > What this tells us is that the page at idx=2 got submitted to
> > > > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > > > when
> > > > it got there, folio->private was NULL and it was ignored.
> > > >
> > > > The kernel in this case is based on v6.9, so it's (just) pre-
> > > > large-
> > > > folio support. It has a fair number of NFS patches, but not much
> > > > to
> > > > this portion of the code. Most of them are are containerization
> > > > fixes.
> > > >
> > > > I'm looking askance at nfs_inode_remove_request(). It does this:
> > > >
> > > > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > > struct folio *folio = nfs_page_to_folio(req-
> > > > > wb_head);
> > > > struct address_space *mapping = folio->mapping;
> > > >
> > > > spin_lock(&mapping->i_private_lock);
> > > > if (likely(folio)) {
> > > > folio->private = NULL;
> > > > folio_clear_private(folio);
> > > > clear_bit(PG_MAPPED, &req->wb_head-
> > > > > wb_flags);
> > > > }
> > > > spin_unlock(&mapping->i_private_lock);
> > > > }
> > > >
> > > > If nfs_page_group_sync_on_bit() returns true, then the nfs_page
> > > > gets
> > > > detached from the folio. Meanwhile, if a new write request comes
> > > > in
> > > > just after that, nfs_lock_and_join_requests() will call
> > > > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> > > >
> > > > static int
> > > > nfs_cancel_remove_inode(struct nfs_page *req, struct inode
> > > > *inode)
> > > > {
> > > > int ret;
> > > >
> > > > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > > return 0;
> > > > ret = nfs_page_group_lock(req);
> > > > if (ret)
> > > > return ret;
> > > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > > nfs_page_set_inode_ref(req, inode);
> > > > nfs_page_group_unlock(req);
> > > > return 0;
> > > > }
> > > >
> > > > ...but that does not reattach the nfs_page to the folio. Should
> > > > it?
> > > >
> > >
> > > That's not sufficient AFAICS. Does the following patch work?
> > >
> > > 8<------------------------------------------------------------
> > > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00
> > > 2001
> > > Message-ID:
> > > <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.mykl
> > > ebust@hammerspace.com>
> > > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > > Subject: [PATCH] NFS: Fix a race when updating an existing write
> > >
> > > After nfs_lock_and_join_requests() tests for whether the request is
> > > still attached to the mapping, nothing prevents a call to
> > > nfs_inode_remove_request() from succeeding until we actually lock
> > > the
> > > page group.
> > > The reason is that whoever called nfs_inode_remove_request()
> > > doesn't
> > > necessarily have a lock on the page group head.
> > >
> > > So in order to avoid races, let's take the page group lock earlier
> > > in
> > > nfs_lock_and_join_requests(), and hold it across the removal of the
> > > request in nfs_inode_remove_request().
> > >
> > > Reported-by: Jeff Layton <jlayton@kernel.org>
> > > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request
> > > into nfs_lock_and_join_requests")
> > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > ---
> > > fs/nfs/pagelist.c | 9 +++++----
> > > fs/nfs/write.c | 29 ++++++++++-------------------
> > > include/linux/nfs_page.h | 1 +
> > > 3 files changed, 16 insertions(+), 23 deletions(-)
> > >
> > > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > > index 11968dcb7243..6e69ce43a13f 100644
> > > --- a/fs/nfs/pagelist.c
> > > +++ b/fs/nfs/pagelist.c
> > > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > > nfs_page_clear_headlock(req);
> > > }
> > >
> > > -/*
> > > - * nfs_page_group_sync_on_bit_locked
> > > +/**
> > > + * nfs_page_group_sync_on_bit_locked - Test if all requests have
> > > @bit set
> > > + * @req: request in page group
> > > + * @bit: PG_* bit that is used to sync page group
> > > *
> > > * must be called with page group lock held
> > > */
> > > -static bool
> > > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned
> > > int bit)
> > > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req,
> > > unsigned int bit)
> > > {
> > > struct nfs_page *head = req->wb_head;
> > > struct nfs_page *tmp;
> > > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > > index fa5c41d0989a..8b7c04737967 100644
> > > --- a/fs/nfs/write.c
> > > +++ b/fs/nfs/write.c
> > > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req,
> > > struct inode *inode)
> > > }
> > > }
> > >
> > > -static int
> > > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct
> > > inode *inode)
> > > {
> > > - int ret;
> > > -
> > > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > - return 0;
> > > - ret = nfs_page_group_lock(req);
> > > - if (ret)
> > > - return ret;
> > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > nfs_page_set_inode_ref(req, inode);
> > > - nfs_page_group_unlock(req);
> > > - return 0;
> > > }
> > >
> > > /**
> > > @@ -585,19 +575,18 @@ static struct nfs_page
> > > *nfs_lock_and_join_requests(struct folio *folio)
> > > }
> > > }
> > >
> > > + ret = nfs_page_group_lock(head);
> > > + if (ret < 0)
> > > + goto out_unlock;
> > > +
> > > /* Ensure that nobody removed the request before we locked
> > > it */
> > > if (head != folio->private) {
> > > + nfs_page_group_unlock(head);
> > > nfs_unlock_and_release_request(head);
> > > goto retry;
> > > }
> > >
> > > - ret = nfs_cancel_remove_inode(head, inode);
> > > - if (ret < 0)
> > > - goto out_unlock;
> > > -
> > > - ret = nfs_page_group_lock(head);
> > > - if (ret < 0)
> > > - goto out_unlock;
> > > + nfs_cancel_remove_inode(head, inode);
> > >
> > > /* lock each request in the page group */
> > > for (subreq = head->wb_this_page;
> > > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct
> > > nfs_page *req)
> > > {
> > > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> > >
> > > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > + nfs_page_group_lock(req);
> > > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > > struct folio *folio = nfs_page_to_folio(req-
> > > > wb_head);
> > > struct address_space *mapping = folio->mapping;
> > >
> > > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct
> > > nfs_page *req)
> > > }
> > > spin_unlock(&mapping->i_private_lock);
> > > }
> > > + nfs_page_group_unlock(req);
> > >
> > > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > > atomic_long_dec(&nfsi->nrequests);
> > > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > > index 169b4ae30ff4..9aed39abc94b 100644
> > > --- a/include/linux/nfs_page.h
> > > +++ b/include/linux/nfs_page.h
> > > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page
> > > *head,
> > > extern int nfs_page_group_lock(struct nfs_page *);
> > > extern void nfs_page_group_unlock(struct nfs_page *);
> > > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned
> > > int);
> > > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *,
> > > unsigned int);
> > > extern int nfs_page_set_headlock(struct nfs_page *req);
> > > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct
> > > nfs_lock_context *);
> >
> > I backported this patch to the kernel we've been using to reproduce
> > this and have had the test running for almost 24 hours now. The
> > longest
> > it's taken to reproduce on this test rig is about 12 hours. So, the
> > initial signs are good.
> >
> > The patch also looks good to me. This one took a while to track down,
> > and I needed a lot of help to set up the test rig. Can you add these?
> >
> > Tested-by: Joe Quanaim <jdq@meta.com>
> > Tested-by: Andrew Steffen <aksteffen@meta.com>
> > Reviewed-by: Jeff Layton <jlayton@kernel.org>
> >
> > Joe and Andrew spent a lot of time getting us a reproducer.
> >
> > I assume we also want to send this to stable? I'm pretty sure the
> > Fixes: tag is wrong. The kernel we were using didn't have that patch.
> > I
> > took a look at some earlier releases, and AFAICT, this bug has been
> > present for a long time -- at least since v6.0 and probably well
> > before.
> >
>
> I've set
> Fixes: bd37d6fce184 ("NFSv4: Convert nfs_lock_and_join_requests() to use nfs_page_find_head_request()")
>
> on the very latest commit tags. That's about as far back as I can trace
> it before going cross-eyed.
Thanks. Looks like that went into v4.14. That's probably far enough. :)
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-19 18:38 ` Mike Snitzer
@ 2025-08-19 20:13 ` Jeff Layton
2025-08-19 21:38 ` seeing CRC mismatch with NFS DIRECT WRITE when localio_O_DIRECT_align_misaligned_IO=Y Mike Snitzer
0 siblings, 1 reply; 20+ messages in thread
From: Jeff Layton @ 2025-08-19 20:13 UTC (permalink / raw)
To: Mike Snitzer, Trond Myklebust
Cc: Anna Schumaker, Chuck Lever, linux-nfs, jonathan.flynn
On Tue, 2025-08-19 at 14:38 -0400, Mike Snitzer wrote:
> On Sat, Aug 16, 2025 at 05:25:28PM -0400, Mike Snitzer wrote:
> > On Sat, Aug 16, 2025 at 07:51:17AM -0700, Trond Myklebust wrote:
> > >
> > > That's not sufficient AFAICS. Does the following patch work?
> > >
> > > 8<------------------------------------------------------------
> > > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> > > Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> > > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > > Subject: [PATCH] NFS: Fix a race when updating an existing write
> > >
> > > After nfs_lock_and_join_requests() tests for whether the request is
> > > still attached to the mapping, nothing prevents a call to
> > > nfs_inode_remove_request() from succeeding until we actually lock the
> > > page group.
> > > The reason is that whoever called nfs_inode_remove_request() doesn't
> > > necessarily have a lock on the page group head.
> > >
> > > So in order to avoid races, let's take the page group lock earlier in
> > > nfs_lock_and_join_requests(), and hold it across the removal of the
> > > request in nfs_inode_remove_request().
> > >
> > > Reported-by: Jeff Layton <jlayton@kernel.org>
> > > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > ---
> > > fs/nfs/pagelist.c | 9 +++++----
> > > fs/nfs/write.c | 29 ++++++++++-------------------
> > > include/linux/nfs_page.h | 1 +
> > > 3 files changed, 16 insertions(+), 23 deletions(-)
> > >
> > > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > > index 11968dcb7243..6e69ce43a13f 100644
> > > --- a/fs/nfs/pagelist.c
> > > +++ b/fs/nfs/pagelist.c
> > > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > > nfs_page_clear_headlock(req);
> > > }
> > >
> > > -/*
> > > - * nfs_page_group_sync_on_bit_locked
> > > +/**
> > > + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> > > + * @req: request in page group
> > > + * @bit: PG_* bit that is used to sync page group
> > > *
> > > * must be called with page group lock held
> > > */
> > > -static bool
> > > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > > {
> > > struct nfs_page *head = req->wb_head;
> > > struct nfs_page *tmp;
> > > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > > index fa5c41d0989a..8b7c04737967 100644
> > > --- a/fs/nfs/write.c
> > > +++ b/fs/nfs/write.c
> > > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> > > }
> > > }
> > >
> > > -static int
> > > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > {
> > > - int ret;
> > > -
> > > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > - return 0;
> > > - ret = nfs_page_group_lock(req);
> > > - if (ret)
> > > - return ret;
> > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > nfs_page_set_inode_ref(req, inode);
> > > - nfs_page_group_unlock(req);
> > > - return 0;
> > > }
> > >
> > > /**
> > > @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> > > }
> > > }
> > >
> > > + ret = nfs_page_group_lock(head);
> > > + if (ret < 0)
> > > + goto out_unlock;
> > > +
> > > /* Ensure that nobody removed the request before we locked it */
> > > if (head != folio->private) {
> > > + nfs_page_group_unlock(head);
> > > nfs_unlock_and_release_request(head);
> > > goto retry;
> > > }
> > >
> > > - ret = nfs_cancel_remove_inode(head, inode);
> > > - if (ret < 0)
> > > - goto out_unlock;
> > > -
> > > - ret = nfs_page_group_lock(head);
> > > - if (ret < 0)
> > > - goto out_unlock;
> > > + nfs_cancel_remove_inode(head, inode);
> > >
> > > /* lock each request in the page group */
> > > for (subreq = head->wb_this_page;
> > > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > > {
> > > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> > >
> > > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > + nfs_page_group_lock(req);
> > > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > > struct folio *folio = nfs_page_to_folio(req->wb_head);
> > > struct address_space *mapping = folio->mapping;
> > >
> > > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > > }
> > > spin_unlock(&mapping->i_private_lock);
> > > }
> > > + nfs_page_group_unlock(req);
> > >
> > > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > > atomic_long_dec(&nfsi->nrequests);
> > > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > > index 169b4ae30ff4..9aed39abc94b 100644
> > > --- a/include/linux/nfs_page.h
> > > +++ b/include/linux/nfs_page.h
> > > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> > > extern int nfs_page_group_lock(struct nfs_page *);
> > > extern void nfs_page_group_unlock(struct nfs_page *);
> > > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> > > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> > > extern int nfs_page_set_headlock(struct nfs_page *req);
> > > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
> > > --
> > > 2.50.1
> > >
> > >
> >
> >
> > Trond,
> >
> > You're the best! ;)
> >
> > Your patch fixes corruption I've been chasing for the past week
> > relative to NFS DIRECT, specifically with:
> > echo Y > /sys/module/nfs/parameters/localio_O_DIRECT_align_misaligned_IO
> >
> > So you need my latest NFS DIRECT patchset:
> > https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
> >
> > With it, writes would be corrupted when using the attached reproducer
> > (from Jon Flynn, with the assistance of ChatGPT) that pulls out the
> > subset of MLperf unet3d test (when ran in buffered IO mode, so
> > entirely misaligned relative to DIO-alignment requirements) that we've
> > seen npz CRC compare failure with.
> >
> > I tested my patchset with your patch applied and it all "just works".
> >
> > Ship it all!
> >
> > Thanks,
> > Mike
> >
> > ps. running the attached reproducer is as simple as:
> > ./mlperf_npz_tool.py --npz-path /mnt/share1/sample_a.npz
>
> So even with this patch there is something still causing data
> corruption on much faster systems. This mlperf_npz_tool.py reproducer
> works fine on a slower VMware based testbed, but once I load the same
> kernel (with Trond's fix applied) on a very fast baremetal system I
> still see CRC mismatch due to write corruption if
> localio_O_DIRECT_align_misaligned_IO=Y (from my NFS DIRECT patchset).
>
> Again, both of my latest NFSD DIRECT and NFS DIRECT patchsets are
> applied:
> https://lore.kernel.org/linux-nfs/20250815144607.50967-1-snitzer@kernel.org/
> https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
>
> And I'm hacking nfs4 to impose O_DIRECT on buffered IO (reproducer
> doesn't open its files with O_DIRECT but NFS client acts like it did).
> I can dig out the patch to achieve that if others are interested.
>
> Mike
Can you compare a corrupt file with the expected output? That might
give us a clue about the nature of this bug.
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: parts of pages on NFS being replaced by swaths of NULs
2025-08-19 19:48 ` Jeff Layton
@ 2025-08-19 20:47 ` Mike Snitzer
0 siblings, 0 replies; 20+ messages in thread
From: Mike Snitzer @ 2025-08-19 20:47 UTC (permalink / raw)
To: Jeff Layton
Cc: Trond Myklebust, Anna Schumaker, Chuck Lever, linux-nfs,
Joe Quanaim, Andrew Steffen
On Tue, Aug 19, 2025 at 03:48:32PM -0400, Jeff Layton wrote:
> On Tue, 2025-08-19 at 11:28 -0700, Trond Myklebust wrote:
> > On Tue, 2025-08-19 at 13:10 -0400, Jeff Layton wrote:
> > > On Sat, 2025-08-16 at 07:51 -0700, Trond Myklebust wrote:
> > > > On Sat, 2025-08-16 at 09:01 -0400, Jeff Layton wrote:
> > > > >
> > > > > I finally caught something concrete today. I had the attached
> > > > > bpftrace
> > > > > script running while running the reproducer on a dozen or so
> > > > > machines,
> > > > > and it detected a hole in some data being written:
> > > > >
> > > > > -------------8<---------------
> > > > > Attached 2 probes
> > > > > Missing nfs_page: ino=10122173116 idx=2 flags=0x15ffff0000000029
> > > > > Hole: ino=10122173116 idx=3 off=10026 size=2262
> > > > > Prev folio: idx=2 flags=0x15ffff0000000028 pgbase=0 bytes=4096
> > > > > req=0
> > > > > prevreq=0xffff8955b2f55980
> > > > > -------------8<---------------
> > > > >
> > > > > What this tells us is that the page at idx=2 got submitted to
> > > > > nfs_do_writepage() (so it was marked dirty in the pagecache), but
> > > > > when
> > > > > it got there, folio->private was NULL and it was ignored.
> > > > >
> > > > > The kernel in this case is based on v6.9, so it's (just) pre-
> > > > > large-
> > > > > folio support. It has a fair number of NFS patches, but not much
> > > > > to
> > > > > this portion of the code. Most of them are are containerization
> > > > > fixes.
> > > > >
> > > > > I'm looking askance at nfs_inode_remove_request(). It does this:
> > > > >
> > > > > if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > > > struct folio *folio = nfs_page_to_folio(req-
> > > > > > wb_head);
> > > > > struct address_space *mapping = folio->mapping;
> > > > >
> > > > > spin_lock(&mapping->i_private_lock);
> > > > > if (likely(folio)) {
> > > > > folio->private = NULL;
> > > > > folio_clear_private(folio);
> > > > > clear_bit(PG_MAPPED, &req->wb_head-
> > > > > > wb_flags);
> > > > > }
> > > > > spin_unlock(&mapping->i_private_lock);
> > > > > }
> > > > >
> > > > > If nfs_page_group_sync_on_bit() returns true, then the nfs_page
> > > > > gets
> > > > > detached from the folio. Meanwhile, if a new write request comes
> > > > > in
> > > > > just after that, nfs_lock_and_join_requests() will call
> > > > > nfs_cancel_remove_inode() to try to "cancel" PG_REMOVE:
> > > > >
> > > > > static int
> > > > > nfs_cancel_remove_inode(struct nfs_page *req, struct inode
> > > > > *inode)
> > > > > {
> > > > > int ret;
> > > > >
> > > > > if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > > > return 0;
> > > > > ret = nfs_page_group_lock(req);
> > > > > if (ret)
> > > > > return ret;
> > > > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > > > nfs_page_set_inode_ref(req, inode);
> > > > > nfs_page_group_unlock(req);
> > > > > return 0;
> > > > > }
> > > > >
> > > > > ...but that does not reattach the nfs_page to the folio. Should
> > > > > it?
> > > > >
> > > >
> > > > That's not sufficient AFAICS. Does the following patch work?
> > > >
> > > > 8<------------------------------------------------------------
> > > > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00
> > > > 2001
> > > > Message-ID:
> > > > <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.mykl
> > > > ebust@hammerspace.com>
> > > > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > > > Subject: [PATCH] NFS: Fix a race when updating an existing write
> > > >
> > > > After nfs_lock_and_join_requests() tests for whether the request is
> > > > still attached to the mapping, nothing prevents a call to
> > > > nfs_inode_remove_request() from succeeding until we actually lock
> > > > the
> > > > page group.
> > > > The reason is that whoever called nfs_inode_remove_request()
> > > > doesn't
> > > > necessarily have a lock on the page group head.
> > > >
> > > > So in order to avoid races, let's take the page group lock earlier
> > > > in
> > > > nfs_lock_and_join_requests(), and hold it across the removal of the
> > > > request in nfs_inode_remove_request().
> > > >
> > > > Reported-by: Jeff Layton <jlayton@kernel.org>
> > > > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request
> > > > into nfs_lock_and_join_requests")
> > > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > > ---
> > > > fs/nfs/pagelist.c | 9 +++++----
> > > > fs/nfs/write.c | 29 ++++++++++-------------------
> > > > include/linux/nfs_page.h | 1 +
> > > > 3 files changed, 16 insertions(+), 23 deletions(-)
> > > >
> > > > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > > > index 11968dcb7243..6e69ce43a13f 100644
> > > > --- a/fs/nfs/pagelist.c
> > > > +++ b/fs/nfs/pagelist.c
> > > > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > > > nfs_page_clear_headlock(req);
> > > > }
> > > >
> > > > -/*
> > > > - * nfs_page_group_sync_on_bit_locked
> > > > +/**
> > > > + * nfs_page_group_sync_on_bit_locked - Test if all requests have
> > > > @bit set
> > > > + * @req: request in page group
> > > > + * @bit: PG_* bit that is used to sync page group
> > > > *
> > > > * must be called with page group lock held
> > > > */
> > > > -static bool
> > > > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned
> > > > int bit)
> > > > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req,
> > > > unsigned int bit)
> > > > {
> > > > struct nfs_page *head = req->wb_head;
> > > > struct nfs_page *tmp;
> > > > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > > > index fa5c41d0989a..8b7c04737967 100644
> > > > --- a/fs/nfs/write.c
> > > > +++ b/fs/nfs/write.c
> > > > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req,
> > > > struct inode *inode)
> > > > }
> > > > }
> > > >
> > > > -static int
> > > > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct
> > > > inode *inode)
> > > > {
> > > > - int ret;
> > > > -
> > > > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > > - return 0;
> > > > - ret = nfs_page_group_lock(req);
> > > > - if (ret)
> > > > - return ret;
> > > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > > nfs_page_set_inode_ref(req, inode);
> > > > - nfs_page_group_unlock(req);
> > > > - return 0;
> > > > }
> > > >
> > > > /**
> > > > @@ -585,19 +575,18 @@ static struct nfs_page
> > > > *nfs_lock_and_join_requests(struct folio *folio)
> > > > }
> > > > }
> > > >
> > > > + ret = nfs_page_group_lock(head);
> > > > + if (ret < 0)
> > > > + goto out_unlock;
> > > > +
> > > > /* Ensure that nobody removed the request before we locked
> > > > it */
> > > > if (head != folio->private) {
> > > > + nfs_page_group_unlock(head);
> > > > nfs_unlock_and_release_request(head);
> > > > goto retry;
> > > > }
> > > >
> > > > - ret = nfs_cancel_remove_inode(head, inode);
> > > > - if (ret < 0)
> > > > - goto out_unlock;
> > > > -
> > > > - ret = nfs_page_group_lock(head);
> > > > - if (ret < 0)
> > > > - goto out_unlock;
> > > > + nfs_cancel_remove_inode(head, inode);
> > > >
> > > > /* lock each request in the page group */
> > > > for (subreq = head->wb_this_page;
> > > > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct
> > > > nfs_page *req)
> > > > {
> > > > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> > > >
> > > > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > > + nfs_page_group_lock(req);
> > > > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > > > struct folio *folio = nfs_page_to_folio(req-
> > > > > wb_head);
> > > > struct address_space *mapping = folio->mapping;
> > > >
> > > > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct
> > > > nfs_page *req)
> > > > }
> > > > spin_unlock(&mapping->i_private_lock);
> > > > }
> > > > + nfs_page_group_unlock(req);
> > > >
> > > > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > > > atomic_long_dec(&nfsi->nrequests);
> > > > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > > > index 169b4ae30ff4..9aed39abc94b 100644
> > > > --- a/include/linux/nfs_page.h
> > > > +++ b/include/linux/nfs_page.h
> > > > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page
> > > > *head,
> > > > extern int nfs_page_group_lock(struct nfs_page *);
> > > > extern void nfs_page_group_unlock(struct nfs_page *);
> > > > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned
> > > > int);
> > > > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *,
> > > > unsigned int);
> > > > extern int nfs_page_set_headlock(struct nfs_page *req);
> > > > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > > > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct
> > > > nfs_lock_context *);
> > >
> > > I backported this patch to the kernel we've been using to reproduce
> > > this and have had the test running for almost 24 hours now. The
> > > longest
> > > it's taken to reproduce on this test rig is about 12 hours. So, the
> > > initial signs are good.
> > >
> > > The patch also looks good to me. This one took a while to track down,
> > > and I needed a lot of help to set up the test rig. Can you add these?
> > >
> > > Tested-by: Joe Quanaim <jdq@meta.com>
> > > Tested-by: Andrew Steffen <aksteffen@meta.com>
> > > Reviewed-by: Jeff Layton <jlayton@kernel.org>
> > >
> > > Joe and Andrew spent a lot of time getting us a reproducer.
> > >
> > > I assume we also want to send this to stable? I'm pretty sure the
> > > Fixes: tag is wrong. The kernel we were using didn't have that patch.
> > > I
> > > took a look at some earlier releases, and AFAICT, this bug has been
> > > present for a long time -- at least since v6.0 and probably well
> > > before.
> > >
> >
> > I've set
> > Fixes: bd37d6fce184 ("NFSv4: Convert nfs_lock_and_join_requests() to use nfs_page_find_head_request()")
> >
> > on the very latest commit tags. That's about as far back as I can trace
> > it before going cross-eyed.
>
> Thanks. Looks like that went into v4.14. That's probably far enough. :)
Indeed, but we'll need to provide specialized backports for each
stable@ kernel the further back it needed. So your 6.9 backport might
help with 6.6. The other active older stable trees are 6.1 and 6.12.
Gregkh et al will quickly defer to domain experts to see that a fix
like this lands everywhere it needed.
Mike
^ permalink raw reply [flat|nested] 20+ messages in thread
* seeing CRC mismatch with NFS DIRECT WRITE when localio_O_DIRECT_align_misaligned_IO=Y
2025-08-19 20:13 ` Jeff Layton
@ 2025-08-19 21:38 ` Mike Snitzer
2025-08-19 21:50 ` Jeff Layton
0 siblings, 1 reply; 20+ messages in thread
From: Mike Snitzer @ 2025-08-19 21:38 UTC (permalink / raw)
To: Jeff Layton
Cc: Trond Myklebust, Anna Schumaker, Chuck Lever, linux-nfs,
jonathan.flynn
On Tue, Aug 19, 2025 at 04:13:16PM -0400, Jeff Layton wrote:
> On Tue, 2025-08-19 at 14:38 -0400, Mike Snitzer wrote:
> > On Sat, Aug 16, 2025 at 05:25:28PM -0400, Mike Snitzer wrote:
> > > On Sat, Aug 16, 2025 at 07:51:17AM -0700, Trond Myklebust wrote:
> > > >
> > > > That's not sufficient AFAICS. Does the following patch work?
> > > >
> > > > 8<------------------------------------------------------------
> > > > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> > > > Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> > > > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > > > Subject: [PATCH] NFS: Fix a race when updating an existing write
> > > >
> > > > After nfs_lock_and_join_requests() tests for whether the request is
> > > > still attached to the mapping, nothing prevents a call to
> > > > nfs_inode_remove_request() from succeeding until we actually lock the
> > > > page group.
> > > > The reason is that whoever called nfs_inode_remove_request() doesn't
> > > > necessarily have a lock on the page group head.
> > > >
> > > > So in order to avoid races, let's take the page group lock earlier in
> > > > nfs_lock_and_join_requests(), and hold it across the removal of the
> > > > request in nfs_inode_remove_request().
> > > >
> > > > Reported-by: Jeff Layton <jlayton@kernel.org>
> > > > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> > > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > > ---
> > > > fs/nfs/pagelist.c | 9 +++++----
> > > > fs/nfs/write.c | 29 ++++++++++-------------------
> > > > include/linux/nfs_page.h | 1 +
> > > > 3 files changed, 16 insertions(+), 23 deletions(-)
> > > >
> > > > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > > > index 11968dcb7243..6e69ce43a13f 100644
> > > > --- a/fs/nfs/pagelist.c
> > > > +++ b/fs/nfs/pagelist.c
> > > > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > > > nfs_page_clear_headlock(req);
> > > > }
> > > >
> > > > -/*
> > > > - * nfs_page_group_sync_on_bit_locked
> > > > +/**
> > > > + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> > > > + * @req: request in page group
> > > > + * @bit: PG_* bit that is used to sync page group
> > > > *
> > > > * must be called with page group lock held
> > > > */
> > > > -static bool
> > > > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > > > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > > > {
> > > > struct nfs_page *head = req->wb_head;
> > > > struct nfs_page *tmp;
> > > > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > > > index fa5c41d0989a..8b7c04737967 100644
> > > > --- a/fs/nfs/write.c
> > > > +++ b/fs/nfs/write.c
> > > > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> > > > }
> > > > }
> > > >
> > > > -static int
> > > > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > > {
> > > > - int ret;
> > > > -
> > > > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > > - return 0;
> > > > - ret = nfs_page_group_lock(req);
> > > > - if (ret)
> > > > - return ret;
> > > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > > nfs_page_set_inode_ref(req, inode);
> > > > - nfs_page_group_unlock(req);
> > > > - return 0;
> > > > }
> > > >
> > > > /**
> > > > @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> > > > }
> > > > }
> > > >
> > > > + ret = nfs_page_group_lock(head);
> > > > + if (ret < 0)
> > > > + goto out_unlock;
> > > > +
> > > > /* Ensure that nobody removed the request before we locked it */
> > > > if (head != folio->private) {
> > > > + nfs_page_group_unlock(head);
> > > > nfs_unlock_and_release_request(head);
> > > > goto retry;
> > > > }
> > > >
> > > > - ret = nfs_cancel_remove_inode(head, inode);
> > > > - if (ret < 0)
> > > > - goto out_unlock;
> > > > -
> > > > - ret = nfs_page_group_lock(head);
> > > > - if (ret < 0)
> > > > - goto out_unlock;
> > > > + nfs_cancel_remove_inode(head, inode);
> > > >
> > > > /* lock each request in the page group */
> > > > for (subreq = head->wb_this_page;
> > > > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > > > {
> > > > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> > > >
> > > > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > > + nfs_page_group_lock(req);
> > > > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > > > struct folio *folio = nfs_page_to_folio(req->wb_head);
> > > > struct address_space *mapping = folio->mapping;
> > > >
> > > > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > > > }
> > > > spin_unlock(&mapping->i_private_lock);
> > > > }
> > > > + nfs_page_group_unlock(req);
> > > >
> > > > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > > > atomic_long_dec(&nfsi->nrequests);
> > > > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > > > index 169b4ae30ff4..9aed39abc94b 100644
> > > > --- a/include/linux/nfs_page.h
> > > > +++ b/include/linux/nfs_page.h
> > > > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> > > > extern int nfs_page_group_lock(struct nfs_page *);
> > > > extern void nfs_page_group_unlock(struct nfs_page *);
> > > > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> > > > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> > > > extern int nfs_page_set_headlock(struct nfs_page *req);
> > > > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > > > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
> > > > --
> > > > 2.50.1
> > > >
> > > >
> > >
> > >
> > > Trond,
> > >
> > > You're the best! ;)
> > >
> > > Your patch fixes corruption I've been chasing for the past week
> > > relative to NFS DIRECT, specifically with:
> > > echo Y > /sys/module/nfs/parameters/localio_O_DIRECT_align_misaligned_IO
> > >
> > > So you need my latest NFS DIRECT patchset:
> > > https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
> > >
> > > With it, writes would be corrupted when using the attached reproducer
> > > (from Jon Flynn, with the assistance of ChatGPT) that pulls out the
> > > subset of MLperf unet3d test (when ran in buffered IO mode, so
> > > entirely misaligned relative to DIO-alignment requirements) that we've
> > > seen npz CRC compare failure with.
> > >
> > > I tested my patchset with your patch applied and it all "just works".
> > >
> > > Ship it all!
> > >
> > > Thanks,
> > > Mike
> > >
> > > ps. running the attached reproducer is as simple as:
> > > ./mlperf_npz_tool.py --npz-path /mnt/share1/sample_a.npz
> >
> > So even with this patch there is something still causing data
> > corruption on much faster systems. This mlperf_npz_tool.py reproducer
> > works fine on a slower VMware based testbed, but once I load the same
> > kernel (with Trond's fix applied) on a very fast baremetal system I
> > still see CRC mismatch due to write corruption if
> > localio_O_DIRECT_align_misaligned_IO=Y (from my NFS DIRECT patchset).
> >
> > Again, both of my latest NFSD DIRECT and NFS DIRECT patchsets are
> > applied:
> > https://lore.kernel.org/linux-nfs/20250815144607.50967-1-snitzer@kernel.org/
> > https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
> >
> > And I'm hacking nfs4 to impose O_DIRECT on buffered IO (reproducer
> > doesn't open its files with O_DIRECT but NFS client acts like it did).
> > I can dig out the patch to achieve that if others are interested.
> >
> > Mike
>
> Can you compare a corrupt file with the expected output? That might
> give us a clue about the nature of this bug.
While it _is_ interesting that "speed kills" my particular lithmus
test: I've changed the $SUBJECT because this issue could easily be
unique to my new NFS DIRECT code or the test itself. So best to
divorce my issue from the original issue you reported that was the
catalyst for Trond's fix (that did seem to help my testcase).
To be clear, this may well be some bug in the python application (that
happens to be part of the MLperf "industry benchmark")...
Using other tools to verify data integrity have all passed. In
particular, dt isn't able to see any issues (but dt is more of an open
secret in the utility belt of companies like NetApp, Red Hat, now
Hammerspace, etc): https://github.com/RobinTMiller/dt.git
This patch header in the NFSD DIRECT series shows how dt proved very
useful:
https://lore.kernel.org/linux-nfs/20250815144607.50967-6-snitzer@kernel.org/
But back to the mlperf_npz_tool.py, I can easily generate good vs bad
files, any words of wisdom for useful tools to analyze the
differences? ChatGPT? Other AIs?
hexdump isn't showing useful or approachable differences, basically
the entire good vs bad file is different:
# hexdump /tmp/good.npz > /root/analyze_this/good.hd
# hexdump /tmp/bad.npz > /root/analyze_this/bad.hd
# diff -Naur /root/analyze_this/good.hd /root/analyze_this/bad.hd > hd.diff
# ls -alh
total 1.7G
drwxr-xr-x 2 root root 50 Aug 19 20:53 .
dr-xr-x---. 25 root root 4.0K Aug 19 20:56 ..
-rw-r--r-- 1 root root 421M Aug 19 20:52 bad.hd
-rw-r--r-- 1 root root 421M Aug 19 20:51 good.hd
-rw-r--r-- 1 root root 803M Aug 19 20:54 hd.diff
# less hd.diff
--- /root/analyze_this/good.hd 2025-08-19 20:51:55.797022245 +0000
+++ /root/analyze_this/bad.hd 2025-08-19 20:52:14.868669416 +0000
@@ -254,983046 +254,983046 @@
0000fd0 a73d eae0 f2b0 df27 6098 16be b990 f5b0
0000fe0 e2d1 857f 1843 6b2f 079b f319 5386 b6f7
0000ff0 e5ac ec09 29cd 17e9 1341 8a18 e54b 5057
-0001000 7711 ef46 982e fe27 a0b5 0d2f 0f05 0130
-0001010 d6e2 4a4c 74be f4cc a1ed cd98 fe09 0ba0
-0001020 65b5 05a1 426f 7658 c9d9 0381 8ed5 b4ad
...
+0001000 2325 8099 b007 9fd9 8596 01fe ae93 d384
+0001010 422e 7685 abab 0d9b 0a05 b4e9 b774 f619
+0001020 10fc 37d0 9e72 795c 82cd c9c8 9cac 4665
...
8b01000 ce50 6a33 b82d f7ce 0699 5948 1a7e 4e33
8b01010 ed0c f087 853e 952b 77c4 6e51 2790 26af
8b01020 d588 4bc7 313e d729 c20f 4412 8844 8fa6
Mike
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: seeing CRC mismatch with NFS DIRECT WRITE when localio_O_DIRECT_align_misaligned_IO=Y
2025-08-19 21:38 ` seeing CRC mismatch with NFS DIRECT WRITE when localio_O_DIRECT_align_misaligned_IO=Y Mike Snitzer
@ 2025-08-19 21:50 ` Jeff Layton
0 siblings, 0 replies; 20+ messages in thread
From: Jeff Layton @ 2025-08-19 21:50 UTC (permalink / raw)
To: Mike Snitzer
Cc: Trond Myklebust, Anna Schumaker, Chuck Lever, linux-nfs,
jonathan.flynn
On Tue, 2025-08-19 at 17:38 -0400, Mike Snitzer wrote:
> On Tue, Aug 19, 2025 at 04:13:16PM -0400, Jeff Layton wrote:
> > On Tue, 2025-08-19 at 14:38 -0400, Mike Snitzer wrote:
> > > On Sat, Aug 16, 2025 at 05:25:28PM -0400, Mike Snitzer wrote:
> > > > On Sat, Aug 16, 2025 at 07:51:17AM -0700, Trond Myklebust wrote:
> > > > >
> > > > > That's not sufficient AFAICS. Does the following patch work?
> > > > >
> > > > > 8<------------------------------------------------------------
> > > > > From fc9690dda01f001c6cd11665701394da8ebba1ab Mon Sep 17 00:00:00 2001
> > > > > Message-ID: <fc9690dda01f001c6cd11665701394da8ebba1ab.1755355810.git.trond.myklebust@hammerspace.com>
> > > > > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > > > Date: Sat, 16 Aug 2025 07:25:20 -0700
> > > > > Subject: [PATCH] NFS: Fix a race when updating an existing write
> > > > >
> > > > > After nfs_lock_and_join_requests() tests for whether the request is
> > > > > still attached to the mapping, nothing prevents a call to
> > > > > nfs_inode_remove_request() from succeeding until we actually lock the
> > > > > page group.
> > > > > The reason is that whoever called nfs_inode_remove_request() doesn't
> > > > > necessarily have a lock on the page group head.
> > > > >
> > > > > So in order to avoid races, let's take the page group lock earlier in
> > > > > nfs_lock_and_join_requests(), and hold it across the removal of the
> > > > > request in nfs_inode_remove_request().
> > > > >
> > > > > Reported-by: Jeff Layton <jlayton@kernel.org>
> > > > > Fixes: c3f2235782c3 ("nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requests")
> > > > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > > > > ---
> > > > > fs/nfs/pagelist.c | 9 +++++----
> > > > > fs/nfs/write.c | 29 ++++++++++-------------------
> > > > > include/linux/nfs_page.h | 1 +
> > > > > 3 files changed, 16 insertions(+), 23 deletions(-)
> > > > >
> > > > > diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
> > > > > index 11968dcb7243..6e69ce43a13f 100644
> > > > > --- a/fs/nfs/pagelist.c
> > > > > +++ b/fs/nfs/pagelist.c
> > > > > @@ -253,13 +253,14 @@ nfs_page_group_unlock(struct nfs_page *req)
> > > > > nfs_page_clear_headlock(req);
> > > > > }
> > > > >
> > > > > -/*
> > > > > - * nfs_page_group_sync_on_bit_locked
> > > > > +/**
> > > > > + * nfs_page_group_sync_on_bit_locked - Test if all requests have @bit set
> > > > > + * @req: request in page group
> > > > > + * @bit: PG_* bit that is used to sync page group
> > > > > *
> > > > > * must be called with page group lock held
> > > > > */
> > > > > -static bool
> > > > > -nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > > > > +bool nfs_page_group_sync_on_bit_locked(struct nfs_page *req, unsigned int bit)
> > > > > {
> > > > > struct nfs_page *head = req->wb_head;
> > > > > struct nfs_page *tmp;
> > > > > diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> > > > > index fa5c41d0989a..8b7c04737967 100644
> > > > > --- a/fs/nfs/write.c
> > > > > +++ b/fs/nfs/write.c
> > > > > @@ -153,20 +153,10 @@ nfs_page_set_inode_ref(struct nfs_page *req, struct inode *inode)
> > > > > }
> > > > > }
> > > > >
> > > > > -static int
> > > > > -nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > > > +static void nfs_cancel_remove_inode(struct nfs_page *req, struct inode *inode)
> > > > > {
> > > > > - int ret;
> > > > > -
> > > > > - if (!test_bit(PG_REMOVE, &req->wb_flags))
> > > > > - return 0;
> > > > > - ret = nfs_page_group_lock(req);
> > > > > - if (ret)
> > > > > - return ret;
> > > > > if (test_and_clear_bit(PG_REMOVE, &req->wb_flags))
> > > > > nfs_page_set_inode_ref(req, inode);
> > > > > - nfs_page_group_unlock(req);
> > > > > - return 0;
> > > > > }
> > > > >
> > > > > /**
> > > > > @@ -585,19 +575,18 @@ static struct nfs_page *nfs_lock_and_join_requests(struct folio *folio)
> > > > > }
> > > > > }
> > > > >
> > > > > + ret = nfs_page_group_lock(head);
> > > > > + if (ret < 0)
> > > > > + goto out_unlock;
> > > > > +
> > > > > /* Ensure that nobody removed the request before we locked it */
> > > > > if (head != folio->private) {
> > > > > + nfs_page_group_unlock(head);
> > > > > nfs_unlock_and_release_request(head);
> > > > > goto retry;
> > > > > }
> > > > >
> > > > > - ret = nfs_cancel_remove_inode(head, inode);
> > > > > - if (ret < 0)
> > > > > - goto out_unlock;
> > > > > -
> > > > > - ret = nfs_page_group_lock(head);
> > > > > - if (ret < 0)
> > > > > - goto out_unlock;
> > > > > + nfs_cancel_remove_inode(head, inode);
> > > > >
> > > > > /* lock each request in the page group */
> > > > > for (subreq = head->wb_this_page;
> > > > > @@ -786,7 +775,8 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > > > > {
> > > > > struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req));
> > > > >
> > > > > - if (nfs_page_group_sync_on_bit(req, PG_REMOVE)) {
> > > > > + nfs_page_group_lock(req);
> > > > > + if (nfs_page_group_sync_on_bit_locked(req, PG_REMOVE)) {
> > > > > struct folio *folio = nfs_page_to_folio(req->wb_head);
> > > > > struct address_space *mapping = folio->mapping;
> > > > >
> > > > > @@ -798,6 +788,7 @@ static void nfs_inode_remove_request(struct nfs_page *req)
> > > > > }
> > > > > spin_unlock(&mapping->i_private_lock);
> > > > > }
> > > > > + nfs_page_group_unlock(req);
> > > > >
> > > > > if (test_and_clear_bit(PG_INODE_REF, &req->wb_flags)) {
> > > > > atomic_long_dec(&nfsi->nrequests);
> > > > > diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h
> > > > > index 169b4ae30ff4..9aed39abc94b 100644
> > > > > --- a/include/linux/nfs_page.h
> > > > > +++ b/include/linux/nfs_page.h
> > > > > @@ -160,6 +160,7 @@ extern void nfs_join_page_group(struct nfs_page *head,
> > > > > extern int nfs_page_group_lock(struct nfs_page *);
> > > > > extern void nfs_page_group_unlock(struct nfs_page *);
> > > > > extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int);
> > > > > +extern bool nfs_page_group_sync_on_bit_locked(struct nfs_page *, unsigned int);
> > > > > extern int nfs_page_set_headlock(struct nfs_page *req);
> > > > > extern void nfs_page_clear_headlock(struct nfs_page *req);
> > > > > extern bool nfs_async_iocounter_wait(struct rpc_task *, struct nfs_lock_context *);
> > > > > --
> > > > > 2.50.1
> > > > >
> > > > >
> > > >
> > > >
> > > > Trond,
> > > >
> > > > You're the best! ;)
> > > >
> > > > Your patch fixes corruption I've been chasing for the past week
> > > > relative to NFS DIRECT, specifically with:
> > > > echo Y > /sys/module/nfs/parameters/localio_O_DIRECT_align_misaligned_IO
> > > >
> > > > So you need my latest NFS DIRECT patchset:
> > > > https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
> > > >
> > > > With it, writes would be corrupted when using the attached reproducer
> > > > (from Jon Flynn, with the assistance of ChatGPT) that pulls out the
> > > > subset of MLperf unet3d test (when ran in buffered IO mode, so
> > > > entirely misaligned relative to DIO-alignment requirements) that we've
> > > > seen npz CRC compare failure with.
> > > >
> > > > I tested my patchset with your patch applied and it all "just works".
> > > >
> > > > Ship it all!
> > > >
> > > > Thanks,
> > > > Mike
> > > >
> > > > ps. running the attached reproducer is as simple as:
> > > > ./mlperf_npz_tool.py --npz-path /mnt/share1/sample_a.npz
> > >
> > > So even with this patch there is something still causing data
> > > corruption on much faster systems. This mlperf_npz_tool.py reproducer
> > > works fine on a slower VMware based testbed, but once I load the same
> > > kernel (with Trond's fix applied) on a very fast baremetal system I
> > > still see CRC mismatch due to write corruption if
> > > localio_O_DIRECT_align_misaligned_IO=Y (from my NFS DIRECT patchset).
> > >
> > > Again, both of my latest NFSD DIRECT and NFS DIRECT patchsets are
> > > applied:
> > > https://lore.kernel.org/linux-nfs/20250815144607.50967-1-snitzer@kernel.org/
> > > https://lore.kernel.org/linux-nfs/20250815233003.55071-1-snitzer@kernel.org/
> > >
> > > And I'm hacking nfs4 to impose O_DIRECT on buffered IO (reproducer
> > > doesn't open its files with O_DIRECT but NFS client acts like it did).
> > > I can dig out the patch to achieve that if others are interested.
> > >
> > > Mike
> >
> > Can you compare a corrupt file with the expected output? That might
> > give us a clue about the nature of this bug.
>
> While it _is_ interesting that "speed kills" my particular lithmus
> test: I've changed the $SUBJECT because this issue could easily be
> unique to my new NFS DIRECT code or the test itself. So best to
> divorce my issue from the original issue you reported that was the
> catalyst for Trond's fix (that did seem to help my testcase).
>
> To be clear, this may well be some bug in the python application (that
> happens to be part of the MLperf "industry benchmark")...
>
> Using other tools to verify data integrity have all passed. In
> particular, dt isn't able to see any issues (but dt is more of an open
> secret in the utility belt of companies like NetApp, Red Hat, now
> Hammerspace, etc): https://github.com/RobinTMiller/dt.git
> This patch header in the NFSD DIRECT series shows how dt proved very
> useful:
> https://lore.kernel.org/linux-nfs/20250815144607.50967-6-snitzer@kernel.org/
>
> But back to the mlperf_npz_tool.py, I can easily generate good vs bad
> files, any words of wisdom for useful tools to analyze the
> differences? ChatGPT? Other AIs?
>
> hexdump isn't showing useful or approachable differences, basically
> the entire good vs bad file is different:
>
> # hexdump /tmp/good.npz > /root/analyze_this/good.hd
> # hexdump /tmp/bad.npz > /root/analyze_this/bad.hd
> # diff -Naur /root/analyze_this/good.hd /root/analyze_this/bad.hd > hd.diff
>
> # ls -alh
> total 1.7G
> drwxr-xr-x 2 root root 50 Aug 19 20:53 .
> dr-xr-x---. 25 root root 4.0K Aug 19 20:56 ..
> -rw-r--r-- 1 root root 421M Aug 19 20:52 bad.hd
> -rw-r--r-- 1 root root 421M Aug 19 20:51 good.hd
> -rw-r--r-- 1 root root 803M Aug 19 20:54 hd.diff
>
> # less hd.diff
> --- /root/analyze_this/good.hd 2025-08-19 20:51:55.797022245 +0000
> +++ /root/analyze_this/bad.hd 2025-08-19 20:52:14.868669416 +0000
> @@ -254,983046 +254,983046 @@
> 0000fd0 a73d eae0 f2b0 df27 6098 16be b990 f5b0
> 0000fe0 e2d1 857f 1843 6b2f 079b f319 5386 b6f7
> 0000ff0 e5ac ec09 29cd 17e9 1341 8a18 e54b 5057
> -0001000 7711 ef46 982e fe27 a0b5 0d2f 0f05 0130
> -0001010 d6e2 4a4c 74be f4cc a1ed cd98 fe09 0ba0
> -0001020 65b5 05a1 426f 7658 c9d9 0381 8ed5 b4ad
> ...
> +0001000 2325 8099 b007 9fd9 8596 01fe ae93 d384
> +0001010 422e 7685 abab 0d9b 0a05 b4e9 b774 f619
> +0001020 10fc 37d0 9e72 795c 82cd c9c8 9cac 4665
> ...
> 8b01000 ce50 6a33 b82d f7ce 0699 5948 1a7e 4e33
> 8b01010 ed0c f087 853e 952b 77c4 6e51 2790 26af
> 8b01020 d588 4bc7 313e d729 c20f 4412 8844 8fa6
>
2 interesting things there:
1/ the corruption doesn't appear to be zeroes, so this is definitely a
different bug than the one we saw before.
2/ It looks like the corruption starts on a page boundary. How far does
it extend? If it's all page aligned, then that's probably an important
clue.
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2025-08-19 21:50 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-30 14:52 parts of pages on NFS being replaced by swaths of NULs Jeff Layton
2025-07-31 21:56 ` Trond Myklebust
2025-07-31 23:04 ` Jeff Layton
2025-08-06 14:20 ` Jeff Layton
2025-08-12 11:58 ` Jeff Layton
2025-08-12 16:58 ` Trond Myklebust
2025-08-12 17:20 ` Jeff Layton
2025-08-16 13:01 ` Jeff Layton
2025-08-16 14:51 ` Trond Myklebust
2025-08-16 15:31 ` Jeff Layton
2025-08-16 17:16 ` Jeff Layton
2025-08-16 21:25 ` Mike Snitzer
2025-08-19 18:38 ` Mike Snitzer
2025-08-19 20:13 ` Jeff Layton
2025-08-19 21:38 ` seeing CRC mismatch with NFS DIRECT WRITE when localio_O_DIRECT_align_misaligned_IO=Y Mike Snitzer
2025-08-19 21:50 ` Jeff Layton
2025-08-19 17:10 ` parts of pages on NFS being replaced by swaths of NULs Jeff Layton
2025-08-19 18:28 ` Trond Myklebust
2025-08-19 19:48 ` Jeff Layton
2025-08-19 20:47 ` Mike Snitzer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).