From: Nathaniel Clark Date: Tue, 31 Oct 2017 16:49:39 +0000 (-0400) Subject: LU-10174 osd-zfs: Fix build against ZFS 0.6.5.x X-Git-Tag: 2.10.56~65 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=0cfb879608e5036723337ac0f8f01336ecf6b7fd LU-10174 osd-zfs: Fix build against ZFS 0.6.5.x Ensure all values used in https://review.whamcloud.com/29242 are actually used conditionally. This allows us to build against ZFS 0.6.5.7 again. Signed-off-by: Nathaniel Clark Change-Id: Ide560e21f7b7fedc0c107b1943602e5af99b478c Reviewed-on: https://review.whamcloud.com/29866 Reviewed-by: Bob Glossman Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Alex Zhuravlev Reviewed-by: Giuseppe Di Natale --- diff --git a/lustre/osd-zfs/osd_handler.c b/lustre/osd-zfs/osd_handler.c index 5adcd1a..55ef2fe 100644 --- a/lustre/osd-zfs/osd_handler.c +++ b/lustre/osd-zfs/osd_handler.c @@ -778,13 +778,14 @@ static void osd_readonly_changed_cb(void *arg, uint64_t newval) osd->od_prop_rdonly = !!newval; } +#ifdef HAVE_DMU_OBJECT_ALLOC_DNSIZE static void osd_dnodesize_changed_cb(void *arg, uint64_t newval) { struct osd_device *osd = arg; osd->od_dnsize = newval; } - +#endif /* * This function unregisters all registered callbacks. It's harmless to * unregister callbacks that were never registered so it is used to safely @@ -800,8 +801,10 @@ static void osd_objset_unregister_callbacks(struct osd_device *o) osd_recordsize_changed_cb, o); (void) dsl_prop_unregister(ds, zfs_prop_to_name(ZFS_PROP_READONLY), osd_readonly_changed_cb, o); +#ifdef HAVE_DMU_OBJECT_ALLOC_DNSIZE (void) dsl_prop_unregister(ds, zfs_prop_to_name(ZFS_PROP_DNODESIZE), - osd_readonly_changed_cb, o); + osd_dnodesize_changed_cb, o); +#endif if (o->arc_prune_cb != NULL) { arc_remove_prune_callback(o->arc_prune_cb); @@ -838,10 +841,12 @@ static int osd_objset_register_callbacks(struct osd_device *o) if (rc) GOTO(err, rc); +#ifdef HAVE_DMU_OBJECT_ALLOC_DNSIZE rc = -dsl_prop_register(ds, zfs_prop_to_name(ZFS_PROP_DNODESIZE), osd_dnodesize_changed_cb, o); if (rc) GOTO(err, rc); +#endif o->arc_prune_cb = arc_add_prune_callback(arc_prune_func, o); err: