If multiple tasks attempt to read the stats, it may happen
that the start_req_done completion is re-initialized while
still being used by another task, causing a list corruption.
This patch fixes the bug by adding a mutex to serialize the
calls to bnx2fc_get_host_stats().
WARNING: at
On Tue, May 23, 2017 at 05:33:58PM -0700, Bart Van Assche wrote:
> Since the introduction of the .init_rq_fn() and .exit_rq_fn() it
> is essential that the memory allocated for struct request_queue
> stays around until all blk_exit_rl() calls have finished. Hence
> make blk_init_rl() take a
On Wed, 2017-05-24 at 07:51 +0200, Hannes Reinecke wrote:
> On 05/24/2017 02:33 AM, Bart Van Assche wrote:
> > Enable this mechanism for all scsi_target_*block() callers but not
> > for the scsi_internal_device_unblock() calls from the mpt3sas driver
> > because that driver can call
On Wed, 2017-05-24 at 08:01 +0200, Hannes Reinecke wrote:
> On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> > From the context where a SCSI command is submitted it is not always
> > possible to figure out whether or not the queue the command is
> > submitted to has struct scsi_request as the
On Tue, 2017-05-23 at 16:50 +0200, Johannes Thumshirn wrote:
> When pci_enable_device() or pci_enable_device_mem() fail in
> qla2x00_probe_one() we bail out but do a call to
> pci_disable_device(). This causes the dev_WARN_ON() in
> pci_disable_device() to trigger, as the device wasn't enabled
>
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> If there are multiple descriptors for a particular type in a clear virtual
> link we receive, we will not process it correctly but rather take the last
> value. This can cause us not to not flap the virtual link as the value from
> the
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> We should be using the same logic to do a soft reset of the FCoE function
> whether it is initiated via sg_reset or the fc_host issue_lip attribute.
> Refactor the host reset and fcoe reset handlers to use the preferred logic
> which is
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> Signed-off-by: Chad Dupuis
> ---
> drivers/scsi/qedf/qedf_version.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/scsi/qedf/qedf_version.h
>
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> + if (ntoh24(_mac[3]) != ntoh24(fh->fh_d_id)) {
> + QEDF_ERR(&(qedf->dbg_ctx), "FC frame d_id mismatch with MAC "
> + "%pM.\n", dest_mac);
> [ ... ]
> + QEDF_ERR(&(qedf->dbg_ctx), "Wrong
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> Reduce the logging level we set for qed messages pertaining to this PCI
> function so that unnecessary messages are not printed in the kernel
> message log.
Reviewed-by: Bart Van Assche
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> Expose this information for interested applications.
>
> Signed-off-by: Chad Dupuis
> ---
> drivers/scsi/qedf/qedf_attr.c | 60
> +--
> 1 file changed, 41 insertions(+), 19
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> Add the change_queue_depth member to our SCSI host template so the queue
> depth of devices attached to qedf can be changed dynamically.
Reviewed-by: Bart Van Assche
On 5/24/17, 8:47 AM, "Bart Van Assche" wrote:
>On Tue, 2017-05-23 at 16:50 +0200, Johannes Thumshirn wrote:
>> When pci_enable_device() or pci_enable_device_mem() fail in
>> qla2x00_probe_one() we bail out but do a call to
>> pci_disable_device(). This causes the
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> If an fcport is not offloaded then the members of the qedf_rport struct
> are undefined which may cause a system crash.
Reviewed-by: Bart Van Assche
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> We need to add a bus reset no-op as without it some of the LUNs attached to a
> vport may go offline when the error handler escalates to host reset due to not
> having a bus reset handler in the driver. What happens is we escalate to host
>
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> if (lport->port_id != ntoh24(fh->fh_d_id) && !vn_port) {
> - QEDF_ERR(&(qedf->dbg_ctx), "Dropping frame due to "
> - "destination mismatch: lport->port_id=%x "
> - "fh->d_id=%x.\n",
> +
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> Increase the default number of commands that the driver tells the
> SCSI mid-layer it can do to increase the default performance of the
> driver.
Reviewed-by: Bart Van Assche
On Wed, 24 May 2017, 3:12pm, Martin K. Petersen wrote:
>
> Chad,
>
> > Please apply the following patches to the scsi tree at your earliest
> > convenience.
>
> Please address Bart's comments and resubmit.
>
> Thanks!
>
>
Sure, will submit a V2 that addresses Bart's comments.
Chad,
> Please apply the following patches to the scsi tree at your earliest
> convenience.
Please address Bart's comments and resubmit.
Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Johannes,
> When pci_enable_device() or pci_enable_device_mem() fail in
> qla2x00_probe_one() we bail out but do a call to
> pci_disable_device(). This causes the dev_WARN_ON() in
> pci_disable_device() to trigger, as the device wasn't enabled
> previously.
>
> So instead of taking the
Maurizio,
> If multiple tasks attempt to read the stats, it may happen that the
> start_req_done completion is re-initialized while still being used by
> another task, causing a list corruption.
>
> This patch fixes the bug by adding a mutex to serialize the calls to
> bnx2fc_get_host_stats().
Bart,
> Since BSG only supports request queues for which struct scsi_request
> is the first member of their private request data, refuse to register
> block layer queues for which struct scsi_request is not the first
> member of their private data.
> +
> + if (!blk_queue_scsi_sup(rq)) {
If
This is quite a big update because it includes a rework of the lpfc
driver to separate the NVMe part from the FC part. The reason for
doing this is because two separate trees (the nvme and scsi trees
respectively) want to update the individual components and this
separation will prevent a really
Himanshu,
> I have reduced the series for 4.12 rc merge to 1-10 patches that were
> submitted earlier.
>
> Changes from v1 --> v2
> o Drop patches that can be queued for 4.13 scsi-misc merge and will be
> sent as new series.
> o Addressed commit summary of patches from Bart's review where
>
Following messages are seen into system logs
qla2xxx [:09:00.0]-00af:9: Performing ISP error recovery -
ha=98315ee3.
qla2xxx [:09:00.0]-504b:9: RISC paused -- HCCR=40, Dumping firmware.
qla2xxx [:09:00.0]-d009:9: Firmware has been previously dumped
(ba488c001000) --
From: Joe Carnuccio
Firmware dump allows for debugging customer issues. This patch fixes
start/end pointer calculation to capture T262 template entryfor dump
tool.
Cc: # 4.10
Signed-off-by: Joe Carnuccio
From: Sawan Chandak
when driver is loaded with Multi Queue enabled, it was
noticed that there was one less queue pair created.
Following message would indicate this
"No resources to create additional q pair."
The result of one less queue pair means that system can
From: Joe Carnuccio
Fixes following signature in the stack trace:
BUG: unable to handle kernel NULL pointer dereference at 0374
IP: [] qla2x00_sp_free_dma+0xeb/0x2a0 [qla2xxx]
Cc: # 4.10
Signed-off-by: Joe Carnuccio
From: Joe Carnuccio
Set bit (BIT_15) to send right ECHO payload information
for Diagnostic Echo Test command.
Cc: # 4.10
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
From: Joe Carnuccio
Cc: # 4.10
Signed-off-by: Joe Carnuccio
Signed-off-by: Himanshu Madhani
---
drivers/scsi/qla2xxx/qla_dbg.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Quinn Tran
Remove redundant fc_host_port_name calls to prevent
early access of scsi_host->shost_data buffer. This
prevent null pointer access.
Following stack trace is seen
BUG: unable to handle kernel NULL pointer dereference at 08
IP:
Hi Martin,
I have reduced the series for 4.12 rc merge to 1-10 patches that
were submitted earlier.
Changes from v1 --> v2
o Drop patches that can be queued for 4.13 scsi-misc merge and will be
sent as new series.
o Addressed commit summary of patches from Bart's review where applicable.
Bart,
> This patch series consists of the bug fixes I came up with during the
> past two months. Please consider these patches for kernel v4.13.
No major objections from me. Although you may have to slice and dice the
series differently so we can get the block bits queued through Jens and
then
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since BSG only supports request queues for which struct scsi_request
> is the first member of their private request data, refuse to register
> block layer queues for which struct scsi_request is not the first
> member of their private data.
>
>
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> From the context where a SCSI command is submitted it is not always
> possible to figure out whether or not the queue the command is
> submitted to has struct scsi_request as the first member of its
> private data. Hence introduce the flag
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Instead of explicitly calling scsi_req_init(), let
> blk_get_request() call that function from inside blk_rq_init().
> Add an .initialize_rq_fn() callback function to the block drivers
> that need it. Merge the IDE .init_rq_fn() function into
>
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since scsi_req_init() works on a struct scsi_request, change the
> argument type into struct scsi_request *.
>
> Signed-off-by: Bart Van Assche
> Reviewed-by: Christoph Hellwig
> Cc: Hannes Reinecke
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Just like for the scsi-mq code path, in the single queue SCSI code
> path only add commands to the per-device command list if required
> by the SCSI LLD. This patch will make it easier to merge the
> single-queue and multiqueue command
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Instead of clearing most of struct scsi_cmnd and reinitializing
> it, rely on scsi_initialize_rq() for initialization of struct
> scsi_cmnd. This patch fixes a bug, namely that it avoids that
> jiffies_at_alloc gets overwritten if a request is
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> This patch does not change any functionality but avoids duplication
> of the code for clearing driver-private command data.
>
> Signed-off-by: Bart Van Assche
> Cc: Christoph Hellwig
> Cc: Hannes Reinecke
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since the cdrom driver only supports request queues for which
> struct scsi_request is the first member of their private request
> data, refuse to register block layer queues for which this is
> not the case.
>
> References: commit 82ed4db499b8
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since the pktcdvd driver only supports request queues for which
> struct scsi_request is the first member of their private request
> data, refuse to register block layer queues for which struct
> scsi_request is not the first member of the private
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since using scsi_req() is only allowed against request queues for
> which struct scsi_request is the first member of their private
> request data, refuse to submit SCSI commands against a queue for
> which this is not the case.
>
> References:
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> A later patch will add a call to a request initialization function
> into blk_rq_init(). Hence make sure that all blk_rq_init() calls
> specify the request queue pointer. Since TMF callback functions in
> SCSI LLD drivers do not use request.q, this
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> The two drivers that use the per-device command list, namely aacraid
> and dpt_i2o, expect that that list contains only SCSI commands and
> no task management functions. Hence only call scsi_add_cmd_to_list()
> from the block layer prep callback
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Move the initializations that only have to be performed once and
> not every time a request is prepared from scsi_init_command()
> into scsi_initialize_rq(). This patch also moves the
> jiffies_at_alloc assignment such that it gets back the meaning
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Several block drivers need to initialize the driver-private data
> after having called blk_get_request() and before .prep_rq_fn() is
> called, e.g. when submitting a REQ_OP_SCSI_* request. Avoid that
> that initialization code has to be repeated
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> This patch is a preparation for the next patch that will zero
> the struct scsi_request embedded in struct scsi_cmnd before
> calling scsi_req_init().
>
> Signed-off-by: Bart Van Assche
> Reviewed-by: Christoph Hellwig
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> This simplifies the memset() call in scsi_initialize_rq() and avoids
> that any stale data is left behind in struct scsi_request.
>
> Signed-off-by: Bart Van Assche
> Reviewed-by: Christoph Hellwig
> Cc:
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since the SCSI core zeroes driver-private command data, remove
> that code from the virtio driver.
>
> Signed-off-by: Bart Van Assche
> Cc: Michael S. Tsirkin
> Cc: Christoph Hellwig
>
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Initialize struct scsi_cmnd.request from inside scsi_initialize_rq()
> instead of every time a request is prepared. Note: moving the tag
> initialization into scsi_initialize_rq() is not possible because
> the single-queue block layer only assigns a
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> The only functional change is that this patch causes scsi_setup_fs_cmnd()
> to clear scsi_request.sense_len.
>
> Signed-off-by: Bart Van Assche
> Reviewed-by: Christoph Hellwig
> Cc: Hannes Reinecke
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since the SCSI core zeroes driver-private command data, remove
> that code from the snic driver.
>
> Signed-off-by: Bart Van Assche
> Cc: Narsimhulu Musini
> Cc: Sesidhar Baddela
On 05/24/2017 02:34 AM, Bart Van Assche wrote:
> Since the SCSI core zeroes driver-private command data, remove
> that code from the xen-scsifront driver.
>
> Signed-off-by: Bart Van Assche
> Cc: Juergen Gross
> Cc: xen-de...@lists.xenproject.org
>
On 24/05/17 02:34, Bart Van Assche wrote:
> Since the SCSI core zeroes driver-private command data, remove
> that code from the xen-scsifront driver.
>
> Signed-off-by: Bart Van Assche
> Cc: Juergen Gross
> Cc: xen-de...@lists.xenproject.org
On 05/24/2017 02:33 AM, Bart Van Assche wrote:
> This will make it easier to serialize SCSI device state changes
> through a mutex.
>
> Signed-off-by: Bart Van Assche
> Cc: Christoph Hellwig
> Cc: Hannes Reinecke
> Cc: Johannes Thumshirn
On 05/24/2017 02:33 AM, Bart Van Assche wrote:
> Instead of passing a "wait" argument to scsi_internal_device_block(),
> split this function into a function that waits and a function that
> doesn't wait. This will make it easier to serialize SCSI device state
> changes through a mutex.
>
>
On 05/24/2017 02:33 AM, Bart Van Assche wrote:
> Since commit e9c787e65c0c ("scsi: allocate scsi_cmnd structures as
> part of struct request") struct request and struct scsi_cmnd are
> adjacent. This means that there is now an alternative to reading
> req->special to convert a pointer to a
On 05/24/2017 02:33 AM, Bart Van Assche wrote:
> Before scsi_prep_fn() calls the ULP .init_command() callback
> function it stores the SCSI command pointer in request.special.
> This means that the SCpnt = rq->special assignments in the sd
> and sr drivers assign a pointer to itself. Hence convert
We might have a NULL pring in lpfc_els_abort(), for example on
error recovery path, since queues are destroyed during error
recovery mechanism.
In this case, we should just drop the abort since the queues will
be recreated anyway. This patch just verifies for NULL pointer
and stop the abortion of
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> + snprintf(fc_host_serial_number(lport->host),
> + FC_SERIAL_NUMBER_SIZE,
> + "%02X%02X%02X%02X%02X%02X%02X%02X",
> + buf[7], buf[6], buf[5], buf[4],
> + buf[3],
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> We need to check the return code the set_fp_int() callback in case we were
> not allocated any fastpath interrupts or there was an error setting up the
> fastpath interrupts from the qed perspective.
Reviewed-by: Bart Van Assche
On Tue, 2017-05-23 at 06:19 -0700, Dupuis, Chad wrote:
> Signed-off-by: Chad Dupuis
Did you perhaps mean "parentheses" instead of "paratheses"? Please also
keep in mind that the recommended style for patch titles is the imperative
mood without trailing dot.
Anyway:
63 matches
Mail list logo