linux/fs/f2fs
Yunlong Song 2c1905042c f2fs: check segment type in __f2fs_replace_block
In some case, the node blocks has wrong blkaddr whose segment type is
NODE, e.g., recover inode has missing xattr flag and the blkaddr is in
the xattr range. Since fsck.f2fs does not check the recovery nodes, this
will cause __f2fs_replace_block change the curseg of node and do the
update_sit_entry(sbi, new_blkaddr, 1) with no next_blkoff refresh, as a
result, when recovery process write checkpoint and sync nodes, the
next_blkoff of curseg is used in the segment bit map, then it will
cause f2fs_bug_on. So let's check segment type in __f2fs_replace_block.

Signed-off-by: Yunlong Song <yunlong.song@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2018-01-16 15:39:57 -08:00
..
acl.c posix_acl: convert posix_acl.a_refcount from atomic_t to refcount_t 2018-01-02 19:27:28 -08:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: inject fault to kzalloc 2018-01-02 19:27:29 -08:00
data.c f2fs: continue to do direct IO if we only preallocate partial blocks 2018-01-03 22:48:33 -08:00
debug.c f2fs: inject fault to kzalloc 2018-01-02 19:27:29 -08:00
dir.c f2fs: recover directory operations by fsync 2018-01-02 19:27:31 -08:00
extent_cache.c f2fs: fix a bug caused by NULL extent tree 2017-05-23 21:07:18 -07:00
f2fs.h f2fs: clean up unneeded declaration 2018-01-03 22:48:34 -08:00
file.c f2fs: recover directory operations by fsync 2018-01-02 19:27:31 -08:00
gc.c Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00
gc.h f2fs: fix potential overflow when adjusting GC cycle 2017-08-15 10:40:14 -07:00
hash.c f2fs: check entire encrypted bigname when finding a dentry 2017-05-04 11:44:35 -04:00
inline.c f2fs: enhance multiple device flush 2017-10-10 12:49:53 -07:00
inode.c f2fs: fix an error case of missing update inode page 2018-01-02 19:27:31 -08:00
Kconfig f2fs: add mount option to select fault injection ratio 2016-05-07 10:32:22 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namei.c f2fs: recover directory operations by fsync 2018-01-02 19:27:31 -08:00
node.c f2fs: update inode info to inode page for new file 2018-01-16 15:39:56 -08:00
node.h f2fs: limit # of inmemory pages 2017-10-26 10:44:21 +02:00
recovery.c f2fs: remove unused parameter 2018-01-02 19:27:27 -08:00
segment.c f2fs: check segment type in __f2fs_replace_block 2018-01-16 15:39:57 -08:00
segment.h f2fs: return error during fill_super 2018-01-02 19:27:31 -08:00
shrinker.c f2fs: obsolete ALLOC_NID_LIST list 2017-10-10 12:49:53 -07:00
super.c f2fs: show precise # of blocks that user/root can use 2018-01-16 15:39:55 -08:00
sysfs.c f2fs: introduce sysfs readdir_ra to readahead inode block in readdir 2018-01-02 19:27:27 -08:00
trace.c f2fs: fix potential hangtask in f2fs_trace_pid 2018-01-02 19:27:30 -08:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c f2fs: fix missing error number for xattr operation 2018-01-02 19:27:31 -08:00
xattr.h f2fs: guard macro variables with braces 2017-04-10 19:48:10 -07:00