Re: [PATCH v12 00/10] enable bs > ps in XFS

David Howells
2024-08-19T16:51:26Z

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