forked from mirrors/linux
This pull request contains the following fixes for JFFS2 and UBIFS:
JFFS2: - Correctly check return code of jffs2_prealloc_raw_node_refs() UBIFS: - Spelling fixes -----BEGIN PGP SIGNATURE----- iQJKBAABCAA0FiEEdgfidid8lnn52cLTZvlZhesYu8EFAmhD0qQWHHJpY2hhcmRA c2lnbWEtc3Rhci5hdAAKCRBm+VmF6xi7wclID/9UaXAATiKVBDJwZvpgYoLMO8Gm xBJkVQCAOl7IqBliA4/VN7YZEDhKWZh9s1U1jD0UvNJGsSewpObmamI4kkdPTg2K pEyosATBzQT6IDQ6J6h1GCfv0l4YzNK7wKbumHc1jxGMoDY/m6JMEvZHUuOIvGBy YGppNOL7kPtxKWGJtq1KX2/8ivg5BiUIodjtgLrb/pO7BHDxqB0YabP3DXfsRfmG kaACZRBSLxw+AWlAarYdE/0eCvMCSHcxVYS9xhpE2zJa8SLESxV1EQxcZwf3XXsb rKlC8jM31nMWGgEDBHDYHLebz2Hynv+WgwYX+Um7Rt0Dx2EhYg/waCfVg8hb8owU GzAxQrVNucmCldUoqfirt05g2HVegD/fePCGRqpyqevlMOVQRHKO5QXh04bUH/ly 718aRaL+j4vBFnvYJ59oaBBBNBCuAH0IDg64P7ijhgMAFTibRcj0YCvtBIWPrzLE 30vAk8bjvxLXOxy/VuHjfhbSV2YfTyLKJ1XQ6Mvsl+lGiTNIZSPCbvnO3npgqNxf IaHjWQTKlrJwRpv30u4ZrNIaSRw4ZDIdHkoJkuJoFRekmb0NkBQnIJhpB7da+uP7 VxB2dfHBFKgU50t3MbPl9KAjt4/cciWn4cE7uDJ7jSuvzot4Mr7IQ5ZURrLesZFf tlDYg/MSp0mHecAfZw== =tbHc -----END PGP SIGNATURE----- Merge tag 'ubifs-for-linus-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs Pull JFFS2 and UBIFS fixes from Richard Weinberger: "JFFS2: - Correctly check return code of jffs2_prealloc_raw_node_refs() UBIFS: - Spelling fixes" * tag 'ubifs-for-linus-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs: jffs2: check jffs2_prealloc_raw_node_refs() result in few other places jffs2: check that raw node were preallocated before writing summary ubifs: Fix grammar in error message
This commit is contained in:
commit
5b032cac62
4 changed files with 13 additions and 4 deletions
|
|
@ -425,7 +425,9 @@ static void jffs2_mark_erased_block(struct jffs2_sb_info *c, struct jffs2_eraseb
|
||||||
.totlen = cpu_to_je32(c->cleanmarker_size)
|
.totlen = cpu_to_je32(c->cleanmarker_size)
|
||||||
};
|
};
|
||||||
|
|
||||||
jffs2_prealloc_raw_node_refs(c, jeb, 1);
|
ret = jffs2_prealloc_raw_node_refs(c, jeb, 1);
|
||||||
|
if (ret)
|
||||||
|
goto filebad;
|
||||||
|
|
||||||
marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));
|
marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -256,7 +256,9 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): Skipping %d bytes in nextblock to ensure page alignment\n",
|
jffs2_dbg(1, "%s(): Skipping %d bytes in nextblock to ensure page alignment\n",
|
||||||
__func__, skip);
|
__func__, skip);
|
||||||
jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);
|
ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);
|
||||||
|
if (ret)
|
||||||
|
goto out;
|
||||||
jffs2_scan_dirty_space(c, c->nextblock, skip);
|
jffs2_scan_dirty_space(c, c->nextblock, skip);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -858,7 +858,10 @@ int jffs2_sum_write_sumnode(struct jffs2_sb_info *c)
|
||||||
spin_unlock(&c->erase_completion_lock);
|
spin_unlock(&c->erase_completion_lock);
|
||||||
|
|
||||||
jeb = c->nextblock;
|
jeb = c->nextblock;
|
||||||
jffs2_prealloc_raw_node_refs(c, jeb, 1);
|
ret = jffs2_prealloc_raw_node_refs(c, jeb, 1);
|
||||||
|
|
||||||
|
if (ret)
|
||||||
|
goto out;
|
||||||
|
|
||||||
if (!c->summary->sum_num || !c->summary->sum_list_head) {
|
if (!c->summary->sum_num || !c->summary->sum_list_head) {
|
||||||
JFFS2_WARNING("Empty summary info!!!\n");
|
JFFS2_WARNING("Empty summary info!!!\n");
|
||||||
|
|
@ -872,6 +875,8 @@ int jffs2_sum_write_sumnode(struct jffs2_sb_info *c)
|
||||||
datasize += padsize;
|
datasize += padsize;
|
||||||
|
|
||||||
ret = jffs2_sum_write_data(c, jeb, infosize, datasize, padsize);
|
ret = jffs2_sum_write_data(c, jeb, infosize, datasize, padsize);
|
||||||
|
|
||||||
|
out:
|
||||||
spin_lock(&c->erase_completion_lock);
|
spin_lock(&c->erase_completion_lock);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -985,7 +985,7 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
|
||||||
dbg_jnl("ino %lu, nlink %u", inode->i_ino, inode->i_nlink);
|
dbg_jnl("ino %lu, nlink %u", inode->i_ino, inode->i_nlink);
|
||||||
|
|
||||||
if (kill_xattrs && ui->xattr_cnt > ubifs_xattr_max_cnt(c)) {
|
if (kill_xattrs && ui->xattr_cnt > ubifs_xattr_max_cnt(c)) {
|
||||||
ubifs_err(c, "Cannot delete inode, it has too much xattrs!");
|
ubifs_err(c, "Cannot delete inode, it has too many xattrs!");
|
||||||
err = -EPERM;
|
err = -EPERM;
|
||||||
ubifs_ro_mode(c, err);
|
ubifs_ro_mode(c, err);
|
||||||
return err;
|
return err;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue