squashfs/squashfs-64k.patch
Stephan Kulow b5b0708f8b Accepting request 90070 from home:k0da:ppc
- 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
2011-11-04 06:38:10 +00:00

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);