Okay, I think there is a bug in your patches also. If I do: xfs_io -t -f -c "pwrite -S 0x58 0 40" -c "fsync" \ -c "truncate 4" -c "truncate 4096" \ /xfstest.test/wubble; od /xfstest.test/wubble I see: xfs_io-6059: netfs_truncate: ni=9e isz=1000 rsz=1000 zp=0 to=0 xfs_io-6059: netfs_set_size: ni=9e resize-file isz=0 rsz=0 zp=0 xfs_io-6059: netfs_write_iter: WRITE-ITER i=9e s=0 l=28 f=0 xfs_io-6059: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 mod-n-clear d=5858585858585858 xfs_io-6059: netfs_write: R=0000000c WRITEBACK c=00000002 i=9e by=0-ffffffffffffffff xfs_io-6059: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 store d=5858585858585858 xfs_io-6059: netfs_sreq: R=0000000c[1] UPLD PREP f=00 s=0 0/0 e=0 xfs_io-6059: netfs_sreq: R=0000000c[1] UPLD SUBMT f=100 s=0 0/28 e=0 kworker-5948: netfs_sreq: R=0000000c[1] UPLD TERM f=100 s=0 28/28 e=0 kworker-5948: netfs_rreq: R=0000000c WB COLLECT f=2120 kworker-5948: netfs_sreq: R=0000000c[1] UPLD FREE f=00 s=0 28/28 e=0 kworker-5948: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 clear d=5858585858585858 kworker-5948: netfs_rreq: R=0000000c WB WR-DONE f=2120 kworker-5948: netfs_rreq: R=0000000c WB WAKE-IP f=2120 kworker-5948: netfs_rreq: R=0000000c WB FREE f=2100 xfs_io-6059: netfs_truncate: ni=9e isz=28 rsz=28 zp=0 to=4 xfs_io-6059: netfs_set_size: ni=9e resize-file isz=4 rsz=4 zp=0 But ->release_folio() should have been called here because netfs_inode_init() would have called mapping_set_release_always() for ordinary afs files. xfs_io-6059: netfs_truncate: ni=9e isz=4 rsz=4 zp=0 to=1000 xfs_io-6059: netfs_set_size: ni=9e resize-file isz=1000 rsz=1000 zp=0 od-6060: netfs_read: R=0000000d READAHEAD c=00000002 ni=9e s=0 l=2000 sz=1000 od-6060: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 read d=58585858 od-6060: netfs_sreq: R=0000000d[1] ---- ADD f=00 s=0 0/2000 e=0 od-6060: netfs_sreq: R=0000000d[1] ZERO SUBMT f=00 s=0 0/2000 e=0 od-6060: netfs_sreq: R=0000000d[1] ZERO CLEAR f=02 s=0 2000/2000 e=0 od-6060: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 read-done d=0 od-6060: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 read-unlock d=0 od-6060: netfs_sreq: R=0000000d[1] ZERO TERM f=02 s=0 2000/2000 e=0 od-6060: netfs_sreq: R=0000000d[1] ZERO FREE f=02 s=0 2000/2000 e=0 od-6060: netfs_rreq: R=0000000d RA ASSESS f=20 od-6060: netfs_rreq: R=0000000d RA WAKE-IP f=20 od-6060: netfs_rreq: R=0000000d RA DONE f=00 od-6060: netfs_folio: pfn=10d996 i=0009e ix=00000-00001 read-put d=0 kworker-5948: netfs_rreq: R=0000000d RA FREE f=00 David