Btrfs: fixup dbfile perms
[linux-2.6-block.git] / fs / btrfs / kerncompat.h
CommitLineData
4920c9ac
CM
1#ifndef __KERNCOMPAT
2#define __KERNCOMPAT
3#define gfp_t int
4#define get_cpu_var(p) (p)
5#define __get_cpu_var(p) (p)
6#define BITS_PER_LONG 64
7#define __GFP_BITS_SHIFT 20
8#define __GFP_BITS_MASK ((int)((1 << __GFP_BITS_SHIFT) - 1))
eb60ceac 9#define GFP_KERNEL 0
4920c9ac
CM
10#define __read_mostly
11#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
12#define __force
13#define PAGE_SHIFT 12
14#define ULONG_MAX (~0UL)
15#define BUG() abort()
16
17typedef unsigned int u32;
18typedef unsigned long u64;
19typedef unsigned char u8;
20typedef unsigned short u16;
21
22typedef unsigned long pgoff_t;
23
24#include <stdio.h>
25#include <stdlib.h>
26#include <string.h>
27
28struct vma_shared { int prio_tree_node; };
29struct vm_area_struct {
30 unsigned long vm_pgoff;
31 unsigned long vm_start;
32 unsigned long vm_end;
33 struct vma_shared shared;
34};
35
36struct page {
37 unsigned long index;
38};
39
40static inline void preempt_enable(void) { do {; } while(0);}
41static inline void preempt_disable(void) { do {; } while(0);}
42
43static inline void __set_bit(int bit, unsigned long *map) {
44 unsigned long *p = map + bit / BITS_PER_LONG;
45 bit = bit & (BITS_PER_LONG -1);
46 *p |= 1UL << bit;
47}
48
49static inline int test_bit(int bit, unsigned long *map) {
50 unsigned long *p = map + bit / BITS_PER_LONG;
51 bit = bit & (BITS_PER_LONG -1);
52 return *p & (1UL << bit) ? 1 : 0;
53}
54
55static inline void __clear_bit(int bit, unsigned long *map) {
56 unsigned long *p = map + bit / BITS_PER_LONG;
57 bit = bit & (BITS_PER_LONG -1);
58 *p &= ~(1UL << bit);
59}
60#define BUG_ON(c) do { if (c) abort(); } while (0)
61
62#define container_of(ptr, type, member) ({ \
63 const typeof( ((type *)0)->member ) *__mptr = (ptr); \
64 (type *)( (char *)__mptr - __builtin_offsetof(type,member) );})
65
66#endif
67
68#define ENOMEM 5
69#define EEXIST 6