diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-10-08 10:19:28 +0900 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-10-08 10:19:28 +0900 |
commit | ccaaca25919a2cdeccd8fdce5f546e3ed7f6a9e9 (patch) | |
tree | 225d4bc2a01b6e6331081754af1beb9875ea34be /fs/f2fs/inode.c | |
parent | 5887d291d792773368f6eaf1759aad109bcd78eb (diff) | |
download | linux-ccaaca25919a2cdeccd8fdce5f546e3ed7f6a9e9.tar.gz |
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 'fs/f2fs/inode.c')
0 files changed, 0 insertions, 0 deletions