So I looked into something else, what if we just use ->read_folio despite it not seeming ideal initially? After going through with it I think it's actually less bad than I thought. This passes -g auto on xfs with 4k blocks, and has three regression with 1k blocks, 2 look are the seek hole testers upset that we can't easily create detectable sub-block holes now, and one because generic/563 thinks the cgroup accounting is off, probably because we read more data now or something like that. ---