f2fs: add a rw_sem to cover quota flag changes
authorJaegeuk Kim <jaegeuk@kernel.org>
Wed, 29 May 2019 17:58:45 +0000 (10:58 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 2 Jul 2019 22:40:41 +0000 (15:40 -0700)
commitdb6ec53b7e0320c8fad27e9a816e50080154bd51
tree0d8860ebf1d7cf5132e47ce36c510905807563ca
parentc83414aedf369a40b825b0e254d9b36dae17aa66
f2fs: add a rw_sem to cover quota flag changes

Two paths to update quota and f2fs_lock_op:

1.
 - lock_op
 |  - quota_update
 `- unlock_op

2.
 - quota_update
 - lock_op
 `- unlock_op

But, we need to make a transaction on quota_update + lock_op in #2 case.
So, this patch introduces:
1. lock_op
2. down_write
3. check __need_flush
4. up_write
5. if there is dirty quota entries, flush them
6. otherwise, good to go

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/f2fs.h
fs/f2fs/super.c