DF-2831 / instrument.diff
--- /home/maxx/dfbsd/dfbsd/sys/kern/subr_diskslice.c 2026-06-29 12:51:19.000000000 +0000 +++ subr_diskslice.c.inst 2026-09-01 21:48:45.404847188 +0000 @@ -845,7 +845,12 @@ u_int64_t blocks; slice = dkslice(dev); - part = dkpart(dev); + part = dkpart(dev); + kprintf("DF2831 ENTER %s slice=%d part=%d ssp=%p ns=%d mask=%d\n", + devtoname(dev), slice, part, *sspp, + *sspp ? (int)(*sspp)->dss_nslices : -1, + ((*sspp && slice < (*sspp)->dss_nslices) ? + !!dschkmask(&(*sspp)->dss_slices[slice], part) : -1)); ssp = *sspp; if (ssp == NULL || slice >= ssp->dss_nslices || !dschkmask(&ssp->dss_slices[slice], part)) { @@ -857,6 +862,10 @@ dev_dclose(dev, FREAD, S_IFCHR, NULL); ssp = *sspp; } + kprintf("DF2831 WALK ssp=%p ns=%d slice=%d part=%d label=%p\n", + ssp, ssp->dss_nslices, slice, part, + (slice < ssp->dss_nslices) ? + ssp->dss_slices[slice].ds_label.opaque : (void *)-1); lp = ssp->dss_slices[slice].ds_label; if (part == WHOLE_SLICE_PART) { blocks = ssp->dss_slices[slice].ds_size; @@ -867,6 +876,8 @@ if (ops->op_getpartbounds(ssp, lp, part, &start, &blocks)) return (-1); } + kprintf("DF2831 EXIT %s blocks=%llu\n", devtoname(dev), + (unsigned long long)blocks); return ((int64_t)blocks); } |