diff options
Diffstat (limited to 'fs/ubifs/orphan.c')
-rw-r--r-- | fs/ubifs/orphan.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/ubifs/orphan.c b/fs/ubifs/orphan.c index 152a7b34a141..82009c74b6a3 100644 --- a/fs/ubifs/orphan.c +++ b/fs/ubifs/orphan.c | |||
@@ -670,9 +670,10 @@ static int kill_orphans(struct ubifs_info *c) | |||
670 | struct ubifs_scan_leb *sleb; | 670 | struct ubifs_scan_leb *sleb; |
671 | 671 | ||
672 | dbg_rcvry("LEB %d", lnum); | 672 | dbg_rcvry("LEB %d", lnum); |
673 | sleb = ubifs_scan(c, lnum, 0, c->sbuf); | 673 | sleb = ubifs_scan(c, lnum, 0, c->sbuf, 1); |
674 | if (IS_ERR(sleb)) { | 674 | if (IS_ERR(sleb)) { |
675 | sleb = ubifs_recover_leb(c, lnum, 0, c->sbuf, 0); | 675 | if (PTR_ERR(sleb) == -EUCLEAN) |
676 | sleb = ubifs_recover_leb(c, lnum, 0, c->sbuf, 0); | ||
676 | if (IS_ERR(sleb)) { | 677 | if (IS_ERR(sleb)) { |
677 | err = PTR_ERR(sleb); | 678 | err = PTR_ERR(sleb); |
678 | break; | 679 | break; |
@@ -899,7 +900,7 @@ static int dbg_scan_orphans(struct ubifs_info *c, struct check_info *ci) | |||
899 | for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) { | 900 | for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) { |
900 | struct ubifs_scan_leb *sleb; | 901 | struct ubifs_scan_leb *sleb; |
901 | 902 | ||
902 | sleb = ubifs_scan(c, lnum, 0, c->dbg->buf); | 903 | sleb = ubifs_scan(c, lnum, 0, c->dbg->buf, 0); |
903 | if (IS_ERR(sleb)) { | 904 | if (IS_ERR(sleb)) { |
904 | err = PTR_ERR(sleb); | 905 | err = PTR_ERR(sleb); |
905 | break; | 906 | break; |