Lines Matching refs:offset

130 dmu_buf_hold_noread_by_dnode(dnode_t *dn, uint64_t offset,
136 blkid = dbuf_whichblock(dn, 0, offset);
150 dmu_buf_hold_noread(objset_t *os, uint64_t object, uint64_t offset,
161 blkid = dbuf_whichblock(dn, 0, offset);
177 dmu_buf_hold_by_dnode(dnode_t *dn, uint64_t offset,
186 err = dmu_buf_hold_noread_by_dnode(dn, offset, tag, dbp);
200 dmu_buf_hold(objset_t *os, uint64_t object, uint64_t offset,
209 err = dmu_buf_hold_noread(os, object, offset, tag, dbp);
431 dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length,
453 nblks = (P2ROUNDUP(offset + length, 1ULL << blkshift) -
454 P2ALIGN(offset, 1ULL << blkshift)) >> blkshift;
456 if (offset + length > dn->dn_datablksz) {
462 (longlong_t)offset, (longlong_t)length);
471 blkid = dbuf_whichblock(dn, 0, offset);
525 dmu_buf_hold_array(objset_t *os, uint64_t object, uint64_t offset,
535 err = dmu_buf_hold_array_by_dnode(dn, offset, length, read, tag,
544 dmu_buf_hold_array_by_bonus(dmu_buf_t *db_fake, uint64_t offset,
554 err = dmu_buf_hold_array_by_dnode(dn, offset, length, read, tag,
581 * the data starting at offset, and continuing to offset + len.
587 dmu_prefetch(objset_t *os, uint64_t object, int64_t level, uint64_t offset,
619 * offset + len - 1 is the last byte we want to prefetch for, and offset
622 * offset) is the first. Then the number we need to prefetch is the
626 nblks = dbuf_whichblock(dn, level, offset + len - 1) -
627 dbuf_whichblock(dn, level, offset) + 1;
629 nblks = (offset < dn->dn_datablksz);
633 blkid = dbuf_whichblock(dn, level, offset);
649 * On input, *start should be the first offset that does not need to be
650 * freed (e.g. "offset + length"). On return, *start will be the first
651 * offset that should be freed.
674 * indirect block at or before the input offset. We must
715 dmu_free_long_range_impl(objset_t *os, dnode_t *dn, uint64_t offset,
721 if (offset >= object_size)
724 if (length == DMU_OBJECT_END || offset + length > object_size)
725 length = object_size - offset;
733 chunk_end = chunk_begin = offset + length;
736 err = get_next_chunk(dn, &chunk_begin, offset);
739 ASSERT3U(chunk_begin, >=, offset);
766 uint64_t offset, uint64_t length)
774 err = dmu_free_long_range_impl(os, dn, offset, length);
782 if (err == 0 && offset == 0 && length == DMU_OBJECT_END)
815 dmu_free_range(objset_t *os, uint64_t object, uint64_t offset,
822 ASSERT(offset < UINT64_MAX);
823 ASSERT(size == -1ULL || size <= UINT64_MAX - offset);
824 dnode_free_range(dn, offset, size, tx);
830 dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
847 int newsz = offset > dn->dn_datablksz ? 0 :
848 MIN(size, dn->dn_datablksz - offset);
861 err = dmu_buf_hold_array_by_dnode(dn, offset, mylen,
873 bufoff = offset - db->db_offset;
878 offset += tocpy;
889 dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
898 VERIFY(0 == dmu_buf_hold_array(os, object, offset, size,
908 bufoff = offset - db->db_offset;
923 offset += tocpy;
931 dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
940 VERIFY(0 == dmu_buf_hold_array(os, object, offset, size,
952 dmu_write_embedded(objset_t *os, uint64_t object, uint64_t offset,
960 VERIFY0(dmu_buf_hold_noread(os, object, offset,
1154 * Starting at offset uio->uio_loffset.
1181 * Starting at offset uio->uio_loffset.
1258 * Starting at offset uio->uio_loffset.
1286 * Starting at offset uio->uio_loffset.
1310 dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
1320 err = dmu_buf_hold_array(os, object, offset, size,
1334 bufoff = offset - db->db_offset;
1357 offset += tocpy;
1392 dmu_assign_arcbuf(dmu_buf_t *handle, uint64_t offset, arc_buf_t *buf,
1404 blkid = dbuf_whichblock(dn, 0, offset);
1410 * We can only assign if the offset is aligned, the arc buf is the
1413 if (offset == db->db.db_offset && blksz == db->db.db_size) {
1431 dmu_write(os, object, offset, blksz, buf->b_data, tx);