summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2018-09-27 18:33:18 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2018-10-27 11:57:55 -0700
commita84324083292e3c923fad16668f5039f4d4af5c4 (patch)
tree29a83ca92cc7d1b2bb74cdb559e5d809124f1364 /tools/perf/scripts/python/export-to-postgresql.py
parentdbb428fbbb59fae08b01fc14d98d320d448877e0 (diff)
f2fs: refactor ->page_mkwrite() flow
Thread A Thread B - f2fs_vm_page_mkwrite - f2fs_setattr - down_write(i_mmap_sem) - truncate_setsize - f2fs_truncate - up_write(i_mmap_sem) - f2fs_reserve_block reserve NEW_ADDR - skip dirty page due to truncation 1. we don't need to rserve new block address for a truncated page. 2. dn.data_blkaddr is used out of node page lock coverage. Refactor ->page_mkwrite() flow to fix above issues: - use __do_map_lock() to avoid racing checkpoint() - lock data page in prior to dnode page - cover f2fs_reserve_block with i_mmap_sem lock - wait page writeback before zeroing page Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions