From 8e99d78205c5184e237b77c90df537235d312cdf Mon Sep 17 00:00:00 2001 From: Chunwei Chen Date: Tue, 17 Feb 2015 15:16:16 +0800 Subject: [PATCH] Try to fix build error --- include/sys/abd.h | 10 +++++++++- module/zfs/abd.c | 13 +++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/include/sys/abd.h b/include/sys/abd.h index 64b34510828e..c95327c101db 100644 --- a/include/sys/abd.h +++ b/include/sys/abd.h @@ -42,10 +42,18 @@ extern "C" { #define ARC_BUF_DATA_MAGIC 0xa7cb0fda -#if defined(ZFS_DEBUG) && !defined(_KERNEL) +#ifndef _KERNEL + +#ifndef PAGE_SIZE +#define PAGE_SIZE 4096 +#endif + +#ifdef ZFS_DEBUG #define DEBUG_ABD #endif +#endif /* !_KERNEL */ + typedef struct arc_buf_data { #ifdef DEBUG_ABD char pad[PAGE_SIZE]; /* debug, coredumps when accessed */ diff --git a/module/zfs/abd.c b/module/zfs/abd.c index 8d599e8d1b07..9c59839a0bc8 100644 --- a/module/zfs/abd.c +++ b/module/zfs/abd.c @@ -43,10 +43,6 @@ /* * page */ -#ifndef PAGE_SIZE -#define PAGE_SIZE 4096 -#endif - struct page; #define alloc_page(gfp) \ @@ -105,6 +101,8 @@ sg_next(struct scatterlist *sg) #define kmap(page) ((void *)page) #define kunmap(page) do { } while (0) +#define KM_USER0 (0) +#define KM_USER1 (1) #define zfs_kmap_atomic(page, type) ((void *)page) #define zfs_kunmap_atomic(addr, type) do { } while (0) #define pagefault_disable() do { } while (0) @@ -165,7 +163,7 @@ abd_miter_init_km(struct abd_miter *aiter, abd_t *abd, int rw, int km) aiter->nents = abd->abd_nents; aiter->rw = rw; #ifndef HAVE_1ARG_KMAP_ATOMIC - aiter->km_type = km; + aiter->km_type = (km ? KM_USER1 : KM_USER0); #endif } @@ -207,7 +205,7 @@ abd_miter_map_x(struct abd_miter *aiter, int atomic) if (atomic) paddr = zfs_kmap_atomic(sg_page(aiter->sg), - (aiter->km_type ? KM_USER1 : KM_USER0)); + aiter->km_type); else paddr = kmap(sg_page(aiter->sg)); } @@ -237,8 +235,7 @@ abd_miter_unmap_x(struct abd_miter *aiter, int atomic) if (atomic) { if (aiter->rw == ABD_MITER_W) flush_kernel_dcache_page(sg_page(aiter->sg)); - zfs_kunmap_atomic(paddr, - (aiter->km_type ? KM_USER1 : KM_USER0)); + zfs_kunmap_atomic(paddr, aiter->km_type); } else { kunmap(sg_page(aiter->sg)); }