summaryrefslogtreecommitdiffstats
path: root/include/sys
diff options
context:
space:
mode:
authorGeorge Melikov <[email protected]>2017-01-23 20:36:24 +0300
committerBrian Behlendorf <[email protected]>2017-01-23 09:36:24 -0800
commitf85c06bedfd2a60f5b5d6a7492ed847c2bffd9fe (patch)
treef9088bd3cfb4c9cacdbeae63012ad7d346f4bce8 /include/sys
parent4ea3f86426f76e59244ec6f66504da688d90193c (diff)
OpenZFS 7054 - dmu_tx_hold_t should use refcount_t to track space
Authored by: Igor Kozhukhov [email protected] Reviewed by: George Wilson <[email protected]> Reviewed by: Paul Dagnelie <[email protected]> Reviewed by: Igor Kozhukhov <[email protected]> Approved by: Dan McDonald <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Ported-by: George Melikov [email protected] OpenZFS-issue: https://www.illumos.org/issues/7054 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/0c779ad Closes #5600
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/dmu_tx.h14
-rw-r--r--include/sys/zap.h2
-rw-r--r--include/sys/zap_impl.h4
3 files changed, 10 insertions, 10 deletions
diff --git a/include/sys/dmu_tx.h b/include/sys/dmu_tx.h
index 308b1eaa7..7d2fdab29 100644
--- a/include/sys/dmu_tx.h
+++ b/include/sys/dmu_tx.h
@@ -23,7 +23,7 @@
* Use is subject to license terms.
*/
/*
- * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
*/
#ifndef _SYS_DMU_TX_H
@@ -102,12 +102,12 @@ typedef struct dmu_tx_hold {
dmu_tx_t *txh_tx;
list_node_t txh_node;
struct dnode *txh_dnode;
- uint64_t txh_space_towrite;
- uint64_t txh_space_tofree;
- uint64_t txh_space_tooverwrite;
- uint64_t txh_space_tounref;
- uint64_t txh_memory_tohold;
- uint64_t txh_fudge;
+ refcount_t txh_space_towrite;
+ refcount_t txh_space_tofree;
+ refcount_t txh_space_tooverwrite;
+ refcount_t txh_space_tounref;
+ refcount_t txh_memory_tohold;
+ refcount_t txh_fudge;
#ifdef DEBUG_DMU_TX
enum dmu_tx_hold_type txh_type;
uint64_t txh_arg1;
diff --git a/include/sys/zap.h b/include/sys/zap.h
index ba75ac58f..513c8f672 100644
--- a/include/sys/zap.h
+++ b/include/sys/zap.h
@@ -244,7 +244,7 @@ int zap_lookup_norm_by_dnode(dnode_t *dn, const char *name,
boolean_t *ncp);
int zap_count_write_by_dnode(dnode_t *dn, const char *name,
- int add, uint64_t *towrite, uint64_t *tooverwrite);
+ int add, refcount_t *towrite, refcount_t *tooverwrite);
/*
* Create an attribute with the given name and value.
diff --git a/include/sys/zap_impl.h b/include/sys/zap_impl.h
index 7b6d1b553..13a208faf 100644
--- a/include/sys/zap_impl.h
+++ b/include/sys/zap_impl.h
@@ -213,8 +213,8 @@ int fzap_lookup(zap_name_t *zn,
uint64_t integer_size, uint64_t num_integers, void *buf,
char *realname, int rn_len, boolean_t *normalization_conflictp);
void fzap_prefetch(zap_name_t *zn);
-int fzap_count_write(zap_name_t *zn, int add, uint64_t *towrite,
- uint64_t *tooverwrite);
+int fzap_count_write(zap_name_t *zn, int add, refcount_t *towrite,
+ refcount_t *tooverwrite);
int fzap_add(zap_name_t *zn, uint64_t integer_size, uint64_t num_integers,
const void *val, void *tag, dmu_tx_t *tx);
int fzap_update(zap_name_t *zn,