path: root/kerncompat.h
diff options
authorEric Sandeen <>2013-02-03 10:34:27 -0700
committerChris Mason <>2013-02-03 12:39:16 -0500
commit5ffe6597e708d74c02d72d79ebb4a8fd2181e227 (patch)
tree1205bfca04a0a1892f3101a46d1f10653597db01 /kerncompat.h
parent4d48b96b280a76f29eb5d5f1578559932f551b2d (diff)
btrfs-progs: include kerncompat.h in raid6.c, define __attribute_const__
raid6.c was failing to build for Goffredo and me due to __attribute_const__ being undefined. Define it in kerncompat.h and include that; this also makes sure BITS_PER_LONG is defined for raid6.c, prior to this it was not defined, at least in my build. Finally, redefine BITS_PER_LONG in a way that it can be tested in the preprocessor macro. Signed-off-by: Eric Sandeen <> Signed-off-by: Chris Mason <>
Diffstat (limited to 'kerncompat.h')
1 files changed, 5 insertions, 1 deletions
diff --git a/kerncompat.h b/kerncompat.h
index d60f7222..28b9799d 100644
--- a/kerncompat.h
+++ b/kerncompat.h
@@ -36,7 +36,7 @@
#define gfp_t int
#define get_cpu_var(p) (p)
#define __get_cpu_var(p) (p)
-#define BITS_PER_LONG (sizeof(long) * 8)
+#define BITS_PER_LONG (__SIZEOF_LONG__ * 8)
#define __GFP_BITS_SHIFT 20
#define __GFP_BITS_MASK ((int)((1 << __GFP_BITS_SHIFT) - 1))
#define GFP_KERNEL 0
@@ -126,6 +126,10 @@ static inline int mutex_is_locked(struct mutex *m)
#define BITOP_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
#define BITOP_WORD(nr) ((nr) / BITS_PER_LONG)
+#ifndef __attribute_const__
+#define __attribute_const__ __attribute__((__const__))
* __set_bit - Set a bit in memory
* @nr: the bit to set