diff --git a/config/Rules.am b/config/Rules.am index 20a21e972b..1d39e7779a 100644 --- a/config/Rules.am +++ b/config/Rules.am @@ -5,6 +5,7 @@ AM_CFLAGS = ${DEBUG_CFLAGS} -Wall -Wstrict-prototypes AM_CFLAGS += ${NO_UNUSED_BUT_SET_VARIABLE} AM_CFLAGS += ${NO_BOOL_COMPARE} AM_CFLAGS += -fno-strict-aliasing +AM_CFLAGS += -std=gnu99 AM_CPPFLAGS = -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT AM_CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 AM_CPPFLAGS += -D_LARGEFILE64_SOURCE -DHAVE_LARGE_STACKS=1 diff --git a/config/kernel.m4 b/config/kernel.m4 index a441328378..b8bd41e084 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -123,6 +123,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ dnl # -Wall -fno-strict-aliasing -Wstrict-prototypes and other dnl # compiler options are added by the kernel build system. + KERNELCPPFLAGS="$KERNELCPPFLAGS -std=gnu99" KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-declaration-after-statement" KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE" KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_BOOL_COMPARE" diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c index 0665c12fc0..2ea64a2bba 100644 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@ -2956,7 +2956,6 @@ void dsl_dataset_clone_swap_sync_impl(dsl_dataset_t *clone, dsl_dataset_t *origin_head, dmu_tx_t *tx) { - spa_feature_t f; dsl_pool_t *dp = dmu_tx_pool(tx); int64_t unused_refres_delta; blkptr_t tmp; @@ -2974,7 +2973,7 @@ dsl_dataset_clone_swap_sync_impl(dsl_dataset_t *clone, /* * Swap per-dataset feature flags. */ - for (f = 0; f < SPA_FEATURES; f++) { + for (spa_feature_t f = 0; f < SPA_FEATURES; f++) { boolean_t clone_inuse; boolean_t origin_head_inuse; diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c index e5cd47afd8..abe77ecd4b 100644 --- a/module/zfs/zvol.c +++ b/module/zfs/zvol.c @@ -65,7 +65,8 @@ static list_t zvol_state_list; #define ZVOL_HT_SIZE 1024 static struct hlist_head *zvol_htable; #define ZVOL_HT_HEAD(hash) (&zvol_htable[(hash) & (ZVOL_HT_SIZE-1)]) -static DEFINE_IDA(zvol_ida); + +static struct ida zvol_ida; /* * The in-core state of each volume. @@ -2161,6 +2162,7 @@ zvol_init(void) list_create(&zvol_state_list, sizeof (zvol_state_t), offsetof(zvol_state_t, zv_next)); mutex_init(&zvol_state_lock, NULL, MUTEX_DEFAULT, NULL); + ida_init(&zvol_ida); zvol_htable = kmem_alloc(ZVOL_HT_SIZE * sizeof (struct hlist_head), KM_SLEEP);