AC_DEFINE(HAVE_ZFS_INODE_TIMESPEC, 1,
[Have inode_timespec_t])
])
+ dnl # ZFS 0.7.12/0.8.x uses zfs_refcount_add() instead of
+ dnl # refcount_add().
+ dnl #
+ LB_CHECK_COMPILE([if ZFS has 'zfs_refcount_add'],
+ zfs_refcount_add, [
+ #include <sys/refcount.h>
+ ],[
+ zfs_refcount_add((zfs_refcount_t *) NULL, NULL);
+ ],[
+ AC_DEFINE(HAVE_ZFS_REFCOUNT_ADD, 1,
+ [Have zfs_refcount_add])
+ ])
])
AS_IF([test "x$enable_zfs" = xyes], [
#define OSD_MAX_CACHE_SIZE OBD_OBJECT_EOF
+#ifndef HAVE_ZFS_REFCOUNT_ADD
+#define zfs_refcount_add refcount_add
+#endif
+
extern struct dt_body_operations osd_body_scrub_ops;
/**
SA_HDL_PRIVATE, &obj->oo_sa_hdl);
if (rc)
return rc;
- refcount_add(&dn->dn_bonus->db_holds, osd_obj_tag);
+ zfs_refcount_add(&dn->dn_bonus->db_holds, osd_obj_tag);
return 0;
}
LASSERT(db);
LASSERT(dn->dn_handle);
DB_DNODE_ENTER(db);
- if (refcount_add(&db->db_holds, osd_obj_tag) == 1) {
- refcount_add(&dn->dn_holds, osd_obj_tag);
+ if (zfs_refcount_add(&db->db_holds, osd_obj_tag) == 1) {
+ zfs_refcount_add(&dn->dn_holds, osd_obj_tag);
atomic_inc_32(&dn->dn_dbufs_count);
}
*dnp = dn;