diff options
author | Doug Chapman <doug.chapman@hp.com> | 2009-05-13 02:56:39 +0100 |
---|---|---|
committer | Phillip Lougher <phillip@lougher.demon.co.uk> | 2009-05-13 02:56:39 +0100 |
commit | a37b06d589f2c687a38d07569f4ef97c650fde39 (patch) | |
tree | 596689185fb6ca381e185815a3f3179902cab9ba /fs/squashfs | |
parent | 1d80cac0fe44fb87b2a3d35fddd7f534ea81cd90 (diff) | |
download | lwn-a37b06d589f2c687a38d07569f4ef97c650fde39.tar.gz lwn-a37b06d589f2c687a38d07569f4ef97c650fde39.zip |
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>
Diffstat (limited to 'fs/squashfs')
-rw-r--r-- | fs/squashfs/cache.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/squashfs/cache.c b/fs/squashfs/cache.c index 1c4739e33af6..40c98fa6b5d6 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); |