Lines Matching refs:db
135 dmu_buf_impl_t *db; in dmu_buf_hold_noread() local
143 db = dbuf_hold(dn, blkid, tag); in dmu_buf_hold_noread()
147 if (db == NULL) { in dmu_buf_hold_noread()
152 *dbp = &db->db; in dmu_buf_hold_noread()
168 dmu_buf_impl_t *db = (dmu_buf_impl_t *)(*dbp); in dmu_buf_hold() local
169 err = dbuf_read(db, NULL, db_flags); in dmu_buf_hold()
171 dbuf_rele(db, tag); in dmu_buf_hold()
188 dmu_buf_impl_t *db = (dmu_buf_impl_t *)db_fake; in dmu_set_bonus() local
192 DB_DNODE_ENTER(db); in dmu_set_bonus()
193 dn = DB_DNODE(db); in dmu_set_bonus()
195 if (dn->dn_bonus != db) { in dmu_set_bonus()
204 DB_DNODE_EXIT(db); in dmu_set_bonus()
211 dmu_buf_impl_t *db = (dmu_buf_impl_t *)db_fake; in dmu_set_bonustype() local
215 DB_DNODE_ENTER(db); in dmu_set_bonustype()
216 dn = DB_DNODE(db); in dmu_set_bonustype()
220 } else if (dn->dn_bonus != db) { in dmu_set_bonustype()
227 DB_DNODE_EXIT(db); in dmu_set_bonustype()
234 dmu_buf_impl_t *db = (dmu_buf_impl_t *)db_fake; in dmu_get_bonustype() local
238 DB_DNODE_ENTER(db); in dmu_get_bonustype()
239 dn = DB_DNODE(db); in dmu_get_bonustype()
241 DB_DNODE_EXIT(db); in dmu_get_bonustype()
268 dmu_buf_impl_t *db; in dmu_bonus_hold() local
282 db = dn->dn_bonus; in dmu_bonus_hold()
285 if (refcount_add(&db->db_holds, tag) == 1) { in dmu_bonus_hold()
286 VERIFY(dnode_add_ref(dn, db)); in dmu_bonus_hold()
299 VERIFY(0 == dbuf_read(db, NULL, DB_RF_MUST_SUCCEED | DB_RF_NOPREFETCH)); in dmu_bonus_hold()
301 *dbp = &db->db; in dmu_bonus_hold()
317 dmu_buf_impl_t *db = NULL; in dmu_spill_hold_by_dnode() local
323 db = dbuf_hold(dn, DMU_SPILL_BLKID, tag); in dmu_spill_hold_by_dnode()
328 ASSERT(db != NULL); in dmu_spill_hold_by_dnode()
329 err = dbuf_read(db, NULL, flags); in dmu_spill_hold_by_dnode()
331 *dbp = &db->db; in dmu_spill_hold_by_dnode()
333 dbuf_rele(db, tag); in dmu_spill_hold_by_dnode()
340 dmu_buf_impl_t *db = (dmu_buf_impl_t *)bonus; in dmu_spill_hold_existing() local
344 DB_DNODE_ENTER(db); in dmu_spill_hold_existing()
345 dn = DB_DNODE(db); in dmu_spill_hold_existing()
362 DB_DNODE_EXIT(db); in dmu_spill_hold_existing()
369 dmu_buf_impl_t *db = (dmu_buf_impl_t *)bonus; in dmu_spill_hold_by_bonus() local
373 DB_DNODE_ENTER(db); in dmu_spill_hold_by_bonus()
374 dn = DB_DNODE(db); in dmu_spill_hold_by_bonus()
376 DB_DNODE_EXIT(db); in dmu_spill_hold_by_bonus()
426 dmu_buf_impl_t *db = dbuf_hold(dn, blkid+i, tag); in dmu_buf_hold_array_by_dnode() local
427 if (db == NULL) { in dmu_buf_hold_array_by_dnode()
435 (void) dbuf_read(db, zio, dbuf_flags); in dmu_buf_hold_array_by_dnode()
437 dbp[i] = &db->db; in dmu_buf_hold_array_by_dnode()
451 dmu_buf_impl_t *db = (dmu_buf_impl_t *)dbp[i]; in dmu_buf_hold_array_by_dnode() local
452 mutex_enter(&db->db_mtx); in dmu_buf_hold_array_by_dnode()
453 while (db->db_state == DB_READ || in dmu_buf_hold_array_by_dnode()
454 db->db_state == DB_FILL) in dmu_buf_hold_array_by_dnode()
455 cv_wait(&db->db_changed, &db->db_mtx); in dmu_buf_hold_array_by_dnode()
456 if (db->db_state == DB_UNCACHED) in dmu_buf_hold_array_by_dnode()
458 mutex_exit(&db->db_mtx); in dmu_buf_hold_array_by_dnode()
494 dmu_buf_impl_t *db = (dmu_buf_impl_t *)db_fake; in dmu_buf_hold_array_by_bonus() local
498 DB_DNODE_ENTER(db); in dmu_buf_hold_array_by_bonus()
499 dn = DB_DNODE(db); in dmu_buf_hold_array_by_bonus()
502 DB_DNODE_EXIT(db); in dmu_buf_hold_array_by_bonus()
799 dmu_buf_t *db = dbp[i]; in dmu_read() local
803 bufoff = offset - db->db_offset; in dmu_read()
804 tocpy = (int)MIN(db->db_size - bufoff, size); in dmu_read()
806 bcopy((char *)db->db_data + bufoff, buf, tocpy); in dmu_read()
834 dmu_buf_t *db = dbp[i]; in dmu_write() local
838 bufoff = offset - db->db_offset; in dmu_write()
839 tocpy = (int)MIN(db->db_size - bufoff, size); in dmu_write()
841 ASSERT(i == 0 || i == numbufs-1 || tocpy == db->db_size); in dmu_write()
843 if (tocpy == db->db_size) in dmu_write()
844 dmu_buf_will_fill(db, tx); in dmu_write()
846 dmu_buf_will_dirty(db, tx); in dmu_write()
848 bcopy(buf, (char *)db->db_data + bufoff, tocpy); in dmu_write()
850 if (tocpy == db->db_size) in dmu_write()
851 dmu_buf_fill_done(db, tx); in dmu_write()
874 dmu_buf_t *db = dbp[i]; in dmu_prealloc() local
876 dmu_buf_will_not_fill(db, tx); in dmu_prealloc()
886 dmu_buf_t *db; in dmu_write_embedded() local
891 FTAG, &db)); in dmu_write_embedded()
893 dmu_buf_write_embedded(db, in dmu_write_embedded()
897 dmu_buf_rele(db, FTAG); in dmu_write_embedded()
1046 dmu_buf_t *db = dbp[i]; in dmu_read_uio_dnode() local
1050 bufoff = uio->uio_loffset - db->db_offset; in dmu_read_uio_dnode()
1051 tocpy = (int)MIN(db->db_size - bufoff, size); in dmu_read_uio_dnode()
1054 dmu_buf_impl_t *dbi = (dmu_buf_impl_t *)db; in dmu_read_uio_dnode()
1068 err = uiomove((char *)db->db_data + bufoff, tocpy, in dmu_read_uio_dnode()
1093 dmu_buf_impl_t *db = (dmu_buf_impl_t *)zdb; in dmu_read_uio_dbuf() local
1100 DB_DNODE_ENTER(db); in dmu_read_uio_dbuf()
1101 dn = DB_DNODE(db); in dmu_read_uio_dbuf()
1103 DB_DNODE_EXIT(db); in dmu_read_uio_dbuf()
1149 dmu_buf_t *db = dbp[i]; in dmu_write_uio_dnode() local
1153 bufoff = uio->uio_loffset - db->db_offset; in dmu_write_uio_dnode()
1154 tocpy = (int)MIN(db->db_size - bufoff, size); in dmu_write_uio_dnode()
1156 ASSERT(i == 0 || i == numbufs-1 || tocpy == db->db_size); in dmu_write_uio_dnode()
1158 if (tocpy == db->db_size) in dmu_write_uio_dnode()
1159 dmu_buf_will_fill(db, tx); in dmu_write_uio_dnode()
1161 dmu_buf_will_dirty(db, tx); in dmu_write_uio_dnode()
1169 err = uiomove((char *)db->db_data + bufoff, tocpy, in dmu_write_uio_dnode()
1172 if (tocpy == db->db_size) in dmu_write_uio_dnode()
1173 dmu_buf_fill_done(db, tx); in dmu_write_uio_dnode()
1198 dmu_buf_impl_t *db = (dmu_buf_impl_t *)zdb; in dmu_write_uio_dbuf() local
1205 DB_DNODE_ENTER(db); in dmu_write_uio_dbuf()
1206 dn = DB_DNODE(db); in dmu_write_uio_dbuf()
1208 DB_DNODE_EXIT(db); in dmu_write_uio_dbuf()
1258 dmu_buf_t *db = dbp[i]; in dmu_write_pages() local
1262 ASSERT3U(db->db_size, >=, PAGESIZE); in dmu_write_pages()
1264 bufoff = offset - db->db_offset; in dmu_write_pages()
1265 tocpy = (int)MIN(db->db_size - bufoff, size); in dmu_write_pages()
1267 ASSERT(i == 0 || i == numbufs-1 || tocpy == db->db_size); in dmu_write_pages()
1269 if (tocpy == db->db_size) in dmu_write_pages()
1270 dmu_buf_will_fill(db, tx); in dmu_write_pages()
1272 dmu_buf_will_dirty(db, tx); in dmu_write_pages()
1275 ASSERT3U(pp->p_offset, ==, db->db_offset + bufoff); in dmu_write_pages()
1278 bcopy(va, (char *)db->db_data + bufoff, thiscpy); in dmu_write_pages()
1284 if (tocpy == db->db_size) in dmu_write_pages()
1285 dmu_buf_fill_done(db, tx); in dmu_write_pages()
1301 dmu_buf_impl_t *db = (dmu_buf_impl_t *)handle; in dmu_request_arcbuf() local
1303 return (arc_loan_buf(db->db_objset->os_spa, size)); in dmu_request_arcbuf()
1327 dmu_buf_impl_t *db; in dmu_assign_arcbuf() local
1335 VERIFY((db = dbuf_hold(dn, blkid, FTAG)) != NULL); in dmu_assign_arcbuf()
1345 if (offset == db->db.db_offset && blksz == db->db.db_size && in dmu_assign_arcbuf()
1346 DBUF_GET_BUFC_TYPE(db) == ARC_BUFC_DATA) { in dmu_assign_arcbuf()
1347 dbuf_assign_arcbuf(db, buf, tx); in dmu_assign_arcbuf()
1348 dbuf_rele(db, FTAG); in dmu_assign_arcbuf()
1359 dbuf_rele(db, FTAG); in dmu_assign_arcbuf()
1378 dmu_buf_t *db = dsa->dsa_zgd->zgd_db; in dmu_sync_ready() local
1387 BP_SET_LSIZE(bp, db->db_size); in dmu_sync_ready()
1407 dmu_buf_impl_t *db = dr->dr_dbuf; in dmu_sync_done() local
1409 mutex_enter(&db->db_mtx); in dmu_sync_done()
1442 cv_broadcast(&db->db_changed); in dmu_sync_done()
1443 mutex_exit(&db->db_mtx); in dmu_sync_done()
1538 dmu_buf_impl_t *db = (dmu_buf_impl_t *)zgd->zgd_db; in dmu_sync() local
1539 objset_t *os = db->db_objset; in dmu_sync()
1551 db->db.db_object, db->db_level, db->db_blkid); in dmu_sync()
1553 DB_DNODE_ENTER(db); in dmu_sync()
1554 dn = DB_DNODE(db); in dmu_sync()
1555 dmu_write_policy(os, dn, db->db_level, WP_DMU_SYNC, &zp); in dmu_sync()
1556 DB_DNODE_EXIT(db); in dmu_sync()
1570 mutex_enter(&db->db_mtx); in dmu_sync()
1576 mutex_exit(&db->db_mtx); in dmu_sync()
1585 mutex_exit(&db->db_mtx); in dmu_sync()
1589 dr = db->db_last_dirty; in dmu_sync()
1598 mutex_exit(&db->db_mtx); in dmu_sync()
1626 DB_DNODE_ENTER(db); in dmu_sync()
1627 dn = DB_DNODE(db); in dmu_sync()
1628 if (dr->dr_next != NULL || dnode_block_freed(dn, db->db_blkid)) in dmu_sync()
1630 DB_DNODE_EXIT(db); in dmu_sync()
1640 mutex_exit(&db->db_mtx); in dmu_sync()
1646 mutex_exit(&db->db_mtx); in dmu_sync()
1655 bp, dr->dt.dl.dr_data, DBUF_IS_L2CACHEABLE(db), in dmu_sync()
1656 DBUF_IS_L2COMPRESSIBLE(db), &zp, dmu_sync_ready, in dmu_sync()
1941 dmu_buf_impl_t *db = (dmu_buf_impl_t *)db_fake; in dmu_object_info_from_db() local
1943 DB_DNODE_ENTER(db); in dmu_object_info_from_db()
1944 dmu_object_info_from_dnode(DB_DNODE(db), doi); in dmu_object_info_from_db()
1945 DB_DNODE_EXIT(db); in dmu_object_info_from_db()
1956 dmu_buf_impl_t *db = (dmu_buf_impl_t *)db_fake; in dmu_object_size_from_db() local
1959 DB_DNODE_ENTER(db); in dmu_object_size_from_db()
1960 dn = DB_DNODE(db); in dmu_object_size_from_db()
1966 DB_DNODE_EXIT(db); in dmu_object_size_from_db()