Merge commit 'refs/top-bases/linux-zfs-branch' into linux-zfs-branch

This commit is contained in:
Brian Behlendorf 2008-12-19 13:58:45 -08:00
commit 7b69e21184
1 changed files with 11 additions and 9 deletions

View File

@ -47,17 +47,19 @@
/* /*
* Compatibility macros/typedefs needed for Solaris -> Linux port * Compatibility macros/typedefs needed for Solaris -> Linux port
*/ */
#define P2ALIGN(x, align) ((x) & -(align)) #define P2ALIGN(x, align) ((x) & -(align))
#define P2CROSS(x, y, align) (((x) ^ (y)) > (align) - 1) #define P2CROSS(x, y, align) (((x) ^ (y)) > (align) - 1)
#define P2ROUNDUP(x, align) (-(-(x) & -(align))) #define P2ROUNDUP(x, align) (-(-(x) & -(align)))
#define P2ROUNDUP_TYPED(x, align, type) \ #define P2ROUNDUP_TYPED(x, align, type) \
(-(-(type)(x) & -(type)(align))) (-(-(type)(x) & -(type)(align)))
#define P2PHASE(x, align) ((x) & ((align) - 1)) #define P2BOUNDARY(off, len, align) \
#define P2NPHASE(x, align) (-(x) & ((align) - 1)) (((off) ^ ((off) + (len) - 1)) > (align) - 1)
#define P2PHASE(x, align) ((x) & ((align) - 1))
#define P2NPHASE(x, align) (-(x) & ((align) - 1))
#define P2NPHASE_TYPED(x, align, type) \ #define P2NPHASE_TYPED(x, align, type) \
(-(type)(x) & ((type)(align) - 1)) (-(type)(x) & ((type)(align) - 1))
#define ISP2(x) (((x) & ((x) - 1)) == 0) #define ISP2(x) (((x) & ((x) - 1)) == 0)
#define IS_P2ALIGNED(v, a) ((((uintptr_t)(v)) & ((uintptr_t)(a) - 1)) == 0) #define IS_P2ALIGNED(v, a) ((((uintptr_t)(v)) & ((uintptr_t)(a) - 1)) == 0)
/* /*
* Typed version of the P2* macros. These macros should be used to ensure * Typed version of the P2* macros. These macros should be used to ensure