diff options
author | 2013-10-08 10:19:28 +0900 | |
---|---|---|
committer | 2013-10-08 10:19:28 +0900 | |
commit | ccaaca25919a2cdeccd8fdce5f546e3ed7f6a9e9 (patch) | |
tree | 225d4bc2a01b6e6331081754af1beb9875ea34be /tools/perf/scripts/python/export-to-postgresql.py | |
parent | f2fs: avoid unnecessary checkpoints (diff) | |
download | linux-dev-ccaaca25919a2cdeccd8fdce5f546e3ed7f6a9e9.tar.xz linux-dev-ccaaca25919a2cdeccd8fdce5f546e3ed7f6a9e9.zip |
f2fs: fix writing incorrect orphan blocks
Previously, there was a erroneous scenario like below.
thread 1: thread 2:
f2fs_unlink
- acquire_orphan_inode
: sbi->n_orphans++ write_checkpoint
- block_operations
: f2fs_lock_all
- do_checkpoint
: write orphan blocks with sbi->n_orphans
- unblock_operations
- f2fs_lock_op
- release_orphan_inode
- f2fs_unlock_op
During the checkpoint by thread 2, f2fs stores a wrong orphan block according
to the wrong sbi->n_orphans.
To avoid this, simply we should make cover acquire_orphan_inode too with
f2fs_lock_op.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions