On Tue, Jan 30, 2024 at 11:58:22PM -0500, Theodore Ts'o wrote: > Hmm, could XFS pre-fault target memory buffer for the bulkstat output > before starting its transaction? Alternatively, ext4 could do a save > of current->journal_info before starting to process the page fault, > and restore it when it is done. Both of these seem a bit hacky, and > the question is indeed, are there other avenues that might cause the > transaction context nesting, such that a more general solution is > called for? I'd suggest that saving off current->journal_info is risky because it might cover a real problem where you've taken a pagefault inside a transaction (eg ext4 faulting while in the middle of a transaction on the same filesystem that contains the faulting file). Seems to me that we shouldn't be writing to userspace while in the middle of a transaction. We could even assert that in copy_to_user()?