UBIFS: fix bogus assertion
Empty journal head LEBs are accounted as taken empty as well, so the GC LEB does not have to be the only taken empty LEB when nounting/remounting. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
@@ -1318,11 +1318,15 @@ static int mount_ubifs(struct ubifs_info *c)
|
|||||||
else {
|
else {
|
||||||
c->need_recovery = 0;
|
c->need_recovery = 0;
|
||||||
ubifs_msg("recovery completed");
|
ubifs_msg("recovery completed");
|
||||||
/* GC LEB has to be empty and taken at this point */
|
/*
|
||||||
ubifs_assert(c->lst.taken_empty_lebs == 1);
|
* GC LEB has to be empty and taken at this point. But
|
||||||
|
* the journal head LEBs may also be accounted as
|
||||||
|
* "empty taken" if they are empty.
|
||||||
|
*/
|
||||||
|
ubifs_assert(c->lst.taken_empty_lebs > 0);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
ubifs_assert(c->lst.taken_empty_lebs == 1);
|
ubifs_assert(c->lst.taken_empty_lebs > 0);
|
||||||
|
|
||||||
err = dbg_check_filesystem(c);
|
err = dbg_check_filesystem(c);
|
||||||
if (err)
|
if (err)
|
||||||
@@ -1775,7 +1779,7 @@ static int ubifs_remount_fs(struct super_block *sb, int *flags, char *data)
|
|||||||
c->bu.buf = NULL;
|
c->bu.buf = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ubifs_assert(c->lst.taken_empty_lebs == 1);
|
ubifs_assert(c->lst.taken_empty_lebs > 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user