UBIFS: fix assertions
I introduce wrong assertions in one of the previous commits, this
patch fixes them.
Also, initialize debugfs after the debugging check. This is a little
nicer because we want the FS data to be accessible to external users
after everything has been initialized.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index fd7fc7f..dbfc8871 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -1320,20 +1320,21 @@
else {
c->need_recovery = 0;
ubifs_msg("recovery completed");
+ /* GC LEB has to be empty and taken at this point */
+ ubifs_assert(c->lst.taken_empty_lebs == 1);
}
- }
-
- err = dbg_debugfs_init_fs(c);
- if (err)
- goto out_infos;
+ } else
+ ubifs_assert(c->lst.taken_empty_lebs == 1);
err = dbg_check_filesystem(c);
if (err)
goto out_infos;
+ err = dbg_debugfs_init_fs(c);
+ if (err)
+ goto out_infos;
+
c->always_chk_crc = 0;
- /* GC LEB has to be empty and taken at this point */
- ubifs_assert(c->lst.taken_empty_lebs == 1);
ubifs_msg("mounted UBI device %d, volume %d, name \"%s\"",
c->vi.ubi_num, c->vi.vol_id, c->vi.name);
@@ -1663,7 +1664,7 @@
int i, err;
ubifs_assert(!c->need_recovery);
- ubifs_assert(!c->ro_media);
+ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY));
commit_on_unmount(c);
mutex_lock(&c->umount_mutex);