On Thu 01-12-22 17:12:05, Ritesh Harjani (IBM) wrote: > On 22/11/30 05:35PM, Jan Kara wrote: > > Hello, > > > > this patch series modifies ext4 so that we stop using ext4_writepage() for > > writeout of ordered data during transaction commit (through > > generic_writepages() from jbd2_journal_submit_inode_data_buffers()). Instead we > > directly call ext4_writepages() from the > > ext4_journal_submit_inode_data_buffers(). > > Hello Jan, > > Do you think we should add a WARN_ON_ONCE() or something in > ext4_do_writepages() function where we might try to start a transaction > at [J]. Since we can now enter into ext4_do_writepages() from two places: > 1. writeback > 2. jbd2_journal_commit_transaction() > mpage_submit_page > mpage_prepare_extent_to_map > ext4_do_writepages > ext4_normal_submit_inode_data_buffers > ext4_journal_submit_inode_data_buffers > journal_submit_data_buffers > jbd2_journal_commit_transaction > kjournald2 > > So IIUC, we will call mpage_submit_page() in the first call to > mpage_prepare_extent_to_map() [1] itself. That may set mpd->scanned_until_end = 1 > at the end of it. So then we should never enter into the while loop where we > start a journal txn. Yes, correct. But I agree a WARN_ON_ONCE in the loop might be useful just in case. I'll add it. Thanks for the idea. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR