--- x/fs/f2fs/gc.c +++ y/fs/f2fs/gc.c @@ -955,7 +955,8 @@ static int check_valid_map(struct f2fs_s struct seg_entry *sentry; int ret; - down_read(&sit_i->sentry_lock); + if (!down_read_trylock(&sit_i->sentry_lock)) + return 0; sentry = get_seg_entry(sbi, segno); ret = f2fs_test_bit(offset, sentry->cur_valid_map); up_read(&sit_i->sentry_lock);