summaryrefslogtreecommitdiffstats
path: root/drivers/staging/zcache
diff options
context:
space:
mode:
authorDan Magenheimer2013-01-23 22:46:30 +0100
committerGreg Kroah-Hartman2013-01-25 20:26:26 +0100
commite49ee36d2477e405da1fe0e6efbf4c122df3b300 (patch)
treec951f89690077925c5e03f7939fa0255c3dd6a49 /drivers/staging/zcache
parentstaging:ozwpan: Change email address. (diff)
downloadkernel-qcow2-linux-e49ee36d2477e405da1fe0e6efbf4c122df3b300.tar.gz
kernel-qcow2-linux-e49ee36d2477e405da1fe0e6efbf4c122df3b300.tar.xz
kernel-qcow2-linux-e49ee36d2477e405da1fe0e6efbf4c122df3b300.zip
staging: zcache: fix ppc64 and other arches where PAGE_SIZE!=4K
Replace raw constant 12 with PAGE_SHIFT to fix non-x86 arches and provoke build failure if PAGE_SHIFT is too big Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/zcache')
-rw-r--r--drivers/staging/zcache/zbud.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/staging/zcache/zbud.c b/drivers/staging/zcache/zbud.c
index a7c436127aa1..6835fab5d116 100644
--- a/drivers/staging/zcache/zbud.c
+++ b/drivers/staging/zcache/zbud.c
@@ -103,8 +103,8 @@ struct zbudpage {
struct {
unsigned long space_for_flags;
struct {
- unsigned zbud0_size:12;
- unsigned zbud1_size:12;
+ unsigned zbud0_size: PAGE_SHIFT;
+ unsigned zbud1_size: PAGE_SHIFT;
unsigned unevictable:2;
};
struct list_head budlist;
@@ -112,6 +112,9 @@ struct zbudpage {
};
};
};
+#if (PAGE_SHIFT * 2) + 2 > BITS_PER_LONG
+#error "zbud won't work for this arch, PAGE_SIZE is too large"
+#endif
struct zbudref {
union {