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:
Artem Bityutskiy
2009-03-15 17:20:22 +02:00
parent f55aa59106
commit b221337ae4

View File

@@ -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;
} }