Browse Source

Squashfs: fix breakage when page size > metadata block size

Squashfs is broken on any system where the page size is larger than
the metadata size (8192).  This is easily fixed by ensuring cache->pages
is always > 0.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Doug Chapman <doug.chapman@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
Doug Chapman 16 years ago
parent
commit
a37b06d589
1 changed files with 1 additions and 0 deletions
  1. 1 0
      fs/squashfs/cache.c

+ 1 - 0
fs/squashfs/cache.c

@@ -252,6 +252,7 @@ struct squashfs_cache *squashfs_cache_init(char *name, int entries,
 	cache->entries = entries;
 	cache->entries = entries;
 	cache->block_size = block_size;
 	cache->block_size = block_size;
 	cache->pages = block_size >> PAGE_CACHE_SHIFT;
 	cache->pages = block_size >> PAGE_CACHE_SHIFT;
+	cache->pages = cache->pages ? cache->pages : 1;
 	cache->name = name;
 	cache->name = name;
 	cache->num_waiters = 0;
 	cache->num_waiters = 0;
 	spin_lock_init(&cache->lock);
 	spin_lock_init(&cache->lock);