forked from pool/squashfs
b5b0708f8b
- The ppc64 kernel uses a page size of 64kB but mksquashfs only pads to a 4kB boundary. When we loopback mount a squashfs file that isn't 64kB aligned and access the last sector of the associated loopback device we see a stream of errors. Disk partitioning tools seem to like accessing the last 512 bytes of partitions. This should fix warnings seen during starting installation on ppc64 and IA64 OBS-URL: https://build.opensuse.org/request/show/90070 OBS-URL: https://build.opensuse.org/package/show/filesystems/squashfs?expand=0&rev=11
25 lines
912 B
Diff
25 lines
912 B
Diff
--- squashfs-tools/mksquashfs.c.orig 2011-11-03 19:57:06.000000000 +0100
|
|
+++ squashfs-tools/mksquashfs.c 2011-11-03 19:58:50.000000000 +0100
|
|
@@ -4871,7 +4871,7 @@
|
|
ERROR("-force-uid uid\t\tset all file uids to uid\n");
|
|
ERROR("-force-gid gid\t\tset all file gids to gid\n");
|
|
ERROR("-nopad\t\t\tdo not pad filesystem to a multiple "
|
|
- "of 4K\n");
|
|
+ "of 64K\n");
|
|
ERROR("-keep-as-directory\tif one source directory is "
|
|
"specified, create a root\n");
|
|
ERROR("\t\t\tdirectory containing that directory, "
|
|
@@ -5339,9 +5339,9 @@
|
|
SQUASHFS_INSWAP_SUPER_BLOCK(&sBlk);
|
|
write_destination(fd, SQUASHFS_START, sizeof(sBlk), &sBlk);
|
|
|
|
- if(!nopad && (i = bytes & (4096 - 1))) {
|
|
- char temp[4096] = {0};
|
|
- write_destination(fd, bytes, 4096 - i, temp);
|
|
+ if(!nopad && (i = bytes & (65536 - 1))) {
|
|
+ char temp[65536] = {0};
|
|
+ write_destination(fd, bytes, 65536 - i, temp);
|
|
}
|
|
|
|
close(fd);
|