Any update on this ?
In V6, I have posted has only defect fixes (Other than HBA Hot-Plug
Surprise remove support).
We are reworking and incorporating the suggestions from Bjorn.
And after covering tests, we ll post Hot-Plug Surprise removal patches.
Thanks,
Suganath Prabu
On Tue, Oct 23, 2018 at
Updating MPI headers to the latest version 2.6.7 to
add support to the driver to detect the new 3816
and 3916 chip based controllers.
Separate out firmware image data from mpi2_ioc.h
to new file mpi2_image.h
Signed-off-by: Suganath Prabu
---
drivers/scsi/mpt3sas/mpi/mpi2.h | 17 +-
driv
Add support for Aero/Sea controllers and
add warning for configurable secure type IOC.
Signed-off-by: Suganath Prabu
---
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 30 --
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
1) Updated MPI headers to the latest version 2.6.7.
2) Added support for Aero/Sea controllers.
V1 changes:
In Patch 2,
ioc->name is populated later, so fixing ioc->name
before using it in ioc_warn.
Enable Warning message only for aero configurable
controllers.
Suganath Prabu (2):
mpt3sas: Upd
On Mon, Oct 29, 2018 at 10:05:49PM +0200, Sam Protsenko wrote:
> Hi Greg,
>
> On Mon, Oct 29, 2018 at 10:03 PM, Sam Protsenko
> wrote:
> > The kernel is self-contained project and can be built with bare-metal
> > toolchain. But bare-metal toolchain doesn't define __linux__. Because of
> > this u_
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> Only one of the two code paths in qlafx00_ioctl_iosb_entry() initializes
> the variable 'res'. Make sure that 'res' is initialized before
> sp->done(sp, res) is called.
>
> Cc: Himanshu Madhani
> Signed-off-by: Bart
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> This patch avoids that the compiler complains about missing declarations
> when building with W=1.
>
> Cc: Himanshu Madhani
> Signed-off-by: Bart Van Assche
> ---
> drivers/scsi/qla2xxx/qla_init.c | 5 +++--
> 1 fil
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> Modify the unlock statement such that it becomes easier for static
> analyzers to analyze it. This patch does not change any functionality.
>
> Cc: Himanshu Madhani
> Signed-off-by: Bart Van Assche
> ---
> drivers/
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> This patch does not change any functionality.
>
> Cc: Himanshu Madhani
> Signed-off-by: Bart Van Assche
> ---
> drivers/scsi/qla2xxx/qla_os.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff -
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> Move a debug statement from qlafx00_error_entry() into its caller. Remove
> one unused argument from that function. This patch does not change the
> behavior of the qla2xxx driver.
>
> Cc: Himanshu Madhani
> Signed-
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> This patch avoids that complaints about kernel-doc headers are reported
> when building with W=1.
>
> Cc: Himanshu Madhani
> Signed-off-by: Bart Van Assche
> ---
> drivers/scsi/qla2xxx/qla_iocb.c | 4 ++--
> drive
> On Oct 18, 2018, at 3:45 PM, Bart Van Assche wrote:
>
> External Email
>
> This patch avoids that the compiler complains about missing fall-through
> annotations when building with W=1.
>
> Cc: Himanshu Madhani
> Signed-off-by: Bart Van Assche
> ---
> drivers/scsi/qla2xxx/qla_init.c | 2
On Wed, 17 Oct 2018 17:48:17 +0200, David Disseldorp wrote:
> This patchset removes a couple of unused error stat counters and a
> redundant cumulative counter.
> I've tagged this patchset RFC, as it may be considered a kernel<->user
> (configfs) API change.
Ping, any thoughts on this patchset?
On Sat, 2018-10-27 at 10:20 +0200, Christoph Hellwig wrote:
> Now that all the users are gone the SCSI OSD library can be removed
> as well.
Reviewed-by: Bart Van Assche
On 10/27/18 2:20 AM, Christoph Hellwig wrote:
> The only real user of the T10 OSD protocol, the pNFS object layout
> driver never went to the point of having shipping products, and we
> removed it 1.5 years ago. Exofs is just a simple example without
> real life users.
>
> The code has been mostl
On Sat, 2018-10-27 at 10:20 +0200, Christoph Hellwig wrote:
> This was an example for using the SCSI OSD protocol, which we're trying
> to remove.
Reviewed-by: Bart Van Assche
On 10/29/18 2:25 PM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 14:09 -0600, Jens Axboe wrote:
>> hctx->type will be set to the value of the first type. This is all driver
>> private, blk-mq could not care less what the value of the type means.
>>
>> As to the other question, it works just fine
On Mon, 2018-10-29 at 14:09 -0600, Jens Axboe wrote:
> hctx->type will be set to the value of the first type. This is all driver
> private, blk-mq could not care less what the value of the type means.
>
> As to the other question, it works just fine since that is the queue
> that is being accessed
On 10/29/18 2:00 PM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 13:53 -0600, Jens Axboe wrote:
>> On 10/29/18 1:40 PM, Bart Van Assche wrote:
>>> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
-static int cpu_to_queue_index(unsigned int nr_queues, const int cpu)
+static int cpu_
Cc: Arnd, I guess it might be useful for kernel-ci activity as well.
On Mon, Oct 29, 2018 at 10:05 PM Sam Protsenko
wrote:
>
> Hi Greg,
>
> On Mon, Oct 29, 2018 at 10:03 PM, Sam Protsenko
> wrote:
> > The kernel is self-contained project and can be built with bare-metal
> > toolchain. But bare-m
Hi Greg,
On Mon, Oct 29, 2018 at 10:03 PM, Sam Protsenko
wrote:
> The kernel is self-contained project and can be built with bare-metal
> toolchain. But bare-metal toolchain doesn't define __linux__. Because of
> this u_quad_t type is not defined when using bare-metal toolchain and
> codafs build
The kernel is self-contained project and can be built with bare-metal
toolchain. But bare-metal toolchain doesn't define __linux__. Because of
this u_quad_t type is not defined when using bare-metal toolchain and
codafs build fails. This patch fixes it by defining u_quad_t type
unconditionally.
Si
On Mon, 2018-10-29 at 13:53 -0600, Jens Axboe wrote:
> On 10/29/18 1:40 PM, Bart Van Assche wrote:
> > On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> > > -static int cpu_to_queue_index(unsigned int nr_queues, const int cpu)
> > > +static int cpu_to_queue_index(struct blk_mq_queue_map *qmap,
On 10/29/18 1:40 PM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> -static int cpu_to_queue_index(unsigned int nr_queues, const int cpu)
>> +static int cpu_to_queue_index(struct blk_mq_queue_map *qmap,
>> + unsigned int nr_queues, const in
On 10/29/18 1:30 PM, Jens Axboe wrote:
> On 10/29/18 1:27 PM, Bart Van Assche wrote:
>> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>>> void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
>>> {
>>> struct blk_mq_ctx *this_ctx;
>>> @@ -1628,7 +1649,7 @@ void blk_mq_
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> -static int cpu_to_queue_index(unsigned int nr_queues, const int cpu)
> +static int cpu_to_queue_index(struct blk_mq_queue_map *qmap,
> + unsigned int nr_queues, const int cpu)
> {
> - return cpu % nr_queues;
> +
On 10/29/18 1:27 PM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
>> {
>> struct blk_mq_ctx *this_ctx;
>> @@ -1628,7 +1649,7 @@ void blk_mq_flush_plug_list(struct blk_plug *plug,
>> bo
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
> {
> struct blk_mq_ctx *this_ctx;
> @@ -1628,7 +1649,7 @@ void blk_mq_flush_plug_list(struct blk_plug *plug, bool
> from_schedule)
> struct request *rq;
>
On 10/29/18 12:15 PM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> -static inline struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue
>> *q,
>> - unsigned int flags,
>> -
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> struct blk_mq_tag_set {
> - unsigned int*mq_map;
> + struct blk_mq_queue_map map[HCTX_MAX_TYPES];
> const struct blk_mq_ops *ops;
> unsigned intnr_hw_queues;
> unsigned intqueue_dept
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> With multiple maps, nr_cpu_ids is no longer the maximum number of
> hardware queues we support on a given devices. The initializer of
> the tag_set can have set ->nr_hw_queues larger than the available
> number of CPUs, since we can exceed that
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> -static inline struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue *q,
> - unsigned int flags,
> - int cpu)
> +static inline struct blk_mq
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> It can be useful for a user to verify what type a given hardware
> queue is, expose this information in sysfs.
Reviewed-by: Bart Van Assche
On 10/29/18 11:34 AM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> The mapping used to be dependent on just the CPU location, but
>> now it's a tuple of { type, cpu} instead. This is a prep patch
>> for allowing a single software queue to map to multiple hardware
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> The mapping used to be dependent on just the CPU location, but
> now it's a tuple of { type, cpu} instead. This is a prep patch
> for allowing a single software queue to map to multiple hardware
> queues. No functional changes in this patch.
A
On 10/29/18 11:30 AM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> @@ -400,9 +402,15 @@ void blk_mq_sched_insert_requests(struct request_queue
>> *q,
>>struct blk_mq_ctx *ctx,
>>struct list_head *li
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> @@ -400,9 +402,15 @@ void blk_mq_sched_insert_requests(struct request_queue
> *q,
> struct blk_mq_ctx *ctx,
> struct list_head *list, bool run_queue_async)
> {
> - struct blk
On 10/29/18 11:22 AM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> diff --git a/block/blk-mq.h b/block/blk-mq.h
>> index 889f0069dd80..79c300faa7ce 100644
>> --- a/block/blk-mq.h
>> +++ b/block/blk-mq.h
>> @@ -80,6 +80,12 @@ static inline struct blk_mq_hw_ctx
>>
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> diff --git a/block/blk-mq.h b/block/blk-mq.h
> index 889f0069dd80..79c300faa7ce 100644
> --- a/block/blk-mq.h
> +++ b/block/blk-mq.h
> @@ -80,6 +80,12 @@ static inline struct blk_mq_hw_ctx
> *blk_mq_map_queue(struct request_queue *q,
> r
On 10/29/18 11:08 AM, Thomas Gleixner wrote:
> Jens,
>
> On Mon, 29 Oct 2018, Jens Axboe wrote:
>
>> A driver may have a need to allocate multiple sets of MSI/MSI-X
>> interrupts, and have them appropriately affinitized. Add support for
>> defining a number of sets in the irq_affinity structure,
Jens,
On Mon, 29 Oct 2018, Jens Axboe wrote:
> A driver may have a need to allocate multiple sets of MSI/MSI-X
> interrupts, and have them appropriately affinitized. Add support for
> defining a number of sets in the irq_affinity structure, of varying
> sizes, and get each set affinitized correct
On 10/23/18 10:41 PM, James Smart wrote:
The switches seem to respond faster to GID_PT vs GID_FT NameServer
queries. Add support for GID_PT to be used over GID_FT to enable
faster storage failover detection. Includes addition of new module
parameter to select between GID_PT and GID_FT (GID_FT is
On 10/29/18 5:34 PM, Jens Axboe wrote:
Get rid of the special bsg job fn and timeout handler, move them
into a private bsg_set instead.
Mostly from Christoph, with fixes for error handling and cleanups.
Signed-off-by: Jens Axboe
---
block/bsg-lib.c | 43 ++
On 10/29/18 5:34 PM, Jens Axboe wrote:
Requires a few changes to the FC transport class as well.
Cc: linux-scsi@vger.kernel.org
Reviewed-by: Johannes Thumshirn
Tested-by: Benjamin Block
Signed-off-by: Jens Axboe
---
block/bsg-lib.c | 123 +++
dr
On 10/29/18 5:34 PM, Jens Axboe wrote:
All drivers do unregister + cleanup, provide a helper for that.
Cc: linux-scsi@vger.kernel.org
Reviewed-by: Johannes Thumshirn
Reviewed-by: Christoph Hellwig
Tested-by: Benjamin Block
Signed-off-by: Jens Axboe
---
block/bsg-lib.c |
On 10/29/18 5:34 PM, Jens Axboe wrote:
Nobody is using the legacy path for blk_lld_busy() anymore, remove
it.
Signed-off-by: Jens Axboe
---
block/blk-core.c | 2 --
block/blk-settings.c | 6 --
include/linux/blkdev.h | 3 ---
3 files changed, 11 deletions(-)
Reviewed-by: Hann
On 10/29/18 5:34 PM, Jens Axboe wrote:
Only the SCSI legacy path provides a way to check if target is
currently busy, provide the same for the MQ path.
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Jens Axboe
---
drivers/scsi/scsi_lib.c | 6 ++
1 file changed, 6 insertions(+)
Reviewed-
On 10/29/18 5:34 PM, Jens Axboe wrote:
We'll hook into this from blk_lld_busy(), allowing blk-mq to also
return whether or not a given queue currently has requests in
progress.
Signed-off-by: Jens Axboe
---
block/blk-core.c | 2 ++
include/linux/blk-mq.h | 6 ++
2 files changed, 8
On 10/29/18 10:46 AM, Bart Van Assche wrote:
> On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
>> It's just a pointer to set->mq_map, use that instead.
>
> Please clarify in the patch description that the q->tag_set assignment
> has been moved because this patch makes it necessary to have tha
On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
> It's just a pointer to set->mq_map, use that instead.
Please clarify in the patch description that the q->tag_set assignment
has been moved because this patch makes it necessary to have that pointer
available earlier such that it is clear that
This series adds support for multiple queue maps for blk-mq.
Since blk-mq was introduced, it's only support a single queue
map. This means you can have 1 set of queues, and the mapping
purely depends on what CPU an IO originated from. With this
patch set, drivers can implement mappings that depend
Doesn't do anything right now, but it's needed as a prep patch
to get the interfaces right.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 889f0069dd80..79c300faa7ce 100644
This is in preparation for allowing multiple sets of maps per
queue, if so desired.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq-cpumap.c | 10
block/blk-mq-pci.c| 10
block/blk-mq-rdma.c | 4 ++-
Prep patch for being able to place request based not just on
CPU location, but also on the type of request.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-flush.c | 7 +++---
block/blk-mq-debugfs.c | 4 +++-
block/blk-mq-sched.c | 16 ++
block/blk-mq-t
It can be useful for a user to verify what type a given hardware
queue is, expose this information in sysfs.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq-sysfs.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.
A driver may have a need to allocate multiple sets of MSI/MSI-X
interrupts, and have them appropriately affinitized. Add support for
defining a number of sets in the irq_affinity structure, of varying
sizes, and get each set affinitized correctly across the machine.
Cc: Thomas Gleixner
Cc: linux-
Add a queue offset to the tag map. This enables users to map
iteratively, for each queue map type they support.
Bump maximum number of supported maps to 2, we're now fully
able to support more than 1 map.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq-cpumap.c | 9 +++
Since we insert per hardware queue, we have to ensure that every
request on the plug list being inserted belongs to the same
hardware queue.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq.c | 27 +--
1 file changed, 25 insertions(+), 2 deletions(
Add support for the tag set carrying multiple queue maps, and
for the driver to inform blk-mq how many it wishes to support
through setting set->nr_maps.
This adds an mq_ops helper for drivers that support more than 1
map, mq_ops->flags_to_type(). The function takes request/bio flags
and CPU, and
The mapping used to be dependent on just the CPU location, but
now it's a tuple of { type, cpu} instead. This is a prep patch
for allowing a single software queue to map to multiple hardware
queues. No functional changes in this patch.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
We use IOCB_HIPRI to poll for IO in the caller instead of scheduling.
This information is not available for (or after) IO submission. The
driver may make different queue choices based on the type of IO, so
make the fact that we will poll for this IO known to the lower layers
as well.
Reviewed-by:
NVMe does round-robin between queues by default, which means that
sharing a queue map for both reads and writes can be problematic
in terms of read servicing. It's much easier to flood the queue
with writes and reduce the read servicing.
Implement two queue maps, one for reads and one for writes.
Adds support for defining a variable number of poll queues, currently
configurable with the 'poll_queues' module parameter. Defaults to
a single poll queue.
And now we finally have poll support without triggering interrupts!
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
drivers/nv
With multiple maps, nr_cpu_ids is no longer the maximum number of
hardware queues we support on a given devices. The initializer of
the tag_set can have set ->nr_hw_queues larger than the available
number of CPUs, since we can exceed that with multiple queue maps.
Reviewed-by: Hannes Reinecke
Sig
It's just a pointer to set->mq_map, use that instead.
Reviewed-by: Christoph Hellwig
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq.c | 13 -
block/blk-mq.h | 4 +++-
include/linux/blkdev.h | 2 --
3 files changed, 7 insertions(+), 12 dele
Get rid of the special bsg job fn and timeout handler, move them
into a private bsg_set instead.
Mostly from Christoph, with fixes for error handling and cleanups.
Signed-off-by: Jens Axboe
---
block/bsg-lib.c | 43 ++---
include/linux/blkdev.h | 5
It'll always be false at this point, just remove it.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-merge.c | 25 +++--
1 file changed, 3 insertions(+), 22 deletions(-)
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 7fedc0391610..3561dcce2260
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-core.c | 8
block/blk.h | 1 -
2 files changed, 9 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index 0678ec4b1169..951e8cf082e1 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -57,11 +57,
Cc: linux-scsi@vger.kernel.org
Acked-by: Himanshu Madhani
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
Documentation/scsi/scsi-parameters.txt | 5 -
drivers/scsi/Kconfig | 12 -
drivers/scsi/cxlflash/main.c | 6 -
drivers/scsi/hosts.c
It's now dead code, nobody uses it.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-cgroup.c | 47
block/blk-core.c | 75 --
block/blk-mq.c | 4 --
block/blk.h| 3 --
include/linux/
This removes a bunch of core and elevator related code. On the core
front, we remove anything related to queue running, draining,
initialization, plugging, and congestions. We also kill anything
related to request allocation, merging, retrieval, and completion.
Remove any checking for single queue
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-flush.c | 154 +-
block/blk.h | 4 +-
2 files changed, 31 insertions(+), 127 deletions(-)
diff --git a/block/blk-flush.c b/block/blk-flush.c
index 8b44b86779da..9baa9a119447
ide-disk and ide-cd tested as working just fine, ide-tape and
ide-floppy haven't. But the latter don't require changes, so they
should work without issue.
Add helper function to insert a request from a work queue, since we
cannot invoke the blk-mq request insertion from IRQ context.
Cc: David Mil
It's now unused, kill it.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
Documentation/block/biodoc.txt | 88
block/Makefile | 2 +-
block/blk-core.c | 6 -
block/blk-mq-debugfs.c | 2 -
block/blk-mq-tag.c | 6 +-
b
The only user of legacy timing now is BSG, which is invoked
from the mq timeout handler. Kill the legacy code, and rename
the q->rq_timed_out_fn to q->bsg_job_timeout_fn.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-core.c | 1 -
block/blk-settings.c | 7 ---
b
No point in hiding what this does, just open code it in the
one spot where we are still using it.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq.c | 2 +-
include/linux/blkdev.h | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/block/blk-mq.c
We don't do anything with it, that's just the legacy path.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq.c | 5 -
1 file changed, 5 deletions(-)
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 3f91c6e5b17a..4c82dc44d4d8 100644
--- a/block/blk-mq.c
+++ b/block/b
This is dead code, any queue reaching this part has mq_ops
attached.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-merge.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 3561dcce2260..0128284bded4 100644
--- a/block/blk-m
Nobody is using the legacy path for blk_lld_busy() anymore, remove
it.
Signed-off-by: Jens Axboe
---
block/blk-core.c | 2 --
block/blk-settings.c | 6 --
include/linux/blkdev.h | 3 ---
3 files changed, 11 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index c99088d0
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-mq.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 4c82dc44d4d8..a58d2d953876 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -177,8 +177,6 @@ void blk_freeze_queue(struct reques
We'll hook into this from blk_lld_busy(), allowing blk-mq to also
return whether or not a given queue currently has requests in
progress.
Signed-off-by: Jens Axboe
---
block/blk-core.c | 2 ++
include/linux/blk-mq.h | 6 ++
2 files changed, 8 insertions(+)
diff --git a/block/blk-core.
Now there's no difference between blk_put_request() and
__blk_put_request() anymore, get rid of the underscore version and
convert the few callers.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-core.c | 9 -
block/blk-merge.c | 2
Only the SCSI legacy path provides a way to check if target is
currently busy, provide the same for the MQ path.
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Jens Axboe
---
drivers/scsi/scsi_lib.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/s
This will ease in the conversion to blk-mq, where we can't set
a timeout handler after queue init.
Cc: Johannes Thumshirn
Cc: linux-scsi@vger.kernel.org
Reviewed-by: Hannes Reinecke
Tested-by: Benjamin Block
Signed-off-by: Jens Axboe
---
block/bsg-lib.c | 3 ++-
drivers/sc
Everything is blk-mq at this point, so it doesn't make any sense
to have this option available as it does nothing.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/Kconfig | 6 --
block/blk-wbt.c | 3 +--
2 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/block/
It's now unused.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-softirq.c| 20
include/linux/blkdev.h | 1 -
2 files changed, 21 deletions(-)
diff --git a/block/blk-softirq.c b/block/blk-softirq.c
index e47a2f751884..8ca0f6caf174 100644
--- a/blo
Since e443343e509a we haven't had a request_fn attached to
this driver, hence any code inside an if (q->request_fn) is
unreachable.
Fixes: e443343e509a ("s390/dasd: blk-mq conversion")
[sth: Keep and fix the dasd_info->chanq_len counter.]
Reviewed-by: Hannes Reinecke
Reviewed-by: Jan Hoeppner
Si
All drivers do unregister + cleanup, provide a helper for that.
Cc: linux-scsi@vger.kernel.org
Reviewed-by: Johannes Thumshirn
Reviewed-by: Christoph Hellwig
Tested-by: Benjamin Block
Signed-off-by: Jens Axboe
---
block/bsg-lib.c | 9 +
drivers/scsi/scsi_transport_
We only support mq devices now.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
block/blk-cgroup.c | 8
1 file changed, 8 deletions(-)
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index 992da5592c6e..5f10d755ec52 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgrou
Requires a few changes to the FC transport class as well.
Cc: linux-scsi@vger.kernel.org
Reviewed-by: Johannes Thumshirn
Tested-by: Benjamin Block
Signed-off-by: Jens Axboe
---
block/bsg-lib.c | 123 +++
drivers/scsi/scsi_transport_fc.c | 59 ++
Straight forward conversion, room for optimization in how everything
is punted to a work queue. Also looks plenty racy all over the map,
with the state changes. I fixed a bunch of them up while doing the
conversion, but there are surely more.
Cc: Maxim Levitsky
Reviewed-by: Hannes Reinecke
Signe
Elements of the previous series went into mainline, this is a v2
posting with those killed, series reshuffled, bugs fixed, etc.
his patch series converts the remaining drivers to blk-mq. SCSI
supports both paths, this removes the legacy IO path from SCSI. At the
end, legacy IO code and schedulers
Straight forward conversion, there's room for improvement.
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
drivers/memstick/core/mspro_block.c | 121 +++-
1 file changed, 66 insertions(+), 55 deletions(-)
diff --git a/drivers/memstick/core/mspro_block.c
b/dr
Convert from the old request_fn style driver to blk-mq.
Cc: David Miller
Reviewed-by: Hannes Reinecke
Signed-off-by: Jens Axboe
---
drivers/block/sunvdc.c | 149 +++--
1 file changed, 98 insertions(+), 51 deletions(-)
diff --git a/drivers/block/sunvdc.c b/d
On 10/29/18 9:51 AM, Mike Snitzer wrote:
> On Mon, Oct 29 2018 at 10:25am -0400,
> Jens Axboe wrote:
>
>> On 10/29/18 1:10 AM, Hannes Reinecke wrote:
>>> On 10/25/18 11:10 PM, Jens Axboe wrote:
Nobody sets the helper, so we always return 0. Kill it.
Signed-off-by: Jens Axboe
On Mon, Oct 29 2018 at 10:25am -0400,
Jens Axboe wrote:
> On 10/29/18 1:10 AM, Hannes Reinecke wrote:
> > On 10/25/18 11:10 PM, Jens Axboe wrote:
> >> Nobody sets the helper, so we always return 0. Kill it.
> >>
> >> Signed-off-by: Jens Axboe
> >> ---
> >> block/blk-core.c | 28 -
On Mon, Oct 29, 2018 at 08:50:25AM -0600, Jens Axboe wrote:
> On 10/29/18 6:00 AM, Ming Lei wrote:
> > On Thu, Oct 25, 2018 at 03:10:11PM -0600, Jens Axboe wrote:
> >> The first round of this went into 4.20-rc, but we've still some of
> >> them pending. This patch series converts the remaining driv
On 10/29/18 8:50 AM, Jens Axboe wrote:
> On 10/29/18 6:00 AM, Ming Lei wrote:
>> On Thu, Oct 25, 2018 at 03:10:11PM -0600, Jens Axboe wrote:
>>> The first round of this went into 4.20-rc, but we've still some of
>>> them pending. This patch series converts the remaining drivers to
>>> blk-mq. The o
On 10/29/18 8:25 AM, Johannes Thumshirn wrote:
> On 29/10/18 15:23, Jens Axboe wrote:
>> On 10/29/18 5:00 AM, Johannes Thumshirn wrote:
>>> Hi Jens,
>>>
>>> On 25/10/18 23:10, Jens Axboe wrote:
>>> [...]
@@ -1487,8 +1485,6 @@ int blkcg_activate_policy(struct request_queue *q,
out_bypass_
On 10/29/18 6:00 AM, Ming Lei wrote:
> On Thu, Oct 25, 2018 at 03:10:11PM -0600, Jens Axboe wrote:
>> The first round of this went into 4.20-rc, but we've still some of
>> them pending. This patch series converts the remaining drivers to
>> blk-mq. The ones that support dual paths (like SCSI and DM
1 - 100 of 128 matches
Mail list logo