[squashfs-tools/f12/master] Backport fix for 618020 (large inode issue) from 4.1.

Bruno Wolff III bruno at fedoraproject.org
Mon Aug 16 14:06:49 UTC 2010


commit edffb5cbe26e8a2c66e10296252f954f1e19925d
Author: Bruno Wolff III <bruno at wolff.to>
Date:   Sat Aug 14 14:59:41 2010 -0500

    Backport fix for 618020 (large inode issue) from 4.1.

 squashfs-large-inode.patch |   20 ++++++++++++++++++++
 squashfs-tools.spec        |    7 ++++++-
 2 files changed, 26 insertions(+), 1 deletions(-)
---
diff --git a/squashfs-large-inode.patch b/squashfs-large-inode.patch
new file mode 100644
index 0000000..cf18ef4
--- /dev/null
+++ b/squashfs-large-inode.patch
@@ -0,0 +1,20 @@
+--- squashfs-tools/mksquashfs.c.orig	2009-04-05 16:22:48.000000000 -0500
++++ squashfs-tools/mksquashfs.c	2010-08-14 14:07:28.000000000 -0500
+@@ -938,7 +938,7 @@
+ 			(unsigned short *) (inode_table + inode_bytes), 1);
+ 		inode_bytes += SQUASHFS_COMPRESSED_SIZE(c_byte) + BLOCK_OFFSET;
+ 		total_inode_bytes += SQUASHFS_METADATA_SIZE + BLOCK_OFFSET;
+-		memcpy(data_cache, data_cache + SQUASHFS_METADATA_SIZE,
++		memmove(data_cache, data_cache + SQUASHFS_METADATA_SIZE,
+ 			cache_bytes - SQUASHFS_METADATA_SIZE);
+ 		cache_bytes -= SQUASHFS_METADATA_SIZE;
+ 	}
+@@ -1579,7 +1579,7 @@
+ 		directory_bytes += SQUASHFS_COMPRESSED_SIZE(c_byte) +
+ 			BLOCK_OFFSET;
+ 		total_directory_bytes += SQUASHFS_METADATA_SIZE + BLOCK_OFFSET;
+-		memcpy(directory_data_cache, directory_data_cache +
++		memmove(directory_data_cache, directory_data_cache +
+ 			SQUASHFS_METADATA_SIZE, directory_cache_bytes -
+ 			SQUASHFS_METADATA_SIZE);
+ 		directory_cache_bytes -= SQUASHFS_METADATA_SIZE;
diff --git a/squashfs-tools.spec b/squashfs-tools.spec
index 700706e..a0eb2d6 100644
--- a/squashfs-tools.spec
+++ b/squashfs-tools.spec
@@ -2,13 +2,14 @@ Summary: Utility for the creation of squashfs filesystems
 Name: squashfs-tools
 Version: 4.0
 # cvs snapshot from cvs -d:pserver:anonymous at squashfs.cvs.sourceforge.net:/cvsroot/squashfs co squashfs on 2009-01-25
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 URL: http://squashfs.sf.net
 Source0: squashfs-4.0.tar.bz2
 Patch0: squashfs-cflags.patch
 Patch1: squashfs-fix-unsquashing-v3.patch
+Patch2: squashfs-large-inode.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: zlib-devel
 
@@ -20,6 +21,7 @@ contains the utilities for manipulating squashfs filesystems.
 %setup -q -n squashfs
 %patch0 -p1 -b .cflags
 %patch1 -p1 -b .fix-unsquashing-v3
+%patch2
 
 %build
 pushd squashfs-tools
@@ -42,6 +44,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_sbindir}/unsquashfs
 
 %changelog
+* Sat Aug 14 2010 Bruno Wolff III <bruno at wolff.to> 4.0-4
+- Backport fix for 619020 (large inode issue) from 4.1
+
 * Wed May 5 2010 Kyle McMartin <kyle at redhat.com> 4.0-3
 - squashfs-fix-unsquashing-v3.patch: pull in fix from cvs. Thanks pkl!
   (rhbz#523504)


More information about the scm-commits mailing list