• T
    writeback: implement wb_wait_for_single_work() · 98754bf7
    Tejun Heo 提交于
    For cgroup writeback, multiple wb_writeback_work items may need to be
    issuedto accomplish a single task.  The previous patch updated the
    waiting mechanism such that wb_wait_for_completion() can wait for
    multiple work items.
    
    Issuing mulitple work items involves memory allocation which may fail.
    As most writeback operations can't fail or blocked on memory
    allocation, in such cases, we'll fall back to sequential issuing of an
    on-stack work item, which would need to be waited upon sequentially.
    
    This patch implements wb_wait_for_single_work() which waits for a
    single work item independently from wb_completion waiting so that such
    fallback mechanism can be used without getting tangled with the usual
    issuing / completion operation.
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Jan Kara <jack@suse.cz>
    Signed-off-by: NJens Axboe <axboe@fb.com>
    98754bf7
fs-writeback.c 49.2 KB