Lines Matching refs:b_pabd

131  * also in the arc_buf_hdr_t's private physical data block pointer (b_pabd).
134 * ability to store the physical data (b_pabd) associated with the DVA of the
135 * arc_buf_hdr_t. Since the b_pabd is a copy of the on-disk physical block,
138 * compressed ARC functionality is disabled, the b_pabd will point to an
177 * | b_pabd +-+ |b_next +---->+-----------+
194 * existing uncompressed arc_buf_t, decompresses the hdr's b_pabd buffer into a
195 * new data buffer, or shares the hdr's b_pabd buffer, depending on whether the
219 * | b_pabd +-+ |---------| |b_next +-->NULL
233 * Writing to the ARC requires that the ARC first discard the hdr's b_pabd
238 * a newly allocated b_pabd. Writes are always done into buffers which have
244 * When the L2ARC is in use, it will also take advantage of the b_pabd. The
245 * L2ARC will always write the contents of b_pabd to the L2ARC. This means
603 * Number of compressed bytes stored in the arc_buf_hdr_t's b_pabd.
609 * Uncompressed size of the data stored in b_pabd. If compressed
1088 abd_t *b_pabd;
1840 buf->b_hdr->b_l1hdr.b_pabd != NULL &&
1841 abd_is_linear(buf->b_hdr->b_l1hdr.b_pabd) &&
1842 buf->b_data == abd_to_buf(buf->b_hdr->b_l1hdr.b_pabd));
2287 abd_copy_to_buf(buf->b_data, hdr->b_l1hdr.b_pabd,
2339 hdr->b_l1hdr.b_pabd, buf->b_data,
2376 * Return the size of the block, b_pabd, that is stored in the arc_buf_hdr_t.
2408 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
2415 if (hdr->b_l1hdr.b_pabd != NULL) {
2443 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
2450 if (hdr->b_l1hdr.b_pabd != NULL) {
2547 update_old = (bufcnt > 0 || hdr->b_l1hdr.b_pabd != NULL);
2617 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
2646 if (hdr->b_l1hdr.b_pabd != NULL) {
2659 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
2699 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
2786 * with the hdr's b_pabd.
2863 * sharing it's b_pabd with the arc_buf_t. Otherwise, we allocate a new
2875 abd_is_linear(hdr->b_l1hdr.b_pabd);
2879 buf->b_data = abd_to_buf(hdr->b_l1hdr.b_pabd);
3010 l2arc_free_abd_on_write(hdr->b_l1hdr.b_pabd, size, type);
3024 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
3033 hdr->b_l1hdr.b_pabd = abd_get_from_buf(buf->b_data, arc_buf_size(buf));
3034 abd_take_ownership_of_buf(hdr->b_l1hdr.b_pabd,
3055 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
3064 abd_release_ownership_of_buf(hdr->b_l1hdr.b_pabd);
3065 abd_put(hdr->b_l1hdr.b_pabd);
3066 hdr->b_l1hdr.b_pabd = NULL;
3163 * hdr, then reassign the hdr's b_pabd to share it with the new
3178 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
3223 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
3224 hdr->b_l1hdr.b_pabd = arc_get_data_abd(hdr, arc_hdr_size(hdr), hdr, do_adapt);
3226 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
3236 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
3248 arc_free_data_abd(hdr, hdr->b_l1hdr.b_pabd,
3251 hdr->b_l1hdr.b_pabd = NULL;
3329 ASSERT3P(nhdr->b_l1hdr.b_pabd, ==, NULL);
3347 * l2arc device. Otherwise, the b_l1hdr.b_pabd field
3351 VERIFY3P(hdr->b_l1hdr.b_pabd, ==, NULL);
3447 ASSERT(!abd_is_linear(hdr->b_l1hdr.b_pabd));
3529 if (hdr->b_l1hdr.b_pabd != NULL) {
3600 * (i.e. its b_pabd field) during it's write phase.
3615 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
5368 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
5476 if (hdr != NULL && HDR_HAS_L1HDR(hdr) && hdr->b_l1hdr.b_pabd != NULL) {
5623 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
5644 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
5759 abd = hdr->b_l1hdr.b_pabd;
5821 rzio = zio_read(pio, spa, bp, hdr->b_l1hdr.b_pabd, size,
6010 * Now we need to recreate the hdr's b_pabd. Since we
6012 * we can't then we allocate a new b_pabd and copy the
6019 abd_copy_from_buf(hdr->b_l1hdr.b_pabd,
6036 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
6057 * Allocate a new hdr. The new hdr will contain a b_pabd
6137 if (hdr->b_l1hdr.b_pabd != NULL) {
6145 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
6184 * Ideally, we would always copy the io_abd into b_pabd, but the
6193 abd_copy(hdr->b_l1hdr.b_pabd, zio->io_abd, psize);
6197 abd_copy_from_buf(hdr->b_l1hdr.b_pabd, buf->b_data,
6356 * The hdr's b_pabd is now stale, free it now. A new data block
6359 if (hdr->b_l1hdr.b_pabd != NULL) {
6375 ASSERT3P(hdr->b_l1hdr.b_pabd, ==, NULL);
7444 abd_copy(hdr->b_l1hdr.b_pabd, cb->l2rcb_abd,
7461 zio->io_abd = zio->io_orig_abd = hdr->b_l1hdr.b_pabd;
7469 ASSERT3P(zio->io_abd, ==, hdr->b_l1hdr.b_pabd);
7502 hdr->b_l1hdr.b_pabd, zio->io_size, arc_read_done,
7767 ASSERT3P(hdr->b_l1hdr.b_pabd, !=, NULL);
7826 to_write = hdr->b_l1hdr.b_pabd;
7830 abd_copy(to_write, hdr->b_l1hdr.b_pabd, psize);