f2fs: recover when journal contains deleted files
When recovering a journal file with fsync data for files that have been deleted, don't bail out on recovery. Signed-off-by: Chris Fries <C.Fries@motorola.com> Reviewed-by: Russell Knize <rknize2@motorola.com> Reviewed-by: Jason Hrycay <jason.hrycay@motorola.com> [Jaegeuk Kim: fit the coding style] Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>wifi-calibration
parent
bde582b225
commit
047184b42b
|
@ -53,7 +53,7 @@ static int recover_dentry(struct page *ipage, struct inode *inode)
|
||||||
|
|
||||||
dir = f2fs_iget(inode->i_sb, le32_to_cpu(raw_inode->i_pino));
|
dir = f2fs_iget(inode->i_sb, le32_to_cpu(raw_inode->i_pino));
|
||||||
if (IS_ERR(dir)) {
|
if (IS_ERR(dir)) {
|
||||||
err = -EINVAL;
|
err = PTR_ERR(dir);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,8 +156,12 @@ static int find_fsync_dnodes(struct f2fs_sb_info *sbi, struct list_head *head)
|
||||||
}
|
}
|
||||||
if (IS_INODE(page)) {
|
if (IS_INODE(page)) {
|
||||||
err = recover_inode(entry->inode, page);
|
err = recover_inode(entry->inode, page);
|
||||||
if (err)
|
if (err == -ENOENT) {
|
||||||
|
goto next;
|
||||||
|
} else if (err) {
|
||||||
|
err = -EINVAL;
|
||||||
goto unlock_out;
|
goto unlock_out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
next:
|
next:
|
||||||
/* check next segment */
|
/* check next segment */
|
||||||
|
|
Loading…
Reference in New Issue