f2fs: fix to avoid double unlock
authorChao Yu <yuchao0@huawei.com>
Tue, 24 Mar 2020 06:20:57 +0000 (14:20 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 31 Mar 2020 03:46:25 +0000 (20:46 -0700)
commit74878565fbbf29d9be092504e87ec219e1359a43
tree63342baab26cbd938af78af60ae0bf14d63640d9
parent7653b9d87516ed65e112d2273c65eca6f97d0a27
f2fs: fix to avoid double unlock

On image that has verity and compression feature, if compressed pages
and non-compressed pages are mixed in one bio, we may double unlock
non-compressed page in below flow:

- f2fs_post_read_work
 - f2fs_decompress_work
  - f2fs_decompress_bio
   - __read_end_io
    - unlock_page
 - fsverity_enqueue_verify_work
  - f2fs_verity_work
   - f2fs_verify_bio
    - unlock_page

So it should skip handling non-compressed page in f2fs_decompress_work()
if verity is on.

Besides, add missing dec_page_count() in f2fs_verify_bio().

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c