summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Magenheimer <dan.magenheimer@oracle.com>2013-01-23 13:46:30 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-25 11:26:26 -0800
commite49ee36d2477e405da1fe0e6efbf4c122df3b300 (patch)
treec951f89690077925c5e03f7939fa0255c3dd6a49
parentc4048c641ad7769e4197ff114eaab01f4662cbca (diff)
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>
-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 {