Accepting request 90088 from filesystems

- 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 (forwarded request 90070 from k0da)

OBS-URL: https://build.opensuse.org/request/show/90088
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/squashfs?expand=0&rev=20
This commit is contained in:
Stephan Kulow 2011-11-07 13:31:54 +00:00 committed by Git OBS Bridge
commit 71eab8aa3b
3 changed files with 38 additions and 0 deletions

24
squashfs-64k.patch Normal file
View File

@ -0,0 +1,24 @@
--- 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);

View File

@ -1,4 +1,16 @@
-------------------------------------------------------------------
Thu Nov 3 19:00:03 UTC 2011 - dvaleev@suse.com
- 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
-------------------------------------------------------------------
Tue May 24 16:41:14 CEST 2011 - dimstar@opensuse.org

View File

@ -26,6 +26,7 @@ Supplements: filesystem(squashfs)
Version: 4.2
Release: 1
Source0: %{name}%{version}.tar.gz
Patch0: squashfs-64k.patch
Url: http://squashfs.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: A Read-Only File System with Efficient Compression
@ -36,6 +37,7 @@ squashfs images.
%prep
%setup -n squashfs%{version}
%patch0
%build
sed -i -e "s,-O2,%{optflags}," squashfs-tools/Makefile