Browse Source

kernel: mtdsplit_squashfs: Align with the erase-block size

On most image types the rootfs ends at an erase-block. However, at least
with brnImages this is not the case: while the partitions are aligned
with the erase-block size there is a 12 byte footer at the end of the
partition which must not be touched by any filesystem. This lead to a
rootfs_data partition which was not aligned properly (and thus ended up
being readonly):
	0x000000480000-0x00000085a800 : "rootfs_data" (128 KiB EB)

Signed-off-by: Martin Blumenstingl <[email protected]>

SVN-Revision: 48263
Felix Fietkau 9 years ago
parent
commit
7703e14bc4

+ 1 - 1
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_squashfs.c

@@ -49,7 +49,7 @@ mtdsplit_parse_squashfs(struct mtd_info *master,
 	part->name = ROOTFS_SPLIT_NAME;
 	part->offset = mtd_roundup_to_eb(part_offset + squashfs_len,
 					 parent_mtd) - part_offset;
-	part->size = master->size - part->offset;
+	part->size = mtd_rounddown_to_eb(master->size - part->offset, master);
 
 	*pparts = part;
 	return 1;