diff --git a/sys/dev/disk/xdisk/xdisk.c b/sys/dev/disk/xdisk/xdisk.c --- a/sys/dev/disk/xdisk/xdisk.c +++ b/sys/dev/disk/xdisk/xdisk.c @@ -832,7 +832,9 @@ if ((sc = ap->a_head.a_dev->si_drv1) == NULL) return (ENXIO); + lockmgr(&xdisk_lk, LK_SHARED); ap->a_result = sc->info.d_media_blocks; + lockmgr(&xdisk_lk, LK_RELEASE); return (0); }