Date: Sun, 9 Dec 2018 15:18:58 -0800 From: Chuck Tuffli <chuck@freebsd.org> To: yuripv@yuripv.net Cc: freebsd-current@freebsd.org Subject: Re: nda(4) does not work (reliably) in VMware Workstation Message-ID: <CAKAYmM%2BRqymn0DXD6O43GFGMMsh790gDT95c3oQX43iaYFXVBA@mail.gmail.com> In-Reply-To: <015e28d3-3c6f-b5f3-b41a-5f6d367dddbb@yuripv.net> References: <015e28d3-3c6f-b5f3-b41a-5f6d367dddbb@yuripv.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Sat, Dec 8, 2018 at 12:28 PM Yuri Pankov <yuripv@yuripv.net> wrote: > Hi, > > Running -HEAD in VMware Workstation 15.0.2 VM. Trying to use nda(4) > instead of nvd(4) shows the following list of errors, and eventually > panics: > > https://people.freebsd.org/~yuripv/nda1.png > https://people.freebsd.org/~yuripv/nda2.png > > nvd(4) works without issues in this VM. nda(4) works as well in VMware > ESXi VMs. Is this a problem with WS NVMe emulation? > Since I don't have access to ESXi, the attached is a speculative fix. If it works, I'll clean this up a bit and get it committed. If not, please post the output from: nvmecontrol identtify nvme0 --chuck [-- Attachment #2 --] diff -r 1fbb2025b263 sys/cam/nvme/nvme_da.c --- a/sys/cam/nvme/nvme_da.c Sun Dec 09 21:53:45 2018 +0000 +++ b/sys/cam/nvme/nvme_da.c Sun Dec 09 15:18:08 2018 -0800 @@ -798,7 +798,7 @@ disk->d_mediasize = (off_t)(disk->d_sectorsize * nsd->nsze); disk->d_delmaxsize = disk->d_mediasize; disk->d_flags = DISKFLAG_DIRECT_COMPLETION; -// if (cd->oncs.dsm) // XXX broken? + if ((cd->oncs >> NVME_CTRLR_DATA_ONCS_DSM_SHIFT) & NVME_CTRLR_DATA_ONCS_DSM_MASK) disk->d_flags |= DISKFLAG_CANDELETE; vwc_present = (cd->vwc >> NVME_CTRLR_DATA_VWC_PRESENT_SHIFT) & NVME_CTRLR_DATA_VWC_PRESENT_MASK;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKAYmM%2BRqymn0DXD6O43GFGMMsh790gDT95c3oQX43iaYFXVBA>
