Print this page
4171 clean up spa_feature_*() interfaces
4172 implement extensible_dataset feature for use by other zpool features
Reviewed by: Max Grossman <max.grossman@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>


 124  *
 125  * normflags specifies what normalization will be done.  values are:
 126  * 0: no normalization (legacy on-disk format, supports MT_EXACT matching
 127  *     only)
 128  * U8_TEXTPREP_TOLOWER: case normalization will be performed.
 129  *     MT_FIRST/MT_BEST matching will find entries that match without
 130  *     regard to case (eg. looking for "foo" can find an entry "Foo").
 131  * Eventually, other flags will permit unicode normalization as well.
 132  */
 133 uint64_t zap_create(objset_t *ds, dmu_object_type_t ot,
 134     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 135 uint64_t zap_create_norm(objset_t *ds, int normflags, dmu_object_type_t ot,
 136     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 137 uint64_t zap_create_flags(objset_t *os, int normflags, zap_flags_t flags,
 138     dmu_object_type_t ot, int leaf_blockshift, int indirect_blockshift,
 139     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 140 uint64_t zap_create_link(objset_t *os, dmu_object_type_t ot,
 141     uint64_t parent_obj, const char *name, dmu_tx_t *tx);
 142 
 143 /*






 144  * Create a new zapobj with no attributes from the given (unallocated)
 145  * object number.
 146  */
 147 int zap_create_claim(objset_t *ds, uint64_t obj, dmu_object_type_t ot,
 148     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 149 int zap_create_claim_norm(objset_t *ds, uint64_t obj,
 150     int normflags, dmu_object_type_t ot,
 151     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 152 
 153 /*
 154  * The zapobj passed in must be a valid ZAP object for all of the
 155  * following routines.
 156  */
 157 
 158 /*
 159  * Destroy this zapobj and all its attributes.
 160  *
 161  * Frees the object number using dmu_object_free.
 162  */
 163 int zap_destroy(objset_t *ds, uint64_t zapobj, dmu_tx_t *tx);




 124  *
 125  * normflags specifies what normalization will be done.  values are:
 126  * 0: no normalization (legacy on-disk format, supports MT_EXACT matching
 127  *     only)
 128  * U8_TEXTPREP_TOLOWER: case normalization will be performed.
 129  *     MT_FIRST/MT_BEST matching will find entries that match without
 130  *     regard to case (eg. looking for "foo" can find an entry "Foo").
 131  * Eventually, other flags will permit unicode normalization as well.
 132  */
 133 uint64_t zap_create(objset_t *ds, dmu_object_type_t ot,
 134     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 135 uint64_t zap_create_norm(objset_t *ds, int normflags, dmu_object_type_t ot,
 136     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 137 uint64_t zap_create_flags(objset_t *os, int normflags, zap_flags_t flags,
 138     dmu_object_type_t ot, int leaf_blockshift, int indirect_blockshift,
 139     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 140 uint64_t zap_create_link(objset_t *os, dmu_object_type_t ot,
 141     uint64_t parent_obj, const char *name, dmu_tx_t *tx);
 142 
 143 /*
 144  * Initialize an already-allocated object.
 145  */
 146 void mzap_create_impl(objset_t *os, uint64_t obj, int normflags,
 147     zap_flags_t flags, dmu_tx_t *tx);
 148 
 149 /*
 150  * Create a new zapobj with no attributes from the given (unallocated)
 151  * object number.
 152  */
 153 int zap_create_claim(objset_t *ds, uint64_t obj, dmu_object_type_t ot,
 154     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 155 int zap_create_claim_norm(objset_t *ds, uint64_t obj,
 156     int normflags, dmu_object_type_t ot,
 157     dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
 158 
 159 /*
 160  * The zapobj passed in must be a valid ZAP object for all of the
 161  * following routines.
 162  */
 163 
 164 /*
 165  * Destroy this zapobj and all its attributes.
 166  *
 167  * Frees the object number using dmu_object_free.
 168  */
 169 int zap_destroy(objset_t *ds, uint64_t zapobj, dmu_tx_t *tx);