On Fri 06-05-11 11:08:24, Wu Fengguang wrote: > The flusher works on dirty inodes in batches, and may quit prematurely > if the batch of inodes happen to be metadata-only dirtied: in this case > wbc->nr_to_write won't be decreased at all, which stands for "no pages > written" but also mis-interpreted as "no progress". > > So introduce writeback_control.inodes_cleaned to count the inodes get > cleaned. A non-zero value means there are some progress on writeback, > in which case more writeback can be tried. > > about v1: The initial version was to count successful ->write_inode() > calls. However it leads to busy loops for sync() over NFS, because NFS > ridiculously returns 0 (success) while at the same time redirties the > inode. The NFS case can be trivially fixed, however there may be more > hidden bugs in other filesystems.. I think Christoph didn't like this patch (https://lkml.org/lkml/2011/5/4/123) and suggested that inodes_cleaned should remain local to fs-writeback.c... Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html