[PATCH] squashfs broken when pageszie > blocksize

Doug Chapman doug.chapman at hp.com
Tue Apr 14 12:18:40 UTC 2009


Not sure if we are too late for F11 on this or not but this patch
is needed to be able to mount squashfs (as used by anaconda) on
ia64.  Our goal is to be able to build Fedora on ia64 with no
custom SRPMs so it would be appreciated if this could be pulled
in.

--------------------

Squashfs is broken on any system where the pageszie is larger than either
the block size of the squashfs image or larger than the metadata size (8192).
This is easily fixed by ensuring cache->pages is always > 0.

Signed-off-by: Doug Chapman <doug.chapman at hp.com>
Cc: Phillip Lougher <phillip at lougher.demon.co.uk>

---
diff --git a/fs/squashfs/cache.c b/fs/squashfs/cache.c
index 1c4739e..40c98fa 100644
--- a/fs/squashfs/cache.c
+++ b/fs/squashfs/cache.c
@@ -252,6 +252,7 @@ struct squashfs_cache *squashfs_cache_init(char *name, int entries,
 	cache->entries = entries;
 	cache->block_size = block_size;
 	cache->pages = block_size >> PAGE_CACHE_SHIFT;
+	cache->pages = cache->pages ? cache->pages : 1;
 	cache->name = name;
 	cache->num_waiters = 0;
 	spin_lock_init(&cache->lock);





More information about the Fedora-kernel-list mailing list