vdev_label_t
label_offset = psize - VDEV_LABELS * sizeof (vdev_label_t);
return (offset + l * sizeof (vdev_label_t) + label_offset);
o_phys = offsetof(vdev_label_t, vl_vdev_phys);
offsetof(vdev_label_t, vl_be));
offsetof(vdev_label_t, vl_be),
offsetof(vdev_label_t, vl_vdev_phys),
(uint64_t)sizeof (vdev_label_t));
offsetof(vdev_label_t, vl_uberblock[(n) << VDEV_UBERBLOCK_SHIFT(vd)])
#define VDEV_BOOT_OFFSET (2 * sizeof (vdev_label_t))
#define VDEV_LABEL_START_SIZE (2 * sizeof (vdev_label_t) + VDEV_BOOT_SIZE)
#define VDEV_LABEL_END_SIZE (2 * sizeof (vdev_label_t))
vdev_label_t label;
psize = P2ALIGN(psize, (uint64_t)sizeof (vdev_label_t));
record->zi_start = offsetof(vdev_label_t, vl_uberblock[0]);
record->zi_start = offsetof(vdev_label_t, vl_vdev_phys);
record->zi_start = offsetof(vdev_label_t, vl_pad1);
record->zi_start = offsetof(vdev_label_t, vl_be);
uint64_t psize = P2ALIGN(fsize, sizeof (vdev_label_t));
adjpl = P2ALIGN(adjpl, (uint64_t)sizeof (vdev_label_t));
return (l * sizeof (vdev_label_t) + (l < VDEV_LABELS / 2 ?
0 : psize - VDEV_LABELS * sizeof (vdev_label_t)));
offsetof(vdev_label_t, vl_uberblock[(n) << VDEV_UBERBLOCK_SHIFT(sh)])
#define VDEV_BOOT_OFFSET (2 * sizeof (vdev_label_t))
#define VDEV_LABEL_START_SIZE (2 * sizeof (vdev_label_t) + VDEV_BOOT_SIZE)
#define VDEV_LABEL_END_SIZE (2 * sizeof (vdev_label_t))
ASSERT(P2PHASE_TYPED(size, sizeof (vdev_label_t), uint64_t) == 0);
return (l * sizeof (vdev_label_t) + (l < VDEV_LABELS / 2 ?
0 : size - VDEV_LABELS * sizeof (vdev_label_t)));
vdev_label_t *label;
size = P2ALIGN_TYPED(statbuf.st_size, sizeof (vdev_label_t), uint64_t);
if ((label = calloc(sizeof (vdev_label_t), 1)) == NULL)
if (pread64(fd, label, sizeof (vdev_label_t),
label_offset(size, l)) != sizeof (vdev_label_t)) {
memset(label, 0, sizeof (vdev_label_t));
size_t label_size = sizeof (vdev_label_t) - (2 * VDEV_PAD_SIZE);
ASSERT(P2PHASE_TYPED(size, sizeof (vdev_label_t), uint64_t) == 0);
return (l * sizeof (vdev_label_t) + (l < VDEV_LABELS / 2 ?
0 : size - VDEV_LABELS * sizeof (vdev_label_t)));
vdev_label_t *label;
size = P2ALIGN_TYPED(statbuf.st_size, sizeof (vdev_label_t), uint64_t);
if ((label = malloc(sizeof (vdev_label_t))) == NULL)
if (pread64(fd, label, sizeof (vdev_label_t),
label_offset(size, l)) != sizeof (vdev_label_t))
offsetof(vdev_label_t, vl_uberblock[(n) << VDEV_UBERBLOCK_SHIFT(vd)])
#define VDEV_BOOT_OFFSET (2 * sizeof (vdev_label_t))
#define VDEV_LABEL_START_SIZE (2 * sizeof (vdev_label_t) + VDEV_BOOT_SIZE)
#define VDEV_LABEL_END_SIZE (2 * sizeof (vdev_label_t))
offsetof(vdev_label_t, vl_be)), VDEV_PAD_SIZE,
osize = P2ALIGN(osize, (uint64_t)sizeof (vdev_label_t));
max_osize = P2ALIGN(max_osize, (uint64_t)sizeof (vdev_label_t));
vdev_label_t *label;
size = P2ALIGN_TYPED(s, sizeof (vdev_label_t), uint64_t);
label = kmem_alloc(sizeof (vdev_label_t), KM_SLEEP);
kmem_free(label, sizeof (vdev_label_t));
offsetof(vdev_label_t, vl_vdev_phys),
offsetof(vdev_label_t, vl_be),
offsetof(vdev_label_t, vl_uberblock),
offsetof(vdev_label_t, vl_be), VDEV_PAD_SIZE,
offsetof(vdev_label_t, vl_be),
ASSERT(offset < sizeof (vdev_label_t));
ASSERT(P2PHASE_TYPED(psize, sizeof (vdev_label_t), uint64_t) == 0);
return (offset + l * sizeof (vdev_label_t) + (l < VDEV_LABELS / 2 ?
0 : psize - VDEV_LABELS * sizeof (vdev_label_t)));
offsetof(vdev_label_t, vl_vdev_phys),
offset += (VDEV_LABELS / 2) * sizeof (vdev_label_t);
l = offset / sizeof (vdev_label_t);
offsetof(vdev_label_t, vl_vdev_phys),