21 #include <linux/types.h>
27 #if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64)
28 # define XFS_BIG_BLKNOS 1
29 # define XFS_BIG_INUMS 1
31 # define XFS_BIG_BLKNOS 0
32 # define XFS_BIG_INUMS 0
44 #include <linux/kernel.h>
46 #include <linux/slab.h>
47 #include <linux/module.h>
51 #include <linux/errno.h>
52 #include <linux/sched.h>
53 #include <linux/bitops.h>
59 #include <linux/list.h>
67 #include <linux/random.h>
68 #include <linux/ctype.h>
70 #include <linux/capability.h>
76 #include <asm/div64.h>
77 #include <asm/param.h>
78 #include <asm/uaccess.h>
79 #include <asm/byteorder.h>
80 #include <asm/unaligned.h>
92 #define XFS_NATIVE_HOST 1
94 #undef XFS_NATIVE_HOST
101 #define HAVE_PERCPU_SB
103 #undef HAVE_PERCPU_SB
106 #define irix_sgid_inherit xfs_params.sgid_inherit.val
107 #define irix_symlink_mode xfs_params.symlink_mode.val
108 #define xfs_panic_mask xfs_params.panic_mask.val
109 #define xfs_error_level xfs_params.error_level.val
110 #define xfs_syncd_centisecs xfs_params.syncd_timer.val
111 #define xfs_stats_clear xfs_params.stats_clear.val
112 #define xfs_inherit_sync xfs_params.inherit_sync.val
113 #define xfs_inherit_nodump xfs_params.inherit_nodump.val
114 #define xfs_inherit_noatime xfs_params.inherit_noatim.val
115 #define xfs_buf_timer_centisecs xfs_params.xfs_buf_timer.val
116 #define xfs_buf_age_centisecs xfs_params.xfs_buf_age.val
117 #define xfs_inherit_nosymlinks xfs_params.inherit_nosym.val
118 #define xfs_rotorstep xfs_params.rotorstep.val
119 #define xfs_inherit_nodefrag xfs_params.inherit_nodfrg.val
120 #define xfs_fstrm_centisecs xfs_params.fstrm_timer.val
122 #define current_cpu() (raw_smp_processor_id())
123 #define current_pid() (current->pid)
124 #define current_test_flags(f) (current->flags & (f))
125 #define current_set_flags_nested(sp, f) \
126 (*(sp) = current->flags, current->flags |= (f))
127 #define current_clear_flags_nested(sp, f) \
128 (*(sp) = current->flags, current->flags &= ~(f))
129 #define current_restore_flags_nested(sp, f) \
130 (current->flags = ((current->flags & ~(f)) | (*(sp) & (f))))
132 #define spinlock_destroy(lock)
140 #define BLKDEV_IOSHIFT PAGE_CACHE_SHIFT
141 #define BLKDEV_IOSIZE (1<<BLKDEV_IOSHIFT)
143 #define BLKDEV_BB BTOBB(BLKDEV_IOSIZE)
145 #define ENOATTR ENODATA
146 #define EWRONGFS EINVAL
147 #define EFSCORRUPTED EUCLEAN
149 #define SYNCHRONIZE() barrier()
150 #define __return_address __builtin_return_address(0)
152 #define XFS_PROJID_DEFAULT 0
153 #define MAXPATHLEN 1024
155 #define MIN(a,b) (min(a,b))
156 #define MAX(a,b) (max(a,b))
157 #define howmany(x, y) (((x)+((y)-1))/(y))
162 #define xfs_sort(a,n,s,fn) sort(a,n,s,fn,NULL)
163 #define xfs_stack_trace() dump_stack()
179 mod = *(
__u32 *)a % b;
184 unsigned long __upper, __low, __high, __mod;
186 __upper = __high = c >> 32;
189 __upper = __high % (
b);
190 __high = __high / (
b);
192 asm(
"divl %2":
"=a" (__low),
"=d" (__mod):
"rm" (
b),
"0" (__low),
"1" (__upper));
193 asm(
"":
"=A" (
c):
"a" (__low),
"d" (__high));
208 return *(
__u32 *)a % b;
211 unsigned long __upper, __low, __high, __mod;
213 __upper = __high = c >> 32;
216 __upper = __high % (
b);
217 __high = __high / (
b);
219 asm(
"divl %2":
"=a" (__low),
"=d" (__mod):
"rm" (
b),
"0" (__low),
"1" (__upper));
220 asm(
"":
"=A" (
c):
"a" (__low),
"d" (__high));
229 static inline __u32 xfs_do_div(
void *a,
__u32 b,
int n)
235 mod = *(
__u32 *)a % b;
248 static inline __u32 xfs_do_mod(
void *a,
__u32 b,
int n)
252 return *(
__u32 *)a % b;
266 #define do_div(a, b) xfs_do_div(&(a), (b), sizeof(a))
267 #define do_mod(a, b) xfs_do_mod(&(a), (b), sizeof(a))
269 static inline __uint64_t roundup_64(__uint64_t
x, __uint32_t
y)
276 static inline __uint64_t howmany_64(__uint64_t
x, __uint32_t
y)
284 #if defined(__arm__) && !defined(__ARM_EABI__)
285 #define __arch_pack __attribute__((packed))
290 #define ASSERT_ALWAYS(expr) \
291 (unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
294 #define ASSERT(expr) ((void)0)
297 # define STATIC static noinline
302 #define ASSERT(expr) \
303 (unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
306 # define STATIC noinline