• C
    fs: don't reassign dirty inodes to default_backing_dev_info · c4db59d3
    Christoph Hellwig 提交于
    If we have dirty inodes we need to call the filesystem for it, even if the
    device has been removed and the filesystem will error out early.  The
    current code does that by reassining all dirty inodes to the default
    backing_dev_info when a bdi is unlinked, but that's pretty pointless given
    that the bdi must always outlive the super block.
    
    Instead of stopping writeback at unregister time and moving inodes to the
    default bdi just keep the current bdi alive until it is destroyed.  The
    containing objects of the bdi ensure this doesn't happen until all
    writeback has finished by erroring out.
    Signed-off-by: NChristoph Hellwig <hch@lst.de>
    Reviewed-by: NTejun Heo <tj@kernel.org>
    Reviewed-by: NJan Kara <jack@suse.cz>
    
    Killed the redundant WARN_ON(), as noticed by Jan.
    Signed-off-by: NJens Axboe <axboe@fb.com>
    c4db59d3
backing-dev.c 15.5 KB