Lines Matching defs:slice
177 caddr_t addr, size_t nbytes, int slice, diskaddr_t offset,
181 caddr_t addr, size_t nbytes, int slice, diskaddr_t offset,
184 size_t nbytes, int slice, diskaddr_t offset,
187 int slice, diskaddr_t offset, struct buf *bufp,
766 * the handshake do be done so that we know the type of the disk (slice
1073 * of 2 is used in keeping with the Solaris convention that slice 2
1111 * a minor node 'g' for the minor number corresponding to slice
1112 * VD_EFI_WD_SLICE (slice 7) instead they have a minor node 'wd'
1178 nblocks = vdc->slice[VDCPART(dev)].nblocks;
1191 * This function checks if any slice of a given virtual disk is
1198 * B_TRUE - at least one slice is opened.
1199 * B_FALSE - no slice is opened.
1222 vdc_mark_opened(vdc_t *vdc, int slice, int flag, int otyp)
1228 ASSERT(slice < V_NUMPAR);
1231 slicemask = 1 << slice;
1234 * If we have a single-slice disk which was unavailable during the
1236 * the type is known, we prevent opening any slice other than 0
1239 if (vdc->vdisk_type == VD_DISK_TYPE_SLICE && slice != 0)
1242 /* check if slice is already exclusively opened */
1246 /* if open exclusive, check if slice is already opened */
1248 if (vdc->open_lyr[slice] > 0)
1257 /* mark slice as opened */
1259 vdc->open_lyr[slice]++;
1268 vdc_mark_closed(vdc_t *vdc, int slice, int flag, int otyp)
1273 ASSERT(slice < V_NUMPAR);
1276 slicemask = 1 << slice;
1279 ASSERT(vdc->open_lyr[slice] > 0);
1280 vdc->open_lyr[slice]--;
1295 int slice, status = 0;
1312 slice = VDCPART(*dev);
1323 status = vdc_mark_opened(vdc, slice, flag, otyp);
1332 * handshake to complete because we don't know if the slice
1346 vdc_mark_closed(vdc, slice, flag, otyp);
1363 (vdc->vdisk_type == VD_DISK_TYPE_SLICE && slice != 0) ||
1365 vdc->slice[slice].nblocks == 0))) {
1366 vdc_mark_closed(vdc, slice, flag, otyp);
1381 int slice;
1397 slice = VDCPART(dev);
1413 vdc_mark_closed(vdc, slice, flag, otyp);
1498 int slice;
1515 slice = VD_SLICE_NONE;
1517 slice = VDCPART(buf->b_edev);
1535 buf->b_bcount, slice, vio_blkno,
2899 dep->payload.slice = ldep->slice;
2920 * slice - the disk slice this request is for
2931 size_t nbytes, int slice, diskaddr_t offset, buf_t *bufp,
2937 ASSERT(slice == VD_SLICE_NONE || slice < V_NUMPAR);
2964 nbytes, slice, offset, bufp, dir, flags);
3007 nbytes, slice, offset, bufp, dir, flags & ~VDC_OP_RESUBMIT));
3052 * slice - the disk slice this request is for
3065 size_t nbytes, int slice, diskaddr_t offset,
3112 local_dep->slice = slice;
3224 * slice - the disk slice this request is for
3237 vdc_do_op(vdc_t *vdc, int op, caddr_t addr, size_t nbytes, int slice,
3256 rv = vdc_send_request(vdc, op, addr, nbytes, slice, offset, bufp,
3331 * slice - the disk slice this request is for
3349 int slice, diskaddr_t offset, vio_desc_direction_t dir, boolean_t rconflict)
3386 status = vdc_do_op(vdcp, operation, addr, nbytes, slice, offset,
3975 curr_ldep->slice, curr_ldep->offset,
5279 * nodes. If we now find out that this is a single-slice disk
8160 * actual slice (i.e. minor node) that is used to request the data.
8395 * Single slice disk does not support read using an absolute disk
8477 bcopy(vdc->slice, &old_slice, sizeof (vd_slice_t) * V_NUMPAR);
8661 bzero(vdc->slice, sizeof (vd_slice_t) * V_NUMPAR);
8672 vdc->slice[i].start = gpe[i].efi_gpe_StartingLBA;
8673 vdc->slice[i].nblocks = gpe[i].efi_gpe_EndingLBA -
8678 vdc->slice[VD_EFI_WD_SLICE].start = 0;
8679 vdc->slice[VD_EFI_WD_SLICE].nblocks = vdc->vdisk_size;
8694 bzero(vdc->slice, sizeof (vd_slice_t) * V_NUMPAR);
8697 vdc->slice[i].start = vtoc->v_part[i].p_start;
8698 vdc->slice[i].nblocks = vtoc->v_part[i].p_size;
8710 bzero(vdc->slice, sizeof (vd_slice_t) * V_NUMPAR);