diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 700c39ec99f5a71ae56d05621d8ffa5f1f714d11..f4f7b8feebefc7268caec840e6c925f3f11c9ef5 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -953,7 +953,8 @@ static void gc_data_segment(struct f2fs_sb_info *sbi, struct f2fs_summary *sum, if (phase == 3) { inode = f2fs_iget(sb, dni.ino); - if (IS_ERR(inode) || is_bad_inode(inode)) + if (IS_ERR(inode) || is_bad_inode(inode) || + special_file(inode->i_mode)) continue; if (!down_write_trylock(