Re: [PATCH v3] dm: don't allow ioctls to targets that don't map to whole devices

2017-02-05 Thread Johannes Thumshirn
On 02/03/2017 10:41 PM, Bart Van Assche wrote: On Fri, 2017-02-03 at 19:17 +0100, Johannes Thumshirn wrote: Forgotten git add? git commit --amend without git add is such a classic mistake on my side as well :-/ Are you familiar with the -a option of git commit? Just run git commit -a --amend

Re: [PATCH] block: don't try Write Same from __blkdev_issue_zeroout

2017-02-05 Thread Junichi Nomura
On 02/06/17 02:10, Christoph Hellwig wrote: > Write Same can return an error asynchronously if it turns out the > underlying SCSI device does not support Write Same, which makes a > proper fallback to other methods in __blkdev_issue_zeroout impossible. > Thus only issue a Write Same from

[PATCH 3.10 283/319] cfq: fix starvation of asynchronous writes

2017-02-05 Thread Willy Tarreau
From: Glauber Costa commit 3932a86b4b9d1f0b049d64d4591ce58ad18b44ec upstream. While debugging timeouts happening in my application workload (ScyllaDB), I have observed calls to open() taking a long time, ranging everywhere from 2 seconds - the first ones that are enough to

[PATCH 1/9] virtio_pci: remove struct virtio_pci_vq_info

2017-02-05 Thread Christoph Hellwig
We don't really need struct virtio_pci_vq_info, as most field in there are redundant: - the vq backpointer is not strictly neede to start with - the entry in the vqs list is not needed - the generic virtqueue already has list, we only need to check if it has a callback to get the same

[PATCH 2/9] virtio_pci: use shared interrupts for virtqueues

2017-02-05 Thread Christoph Hellwig
This lets IRQ layer handle dispatching IRQs to separate handlers for the case where we don't have per-VQ MSI-X vectors, and allows us to greatly simplify the code based on the assumption that we always have interrupt vector 0 (legacy INTx or config interrupt for MSI-X) available, and any other

[PATCH 6/9] virtio: provide a method to get the IRQ affinity mask for a virtqueue

2017-02-05 Thread Christoph Hellwig
This basically passed up the pci_irq_get_affinity information through virtio through an optional get_vq_affinity method. It is only implemented by the PCI backend for now, and only when we use per-virtqueue IRQs. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Wang

[PATCH 7/9] blk-mq: provide a default queue mapping for virtio device

2017-02-05 Thread Christoph Hellwig
Similar to the PCI version, just calling into virtio instead. Signed-off-by: Christoph Hellwig --- block/Kconfig | 5 block/Makefile| 1 + block/blk-mq-virtio.c | 54 +++

[PATCH 3/9] virtio_pci: don't duplicate the msix_enable flag in struct pci_dev

2017-02-05 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig Reviewed-by: Jason Wang --- drivers/virtio/virtio_pci_common.c | 5 ++--- drivers/virtio/virtio_pci_common.h | 2 -- drivers/virtio/virtio_pci_legacy.c | 2 +- drivers/virtio/virtio_pci_modern.c | 2 +-

[PATCH 4/9] virtio_pci: simplify MSI-X setup

2017-02-05 Thread Christoph Hellwig
Try to grab the MSI-X vectors early and fall back to the shared one before doing lots of allocations. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Wang --- drivers/virtio/virtio_pci_common.c | 35 ++- 1 file changed, 18

[PATCH 8/9] virtio_blk: use virtio IRQ affinity

2017-02-05 Thread Christoph Hellwig
Use automatic IRQ affinity assignment in the virtio layer if available, and build the blk-mq queues based on it. Signed-off-by: Christoph Hellwig --- drivers/block/virtio_blk.c | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git

[PATCH 9/9] virtio_scsi: use virtio IRQ affinity

2017-02-05 Thread Christoph Hellwig
Use automatic IRQ affinity assignment in the virtio layer if available, and build the blk-mq queues based on it. Signed-off-by: Christoph Hellwig --- drivers/scsi/virtio_scsi.c | 126 + include/linux/cpuhotplug.h | 1 - 2 files changed,

[PATCH 5/9] virtio: allow drivers to request IRQ affinity when creating VQs

2017-02-05 Thread Christoph Hellwig
Add a struct irq_affinity pointer to the find_vqs methods, which if set is used to tell the PCI layer to create the MSI-X vectors for our I/O virtqueues with the proper affinity from the start. Compared to after the fact affinity hints this gives us an instantly working setup and allows to

automatic IRQ affinity for virtio V3

2017-02-05 Thread Christoph Hellwig
Hi Michael, hi Jason, This patches applies a few cleanups to the virtio PCI interrupt handling code, and then converts the virtio PCI code to use the automatic MSI-X vectors spreading, as well as using the information in virtio-blk and virtio-scsi to automatically align the blk-mq queues to the

[PATCH] block: don't try Write Same from __blkdev_issue_zeroout

2017-02-05 Thread Christoph Hellwig
Write Same can return an error asynchronously if it turns out the underlying SCSI device does not support Write Same, which makes a proper fallback to other methods in __blkdev_issue_zeroout impossible. Thus only issue a Write Same from blkdev_issue_zeroout an don't try it at all from