Update core ZFS code from build 121 to build 141.
[zfs.git] / module / zfs / dsl_deleg.c
index 5d76ff5..85490c8 100644 (file)
@@ -19,8 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
@@ -75,8 +74,6 @@
 #include <sys/dsl_synctask.h>
 #include <sys/dsl_deleg.h>
 #include <sys/spa.h>
-#include <sys/spa_impl.h>
-#include <sys/zio_checksum.h> /* for the default checksum value */
 #include <sys/zap.h>
 #include <sys/fs/zfs.h>
 #include <sys/cred.h>
@@ -150,7 +147,7 @@ dsl_deleg_can_unallow(char *ddname, nvlist_t *nvp, cred_t *cr)
 }
 
 static void
-dsl_deleg_set_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
+dsl_deleg_set_sync(void *arg1, void *arg2, dmu_tx_t *tx)
 {
        dsl_dir_t *dd = arg1;
        nvlist_t *nvp = arg2;
@@ -185,8 +182,8 @@ dsl_deleg_set_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
 
                        VERIFY(zap_update(mos, jumpobj,
                            perm, 8, 1, &n, tx) == 0);
-                       spa_history_internal_log(LOG_DS_PERM_UPDATE,
-                           dd->dd_pool->dp_spa, tx, cr,
+                       spa_history_log_internal(LOG_DS_PERM_UPDATE,
+                           dd->dd_pool->dp_spa, tx,
                            "%s %s dataset = %llu", whokey, perm,
                            dd->dd_phys->dd_head_dataset_obj);
                }
@@ -194,7 +191,7 @@ dsl_deleg_set_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
 }
 
 static void
-dsl_deleg_unset_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
+dsl_deleg_unset_sync(void *arg1, void *arg2, dmu_tx_t *tx)
 {
        dsl_dir_t *dd = arg1;
        nvlist_t *nvp = arg2;
@@ -217,8 +214,8 @@ dsl_deleg_unset_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
                                (void) zap_remove(mos, zapobj, whokey, tx);
                                VERIFY(0 == zap_destroy(mos, jumpobj, tx));
                        }
-                       spa_history_internal_log(LOG_DS_PERM_WHO_REMOVE,
-                           dd->dd_pool->dp_spa, tx, cr,
+                       spa_history_log_internal(LOG_DS_PERM_WHO_REMOVE,
+                           dd->dd_pool->dp_spa, tx,
                            "%s dataset = %llu", whokey,
                            dd->dd_phys->dd_head_dataset_obj);
                        continue;
@@ -238,8 +235,8 @@ dsl_deleg_unset_sync(void *arg1, void *arg2, cred_t *cr, dmu_tx_t *tx)
                                VERIFY(0 == zap_destroy(mos,
                                    jumpobj, tx));
                        }
-                       spa_history_internal_log(LOG_DS_PERM_REMOVE,
-                           dd->dd_pool->dp_spa, tx, cr,
+                       spa_history_log_internal(LOG_DS_PERM_REMOVE,
+                           dd->dd_pool->dp_spa, tx,
                            "%s %s dataset = %llu", whokey, perm,
                            dd->dd_phys->dd_head_dataset_obj);
                }
@@ -589,7 +586,7 @@ dsl_deleg_access(const char *dsname, const char *perm, cred_t *cr)
 
                        if (dsl_prop_get_dd(dd,
                            zfs_prop_to_name(ZFS_PROP_ZONED),
-                           8, 1, &zoned, NULL) != 0)
+                           8, 1, &zoned, NULL, B_FALSE) != 0)
                                break;
                        if (!zoned)
                                break;
@@ -739,5 +736,5 @@ dsl_deleg_destroy(objset_t *mos, uint64_t zapobj, dmu_tx_t *tx)
 boolean_t
 dsl_delegation_on(objset_t *os)
 {
-       return (os->os->os_spa->spa_delegation);
+       return (!!spa_delegation(os->os_spa));
 }