On Mon, 17 Apr 2023, Jens Axboe wrote: > On Sun, 16 Apr 2023 21:46:16 -0700, Hugh Dickins wrote: > > generic_file_splice_read() makes a couple of preliminary checks (for > > s_maxbytes and zero len), but shmem_file_splice_read() is called without > > those: so check them inside it. (But shmem does not support O_DIRECT, > > so no need for that one here - and even if O_DIRECT support were stubbed > > in, it would still just be using the page cache.) > > > > HWPoison: my reading of folio_test_hwpoison() is that it only tests the > > head page of a large folio, whereas splice_folio_into_pipe() will splice > > as much of the folio as it can: so for safety we should also check the > > has_hwpoisoned flag, set if any of the folio's pages are hwpoisoned. > > (Perhaps that ugliness can be improved at the mm end later.) > > > > [...] > > Applied, thanks! > > [1/1] shmem: minor fixes to splice-read implementation > commit: 72887c976a7c9ee7527f4a2e3d109576efea98ab > > Best regards, > -- > Jens Axboe Thanks, but it then vanished amidst the subsequent splice convulsions, and I can't quite tell how much of it is still needed - looks like the !len check is now done in vfs_splice_read(), but I didn't work out what happened to ppos and s_maxbytes; the hwpoison and "part" mods still needed, surely? Hugh