On Tue, Mar 15, 2016 at 05:37:27PM -0400, Eric Whitney wrote: > The test fails relatively rarely - about one in ten trials. The set of > reported kernel errors varies considerably from run to run. The one constant > is an ENOSPC complaint from ext4_bio_write_page() which appears whether the > test passes or fails. > > [ 18.146614] ext4_bio_write_page: ret = -12 > -12 is not ENOSPC; it's ENOMEM. (ENOSPC is 28). So basically we're hitting a case where generic/224 is submitting data so quickly that we can't handle it fast enough. I suspect the call path is that we're inside the jbd2_commit(), and we're calling journal_submit_data_buffers(), which ends up calling ext4_writepages(), and this is returning the ENOMEM. Unfortunately we're not providing a better message there, and we just return jbd2_journal_abort() if journal_submit_data_buffers() fails. I suspect what we need to do is to pass down a flag through ext4_bio_write_page() and ext4_encrypt() so that in the case where we are doing a data integrity sync, that we have to use GFP_NOFAIL in our data allocations in the fs/ext4/crypto.c. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html