[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
SUBARCH=$(echo $target_cpu | sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/' -e 's/k1om/x86/')
-AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/$SUBARCH/include -I$LINUX/arch/$SUBARCH/include/generated -Iinclude -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -I$LINUX/include/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])],
+AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/$SUBARCH/include -I$LINUX/arch/$SUBARCH/include/generated -Iinclude -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -I$LINUX/include/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL -I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include} -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])],
[$4],
[_AC_MSG_LOG_CONFTEST
m4_ifvaln([$5],[$5])dnl])
])
])
+ AS_IF([test x$enable_zfs = xyes], [
+ AC_MSG_CHECKING([if zfs defines dsl_pool_config_enter/exit])
+ LB_LINUX_TRY_COMPILE([
+ #include <sys/dsl_pool.h>
+ ],[
+ dsl_pool_config_enter(NULL, FTAG);
+ ],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_DSL_POOL_CONFIG, 1,
+ [Have dsl_pool_config_enter/exit in ZFS])
+ ],[
+ AC_MSG_RESULT([no])
+ ])
+ ])
+
AM_CONDITIONAL(ZFS_ENABLED, test x$enable_zfs = xyes)
])
static int osd_mount(const struct lu_env *env,
struct osd_device *o, struct lustre_cfg *cfg)
{
- struct dsl_dataset *ds;
- char *dev = lustre_cfg_string(cfg, 1);
- dmu_buf_t *rootdb;
- int rc;
+ struct dsl_dataset *ds;
+ char *dev = lustre_cfg_string(cfg, 1);
+ dmu_buf_t *rootdb;
+ dsl_pool_t *dp;
+ int rc;
ENTRY;
if (o->od_objset.os != NULL)
}
ds = dmu_objset_ds(o->od_objset.os);
+ dp = dmu_objset_pool(o->od_objset.os);
LASSERT(ds);
+ LASSERT(dp);
+ dsl_pool_config_enter(dp, FTAG);
rc = dsl_prop_register(ds, "xattr", osd_xattr_changed_cb, o);
+ dsl_pool_config_exit(dp, FTAG);
if (rc)
CERROR("%s: cat not register xattr callback, ignore: %d\n",
o->od_svname, rc);
}
#endif
+
+#ifndef HAVE_DSL_POOL_CONFIG
+static inline void dsl_pool_config_enter(dsl_pool_t *dp, char *name)
+{
+}
+
+static inline void dsl_pool_config_exit(dsl_pool_t *dp, char *name)
+{
+}
+
+#endif
+
#endif /* _OSD_INTERNAL_H */