On Fri, Mar 18, 2022 at 6:16 AM Jan Kara <jack@xxxxxxx> wrote: > > I agree with Dave that 'keep_towrite' thing is kind of self-inflicted > damage on the ext4 side (we need to write out some blocks underlying the > page but cannot write all from the transaction commit code, so we need to > keep xarray tags intact so that data integrity sync cannot miss the page). > Also it is no longer needed in the current default ext4 setup. But if you > have blocksize < pagesize and mount the fs with 'dioreadlock,data=ordered' > mount options, the hack is still needed AFAIK and we don't have a > reasonable way around it. I assume you meant 'dioread_lock'. Which seems to be the default (even if 'data=ordered' is not). Anyway - if it's not a problem for any current default setting, maybe the solution is to warn about this case and turn it off? IOW, we could simply warn about "data=ordered is no longer supported" and turn it into data=journal. Obviously *only* do this for the case of "blocksize < PAGE_SIZE". If this ext4 thing is (a) obsolete and (b) causes VFS-level problems that nobody else has, I really think we'd be much better off disabling it than trying to work with it. Linus