diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-06-03 00:15:56 +0300 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-06-07 19:45:40 +0300 |
commit | 1e7c48fa9a34556639328d50780d12a304e0bb6d (patch) | |
tree | 9a974e4a957ecd15d9d87888e673fe0d6b864f6f /fs/f2fs/node.h | |
parent | 9a449e9c3b34ef3f7029bd966f98cbbfccd144e5 (diff) | |
download | linux-1e7c48fa9a34556639328d50780d12a304e0bb6d.tar.xz |
f2fs: avoid data race between FI_DIRTY_INODE flag and update_inode
FI_DIRTY_INODE flag is not covered by inode page lock, so it can be unset
at any time like below.
Thread #1 Thread #2
- lock_page(ipage)
- update i_fields
- update i_size/i_blocks/and so on
- set FI_DIRTY_INODE
- reset FI_DIRTY_INODE
- set_page_dirty(ipage)
In this case, we can lose the latest i_field information.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/node.h')
0 files changed, 0 insertions, 0 deletions