MCPcopy Create free account
hub / github.com/F-Stack/f-stack / zap_lockdir_by_dnode

Function zap_lockdir_by_dnode

freebsd/contrib/openzfs/module/zfs/zap_micro.c:582–605  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

580}
581
582static int
583zap_lockdir_by_dnode(dnode_t *dn, dmu_tx_t *tx,
584 krw_t lti, boolean_t fatreader, boolean_t adding, void *tag, zap_t **zapp)
585{
586 dmu_buf_t *db;
587
588 int err = dmu_buf_hold_by_dnode(dn, 0, tag, &db, DMU_READ_NO_PREFETCH);
589 if (err != 0) {
590 return (err);
591 }
592#ifdef ZFS_DEBUG
593 {
594 dmu_object_info_t doi;
595 dmu_object_info_from_db(db, &doi);
596 ASSERT3U(DMU_OT_BYTESWAP(doi.doi_type), ==, DMU_BSWAP_ZAP);
597 }
598#endif
599
600 err = zap_lockdir_impl(db, tag, tx, lti, fatreader, adding, zapp);
601 if (err != 0) {
602 dmu_buf_rele(db, tag);
603 }
604 return (err);
605}
606
607int
608zap_lockdir(objset_t *os, uint64_t obj, dmu_tx_t *tx,

Callers 3

zap_lookup_norm_by_dnodeFunction · 0.85
zap_add_by_dnodeFunction · 0.85
zap_remove_by_dnodeFunction · 0.85

Calls 4

dmu_buf_hold_by_dnodeFunction · 0.85
dmu_object_info_from_dbFunction · 0.85
zap_lockdir_implFunction · 0.85
dmu_buf_releFunction · 0.85

Tested by

no test coverage detected