projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bde582b
)
f2fs: recover when journal contains deleted files
author
Chris Fries
<
[email protected]
>
Thu, 2 May 2013 21:09:05 +0000
(16:09 -0500)
committer
Jaegeuk Kim
<
[email protected]
>
Wed, 8 May 2013 10:54:20 +0000
(19:54 +0900)
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 <
[email protected]
>
Reviewed-by: Russell Knize <
[email protected]
>
Reviewed-by: Jason Hrycay <
[email protected]
>
[Jaegeuk Kim: fit the coding style]
Signed-off-by: Jaegeuk Kim <
[email protected]
>
fs/f2fs/recovery.c
patch
|
blob
|
history
diff --git
a/fs/f2fs/recovery.c
b/fs/f2fs/recovery.c
index f16d12df8e990375f17e1a9975c573dc429f297c..60c8a5097058f02e02c28979dad759a7d734438a 100644
(file)
--- a/
fs/f2fs/recovery.c
+++ b/
fs/f2fs/recovery.c
@@
-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));
if (IS_ERR(dir)) {
- err =
-EINVAL
;
+ err =
PTR_ERR(dir)
;
goto out;
}
@@
-156,8
+156,12
@@
static int find_fsync_dnodes(struct f2fs_sb_info *sbi, struct list_head *head)
}
if (IS_INODE(page)) {
err = recover_inode(entry->inode, page);
- if (err)
+ if (err == -ENOENT) {
+ goto next;
+ } else if (err) {
+ err = -EINVAL;
goto unlock_out;
+ }
}
next:
/* check next segment */