• Wu Fengguang's avatar
    writeback: make writeback_control.nr_to_write straight · d46db3d5
    Wu Fengguang authored
    Pass struct wb_writeback_work all the way down to writeback_sb_inodes(),
    and initialize the struct writeback_control there.
    
    struct writeback_control is basically designed to control writeback of a
    single file, but we keep abuse it for writing multiple files in
    writeback_sb_inodes() and its callers.
    
    It immediately clean things up, e.g. suddenly wbc.nr_to_write vs
    work->nr_pages starts to make sense, and instead of saving and restoring
    pages_skipped in writeback_sb_inodes it can always start with a clean
    zero value.
    
    It also makes a neat IO pattern change: large dirty files are now
    written in the full 4MB writeback chunk size, rather than whatever
    remained quota in wbc->nr_to_write.
    Acked-by: default avatarJan Kara <jack@suse.cz>
    Proposed-by: default avatarChristoph Hellwig <hch@infradead.org>
    Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
    d46db3d5
extent_io.c 94 KB