Add -p switch to "zpool get"
[zfs.git] / module / zfs / dsl_prop.c
index 0ba929a..e44a948 100644 (file)
@@ -247,9 +247,9 @@ dsl_prop_register(dsl_dataset_t *ds, const char *propname,
                return (err);
        }
 
-       cbr = kmem_alloc(sizeof (dsl_prop_cb_record_t), KM_SLEEP);
+       cbr = kmem_alloc(sizeof (dsl_prop_cb_record_t), KM_PUSHPAGE);
        cbr->cbr_ds = ds;
-       cbr->cbr_propname = kmem_alloc(strlen(propname)+1, KM_SLEEP);
+       cbr->cbr_propname = kmem_alloc(strlen(propname)+1, KM_PUSHPAGE);
        (void) strcpy((char *)cbr->cbr_propname, propname);
        cbr->cbr_func = callback;
        cbr->cbr_arg = cbarg;
@@ -355,7 +355,7 @@ dsl_prop_predict_sync(dsl_dir_t *dd, dsl_prop_setarg_t *psa)
                        source = ZPROP_SRC_LOCAL;
        }
 
-       switch (source) {
+       switch ((int)source) {
        case ZPROP_SRC_NONE:
                /* Revert to the received value, if any. */
                err = zap_lookup(mos, zapobj, recvdstr, 8, 1,
@@ -534,7 +534,7 @@ dsl_prop_changed_notify(dsl_pool_t *dp, uint64_t ddobj,
        }
        mutex_exit(&dd->dd_lock);
 
-       za = kmem_alloc(sizeof (zap_attribute_t), KM_SLEEP);
+       za = kmem_alloc(sizeof (zap_attribute_t), KM_PUSHPAGE);
        for (zap_cursor_init(&zc, mos,
            dd->dd_phys->dd_child_dir_zapobj);
            zap_cursor_retrieve(&zc, za) == 0;
@@ -594,7 +594,7 @@ dsl_prop_set_sync(void *arg1, void *arg2, dmu_tx_t *tx)
        inheritstr = kmem_asprintf("%s%s", propname, ZPROP_INHERIT_SUFFIX);
        recvdstr = kmem_asprintf("%s%s", propname, ZPROP_RECVD_SUFFIX);
 
-       switch (source) {
+       switch ((int)source) {
        case ZPROP_SRC_NONE:
                /*
                 * revert to received value, if any (inherit -S)
@@ -697,7 +697,7 @@ dsl_prop_set_sync(void *arg1, void *arg2, dmu_tx_t *tx)
                if (source == ZPROP_SRC_LOCAL) {
                        valstr = (char *)psa->psa_value;
                } else {
-                       tbuf = kmem_alloc(ZAP_MAXVALUELEN, KM_SLEEP);
+                       tbuf = kmem_alloc(ZAP_MAXVALUELEN, KM_PUSHPAGE);
                        if (dsl_prop_get_ds(ds, propname, 1,
                            ZAP_MAXVALUELEN, tbuf, NULL) == 0)
                                valstr = tbuf;
@@ -1155,8 +1155,16 @@ dsl_prop_nvlist_add_string(nvlist_t *nv, zfs_prop_t prop, const char *value)
 }
 
 #if defined(_KERNEL) && defined(HAVE_SPL)
+EXPORT_SYMBOL(dsl_prop_register);
+EXPORT_SYMBOL(dsl_prop_unregister);
+EXPORT_SYMBOL(dsl_prop_numcb);
 EXPORT_SYMBOL(dsl_prop_set);
+EXPORT_SYMBOL(dsl_prop_get);
+EXPORT_SYMBOL(dsl_prop_get_integer);
 EXPORT_SYMBOL(dsl_prop_get_all);
+EXPORT_SYMBOL(dsl_prop_get_received);
+EXPORT_SYMBOL(dsl_prop_get_ds);
+EXPORT_SYMBOL(dsl_prop_get_dd);
 EXPORT_SYMBOL(dsl_prop_nvlist_add_uint64);
-EXPORT_SYMBOL(dsl_prop_get_integer);
+EXPORT_SYMBOL(dsl_prop_nvlist_add_string);
 #endif