On Mon, May 25, 2020 at 10:12:15AM +0200, Jan Kara wrote: > ext4_writepages() currently works in a loop like: > start a transaction > scan inode for pages to write > map and submit these pages > stop the transaction > > This loop results in starting transaction once more than is needed > because in the last iteration we start a transaction only to scan the > inode and find there are no pages to write. This can be significant > increase in number of transaction starts for single-extent files or > files that have all blocks already mapped. Furthermore we already know > from previous iteration whether there are more pages to write or not. So > propagate the information from mpage_prepare_extent_to_map() and avoid > unnecessary looping in case there are no more pages to write. > > Signed-off-by: Jan Kara <jack@xxxxxxx> Thanks, applied. I like how it shrinks the source file. :-) - Ted