Module Name: src Committed By: jakllsch Date: Thu Jan 27 18:38:07 UTC 2022
Modified Files: src/sys/dev/pci: vioscsi.c Log Message: We no need for PQUIRK_FORCELUNS now that we try REPORT LUNS. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/sys/dev/pci/vioscsi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/vioscsi.c diff -u src/sys/dev/pci/vioscsi.c:1.28 src/sys/dev/pci/vioscsi.c:1.29 --- src/sys/dev/pci/vioscsi.c:1.28 Fri Nov 12 07:18:53 2021 +++ src/sys/dev/pci/vioscsi.c Thu Jan 27 18:38:07 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: vioscsi.c,v 1.28 2021/11/12 07:18:53 skrll Exp $ */ +/* $NetBSD: vioscsi.c,v 1.29 2022/01/27 18:38:07 jakllsch Exp $ */ /* $OpenBSD: vioscsi.c,v 1.3 2015/03/14 03:38:49 jsg Exp $ */ /* @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vioscsi.c,v 1.28 2021/11/12 07:18:53 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vioscsi.c,v 1.29 2022/01/27 18:38:07 jakllsch Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -192,25 +192,10 @@ vioscsi_attach(device_t parent, device_t chan->chan_adapter = adapt; chan->chan_bustype = &scsi_bustype; chan->chan_channel = 0; - chan->chan_ntargets = MIN(max_target, 16); /* cap reasonably */ - chan->chan_nluns = MIN(max_lun, 1024); /* cap reasonably */ - chan->chan_id = max_target; + chan->chan_ntargets = MIN(1 + max_target, 256); /* cap reasonably */ + chan->chan_nluns = MIN(1 + max_lun, 16384); /* cap reasonably */ + chan->chan_id = max_target + 1; chan->chan_flags = SCSIPI_CHAN_NOSETTLE; - /* - * XXX Remove this when scsipi is REPORT LUNS-aware. - * scsipi(4) insists that LUNs must be contiguous starting from 0. - * This is not true on Linode (circa 2020). - * - * Also if explicitly selecting the 'Virtio SCSI Single' - * controller (which is not the default SCSI controller) on - * Proxmox hosts, each disk will be on its own scsi bus at - * target 0 but unexpectedly on a LUN matching the drive number - * on the system (i.e. drive 0 will be bus 0, target 0, lun - * 0; drive 1 will be bus 1, target 0, lun 1, drive 2 will be - * bus 2, target 0, lun 2 -- which is where the gaps start - * happening). https://bugzilla.proxmox.com/show_bug.cgi?id=2985 - */ - chan->chan_defquirks = PQUIRK_FORCELUNS; config_found(self, &sc->sc_channel, scsiprint, CFARGS_NONE); return;