• Jens Axboe's avatar
    writeback: fix WB_SYNC_NONE writeback from umount · e913fc82
    Jens Axboe authored
    When umount calls sync_filesystem(), we first do a WB_SYNC_NONE
    writeback to kick off writeback of pending dirty inodes, then follow
    that up with a WB_SYNC_ALL to wait for it. Since umount already holds
    the sb s_umount mutex, WB_SYNC_NONE ends up doing nothing and all
    writeback happens as WB_SYNC_ALL. This can greatly slow down umount,
    since WB_SYNC_ALL writeback is a data integrity operation and thus
    a bigger hammer than simple WB_SYNC_NONE. For barrier aware file systems
    it's a lot slower.
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    e913fc82
sync.c 12.4 KB