| 1261 | } |
| 1262 | |
| 1263 | int |
| 1264 | zap_add(objset_t *os, uint64_t zapobj, const char *key, |
| 1265 | int integer_size, uint64_t num_integers, |
| 1266 | const void *val, dmu_tx_t *tx) |
| 1267 | { |
| 1268 | zap_t *zap; |
| 1269 | int err; |
| 1270 | |
| 1271 | err = zap_lockdir(os, zapobj, tx, RW_WRITER, TRUE, TRUE, FTAG, &zap); |
| 1272 | if (err != 0) |
| 1273 | return (err); |
| 1274 | err = zap_add_impl(zap, key, integer_size, num_integers, val, tx, FTAG); |
| 1275 | /* zap_add_impl() calls zap_unlockdir() */ |
| 1276 | return (err); |
| 1277 | } |
| 1278 | |
| 1279 | int |
| 1280 | zap_add_by_dnode(dnode_t *dn, const char *key, |