• Christoph Hellwig's avatar
    fs: don't reassign dirty inodes to default_backing_dev_info · c4db59d3
    Christoph Hellwig authored
    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: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarTejun Heo <tj@kernel.org>
    Reviewed-by: default avatarJan Kara <jack@suse.cz>
    
    Killed the redundant WARN_ON(), as noticed by Jan.
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    c4db59d3
backing-dev.c 15.5 KB