On Mon, Jan 24, 2022 at 02:48:32PM +1100, NeilBrown wrote: > > +static void sio_write_complete(struct kiocb *iocb, long ret) > +{ > + struct swap_iocb *sio = container_of(iocb, struct swap_iocb, iocb); > + struct page *page = sio->bvec.bv_page; > + > + if (ret != 0 && ret != PAGE_SIZE) { ret == 0 isn't really a success case for ki_complete, it is something that should never happen at all. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>