-
- Downloads
writeback: fix WB_SYNC_NONE writeback from umount
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:
Jens Axboe <jens.axboe@oracle.com>
Showing
- fs/fs-writeback.c 37 additions, 11 deletionsfs/fs-writeback.c
- fs/sync.c 1 addition, 1 deletionfs/sync.c
- include/linux/backing-dev.h 1 addition, 1 deletioninclude/linux/backing-dev.h
- include/linux/writeback.h 10 additions, 0 deletionsinclude/linux/writeback.h
- mm/page-writeback.c 2 additions, 2 deletionsmm/page-writeback.c
Loading
Please register or sign in to comment