From 126ae9f4e9a8e39f65fcd55e3e1cf90d4e9c6f56 Mon Sep 17 00:00:00 2001 From: jxiong Date: Wed, 9 Nov 2016 13:51:12 -0800 Subject: [PATCH] Export symbol dmu_objset_userobjspace_upgradable It's used by Lustre to determine if the objset can be upgraded. The inline version doesn't work because dmu_objset_is_snapshot() is not exported. Reviewed-by: Brian Behlendorf Signed-off-by: Jinshan Xiong Closes #5385 --- include/sys/dmu_objset.h | 9 +-------- module/zfs/dmu_objset.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/sys/dmu_objset.h b/include/sys/dmu_objset.h index 2ec1ec87d..ed3cbf498 100644 --- a/include/sys/dmu_objset.h +++ b/include/sys/dmu_objset.h @@ -184,17 +184,10 @@ boolean_t dmu_objset_userused_enabled(objset_t *os); int dmu_objset_userspace_upgrade(objset_t *os); boolean_t dmu_objset_userspace_present(objset_t *os); boolean_t dmu_objset_userobjused_enabled(objset_t *os); +boolean_t dmu_objset_userobjspace_upgradable(objset_t *os); void dmu_objset_userobjspace_upgrade(objset_t *os); boolean_t dmu_objset_userobjspace_present(objset_t *os); -static inline boolean_t dmu_objset_userobjspace_upgradable(objset_t *os) -{ - return (dmu_objset_type(os) == DMU_OST_ZFS && - !dmu_objset_is_snapshot(os) && - dmu_objset_userobjused_enabled(os) && - !dmu_objset_userobjspace_present(os)); -} - int dmu_fsname(const char *snapname, char *buf); void dmu_objset_evict_done(objset_t *os); diff --git a/module/zfs/dmu_objset.c b/module/zfs/dmu_objset.c index c1f2d8430..65aff9550 100644 --- a/module/zfs/dmu_objset.c +++ b/module/zfs/dmu_objset.c @@ -1771,6 +1771,15 @@ dmu_objset_userobjspace_upgrade(objset_t *os) dmu_objset_upgrade(os, dmu_objset_userobjspace_upgrade_cb); } +boolean_t +dmu_objset_userobjspace_upgradable(objset_t *os) +{ + return (dmu_objset_type(os) == DMU_OST_ZFS && + !dmu_objset_is_snapshot(os) && + dmu_objset_userobjused_enabled(os) && + !dmu_objset_userobjspace_present(os)); +} + void dmu_objset_space(objset_t *os, uint64_t *refdbytesp, uint64_t *availbytesp, uint64_t *usedobjsp, uint64_t *availobjsp) @@ -2334,5 +2343,6 @@ EXPORT_SYMBOL(dmu_objset_userspace_upgrade); EXPORT_SYMBOL(dmu_objset_userspace_present); EXPORT_SYMBOL(dmu_objset_userobjused_enabled); EXPORT_SYMBOL(dmu_objset_userobjspace_upgrade); +EXPORT_SYMBOL(dmu_objset_userobjspace_upgradable); EXPORT_SYMBOL(dmu_objset_userobjspace_present); #endif