|
@@ -1737,8 +1737,11 @@ static void ubifs_remount_ro(struct ubifs_info *c)
|
|
|
|
|
|
dbg_save_space_info(c);
|
|
|
|
|
|
- for (i = 0; i < c->jhead_cnt; i++)
|
|
|
- ubifs_wbuf_sync(&c->jheads[i].wbuf);
|
|
|
+ for (i = 0; i < c->jhead_cnt; i++) {
|
|
|
+ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
|
|
|
+ if (err)
|
|
|
+ ubifs_ro_mode(c, err);
|
|
|
+ }
|
|
|
|
|
|
c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_DIRTY);
|
|
|
c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
|
|
@@ -1804,8 +1807,11 @@ static void ubifs_put_super(struct super_block *sb)
|
|
|
int err;
|
|
|
|
|
|
/* Synchronize write-buffers */
|
|
|
- for (i = 0; i < c->jhead_cnt; i++)
|
|
|
- ubifs_wbuf_sync(&c->jheads[i].wbuf);
|
|
|
+ for (i = 0; i < c->jhead_cnt; i++) {
|
|
|
+ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
|
|
|
+ if (err)
|
|
|
+ ubifs_ro_mode(c, err);
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
|
* We are being cleanly unmounted which means the
|