f2fs: avoid race in between GC and block exchange
authorChao Yu <yuchao0@huawei.com>
Fri, 3 Nov 2017 02:21:05 +0000 (10:21 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 19 Dec 2017 03:38:29 +0000 (19:38 -0800)
commit3b96799dba53d41dd6f3117b6d3bdd32ed08ae41
treefeae56f87fcc0eb74d37dab1d097a4b6b545d4de
parentc33a70d7192db2aa037d957e353796ad38539c88
f2fs: avoid race in between GC and block exchange

During block exchange in {insert,collapse,move}_range, page-block mapping
is unstable due to mapping moving or recovery, so there should be no
concurrent cache read operation rely on such mapping, nor cache write
operation to mess up block exchange.

So this patch let background GC be aware of that.

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