Message ID | 20201026105504.4023620-3-philmd@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series | util/vfio-helpers: Allow using multiple MSIX IRQs | expand |
Hi, On 10/26/20 11:54 AM, Philippe Mathieu-Daudé wrote: > When introducing this driver in commit bdd6a90a9e5 > ("block: Add VFIO based NVMe driver") we correctly > set the request_alignment in nvme_refresh_limits() > but forgot to set it at initialization. Do it now. > > Reported-by: Stefan Hajnoczi <stefanha@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Thanks Eric > --- > block/nvme.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/block/nvme.c b/block/nvme.c > index 029694975b9..aa290996679 100644 > --- a/block/nvme.c > +++ b/block/nvme.c > @@ -727,6 +727,7 @@ static int nvme_init(BlockDriverState *bs, const char *device, int namespace, > s->page_size = MAX(4096, 1u << (12 + NVME_CAP_MPSMIN(cap))); > s->doorbell_scale = (4 << NVME_CAP_DSTRD(cap)) / sizeof(uint32_t); > bs->bl.opt_mem_alignment = s->page_size; > + bs->bl.request_alignment = s->page_size; > timeout_ms = MIN(500 * NVME_CAP_TO(cap), 30000); > > /* Reset device to get a clean state. */ >
On Mon, Oct 26, 2020 at 11:54:47AM +0100, Philippe Mathieu-Daudé wrote: > When introducing this driver in commit bdd6a90a9e5 > ("block: Add VFIO based NVMe driver") we correctly > set the request_alignment in nvme_refresh_limits() > but forgot to set it at initialization. Do it now. This patch is fine but the commit description does not explain why this change is necessary. Is there a bug and how can it be triggered? Or is this code change just for consistency? > Reported-by: Stefan Hajnoczi <stefanha@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > block/nvme.c | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/block/nvme.c b/block/nvme.c index 029694975b9..aa290996679 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -727,6 +727,7 @@ static int nvme_init(BlockDriverState *bs, const char *device, int namespace, s->page_size = MAX(4096, 1u << (12 + NVME_CAP_MPSMIN(cap))); s->doorbell_scale = (4 << NVME_CAP_DSTRD(cap)) / sizeof(uint32_t); bs->bl.opt_mem_alignment = s->page_size; + bs->bl.request_alignment = s->page_size; timeout_ms = MIN(500 * NVME_CAP_TO(cap), 30000); /* Reset device to get a clean state. */
When introducing this driver in commit bdd6a90a9e5 ("block: Add VFIO based NVMe driver") we correctly set the request_alignment in nvme_refresh_limits() but forgot to set it at initialization. Do it now. Reported-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- block/nvme.c | 1 + 1 file changed, 1 insertion(+)