> "Long" == Long Li writes:
Long> Introduce a logging level for storvsc to log certain error/warning
Long> messages. Those messages are helpful in some environments,
Long> e.g. Microsoft Azure, for customer support and troubleshooting
Long> purposes.
Applied to
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
[ ... ]
Reviewed-by: Bart Van Assche
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at
job->lock is only taken for a finite amount of time and the process
doesn't block while holding it, so change it from mutex to spinlock.
This change is needed for the next patch that makes it possible to call
segment_complete from an interrupt. Taking mutexes inside an interrupt is
not allowed.
This patch adds copy offload support to dm-kcopyd. If copy offload fails,
copying is performed using dm-io, just like before.
There is a module parameter "copy_offload" that can be set to enable or
disable this feature. It can be used to test performance of copy offload.
Signed-off-by: Mikulas
We move some code to a function submit_job. It is needed for the next
patch that calls submit_job from another place.
Signed-off-by: Mikulas Patocka
---
drivers/md/dm-kcopyd.c | 19 ---
1 file changed, 12 insertions(+), 7 deletions(-)
Index:
Support the copy operation for the stripe target.
In stripe_merge, we verify that the underlying device supports copy. If it
doesn't, we can fail fast without any bio being contructed.
Signed-off-by: Mikulas Patocka
---
drivers/md/dm-stripe.c |1 +
1 file changed, 1
Change dm kcopyd so that it calls blkdev_issue_copy with an asynchronous
callback. There can be large number of pending kcopyd requests and holding
a process context for each of them may put too much load on the workqueue
subsystem.
This patch changes it so that blkdev_issue_copy returns after it
On 12/09/2015 10:52 PM, Hannes Reinecke wrote:
There's a patchset to update the ALUA handler in Martin Petersens tree which
should
help here; most notably the commit 'scsi: ignore errors from
scsi_dh_add_device()'
should fix this particular issue.
Yep, that fixed it. Thanks.
Cheers,
On Thu, Dec 10, 2015 at 8:15 PM, Martin K. Petersen
wrote:
>> "Rasmus" == Rasmus Villemoes writes:
>
> Rasmus> If char is signed and one of these bytes happen to have a value
> Rasmus> outside the ascii range, the corresponding output
> "Andy" == Andy Shevchenko writes:
Andy> I have several patches on SCSI subsytem like this one. Some of
Andy> them didn't manage kernel (even having Ack!) for years already.
Andy> Is it okay if I collect them together and send a bunch once again
Re-sending to
On Thu, 2015-12-10 at 14:13 -0500, Martin K. Petersen wrote:
> > > > > > "Andy" == Andy Shevchenko writes:
>
> Andy> I have several patches on SCSI subsytem like this one. Some of
> Andy> them didn't manage kernel (even having Ack!) for years already.
> Andy> Is it
On Thu, Dec 10, 2015 at 9:02 AM, John Garry wrote:
> It is preferred that drivers use platform_get_irq()
> instead of irq_of_parse_and_map(), so replace.
You may be able to stop including of_irq.h with this change. Otherwise,
Acked-by: Rob Herring
>
>
> "Matthew" == Matthew R Ochs writes:
Matthew> The "> MAX_CONTEXT" should be ">= MAX_CONTEXT". Otherwise we
Matthew> go one step beyond the end of the cfg->ctx_tbl[] array.
Applied to 4.5/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
--
To
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
Remove struct rdma_iu and instead allocate the struct ib_rdma_wr array
early and fill out directly. This allows us to chain the WRs, and thus
archive both less lock contention on the HCA workqueue as well as much
^^^
Did you perhaps
> "Mikulas" == Mikulas Patocka writes:
Mikulas,
Mikulas> This patch series adds copy offload (the XCOPY command) to the
Mikulas> block layer, SCSI subsystems and device mapper.
Now that the VFS stuff appears to stabilize I agree it's a good time to
revisit all this. I
On 11/17/2015 03:20 PM, Martin K. Petersen wrote:
>> "Lee" == Lee Duncan writes:
>
> Lee> Martin: I will be glad to update the patch, creating a modprobe
> Lee> parameter as suggested, if you find this acceptable.
>
> For development use a module parameter would be fine.
Properly support FC hosts. Additional cleanup patches are also
included.
K. Y. Srinivasan (4):
scsi: storvsc: Fix a bug in the layout of the hv_fc_wwn_packet
scsi: storvsc: Properly support Fibre Channel devices
scsi: storvsc: Refactor the code in storvsc_channel_init()
scsi: storvsc:
The hv_fc_wwn_packet is exchanged over vmbus. Make the definition in Linux match
the Window's definition.
Signed-off-by: K. Y. Srinivasan
Reviewed-by: Long Li
Tested-by: Alex Ng
---
drivers/scsi/storvsc_drv.c |5 ++---
1
This patch set contains miscellaneous fixes and adds support for
a future IBM CXL adapter. This series is intended for 4.5 and is
bisectable.
Manoj Kumar (4):
cxlflash: Fix to escalate LINK_RESET also on port 1
cxlflash: Fix to resolve cmd leak after host reset
cxlflash: Resolve oops in
On Wed, 9 Dec 2015, Ondrej Zary wrote:
> On Tuesday 08 December 2015 03:05:11 Finn Thain wrote:
> >
> > On Sun, 6 Dec 2015, Ondrej Zary wrote:
> >
> > > Add I/O register mapping for NCR53C400A and enable PDMA mode to
> > > improve performance and fix non-working IRQ.
> > >
> > > Tested with
From: Manoj Kumar
After a few iterations of resetting the card, either during EEH
recovery, or a host_reset the following is seen in the logs.
cxlflash 0008:00: cxlflash_queuecommand: could not get a free command
At every reset of the card, the commands that are
From: Manoj Kumar
If an async error interrupt is generated, and the error requires the FC
link to be reset, it cannot be performed in the interrupt context. So
a work element is scheduled to complete the link reset in a process
context. If either an EEH event or an
This change is to update the date when last change was
made to the cxlflash driver
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/cxlflash/main.h
From: Manoj Kumar
The original fix to escalate a 'login timed out' error
to a LINK_RESET was only made for one of the two ports
on the card. This fix resolves the same issue for
the second port (port 1).
Signed-off-by: Manoj N. Kumar
---
From: "Matthew R. Ochs"
Applications which use virtual LUN's that are backed by a physical LUN
over both adapter ports may experience an I/O failure in the event of
a link loss (e.g. cable pull).
Virtual LUNs may be accessed through one or both ports of the adapter.
On Wed, 9 Dec 2015, Ondrej Zary wrote:
> > > @@ -743,6 +786,7 @@ module_param(ncr_5380, int, 0);
> > > module_param(ncr_53c400, int, 0);
> > > module_param(ncr_53c400a, int, 0);
> > > module_param(dtc_3181e, int, 0);
> > > +module_param(hp_53c400a, int, 0);
> >
> > Any reason you did not add
For FC devices managed by this driver, atttach the appropriate transport
template. This will allow us to create the appropriate sysfs files for
these devices. With this we can publish the wwn for both the port and the node.
Signed-off-by: K. Y. Srinivasan
Reviewed-by: Long Li
On the interrupt path, we repeatedly establish the pointer to the
storvsc_device. Fix this.
Signed-off-by: K. Y. Srinivasan
Reviewed-by: Long Li
Tested-by: Alex Ng
---
drivers/scsi/storvsc_drv.c | 23 ---
1
Hi Uma,
It looks like CXLFLASH_DRIVER_DATE is only used once, on init, and it's
just printed. Is it necessary? It looks like having it will require
sending a patch to update it quite often.
Regards,
Daniel
signature.asc
Description: PGP signature
The function storvsc_channel_init() repeatedly interacts with the host to
extract various channel properties. Refactor this code to eliminate code
repetition.
Signed-off-by: K. Y. Srinivasan
Reviewed-by: Long Li
Tested-by: Alex Ng
From: Manoj Kumar
This drop enables a future card with a device id
of 0x0600 to be recognized by the cxlflash driver.
No card specific programming has been added. These
card specific changes will be staged in later.
Signed-off-by: Manoj N. Kumar
This is Martin Petersen's xcopy patch
(https://git.kernel.org/cgit/linux/kernel/git/mkp/linux.git/commit/?h=xcopy=0bdeed274e16b3038a851552188512071974eea8)
with some bug fixes, ported to the current kernel.
This patch makes it possible to use the SCSI XCOPY command.
We create a bio that has
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
+static void srp_send_done(struct ib_cq *cq, struct ib_wc *wc)
+{
+ struct srp_iu *iu = container_of(wc->wr_cqe, struct srp_iu, cqe);
+ struct srp_rdma_ch *ch = cq->cq_context;
+
+ if (likely(wc->status != IB_WC_SUCCESS)) {
+
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
@@ -58,7 +62,7 @@ EXPORT_SYMBOL(__irq_poll_complete);
* Description:
* If a driver consumes less than the assigned budget in its run of the
* iopoll handler, it'll end the polled mode by calling this function. The
- * iopoll
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
> [ ... ]
Reviewed-by: Bart Van Assche
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at
Support copy operation in the linear target.
Signed-off-by: Mikulas Patocka
---
drivers/md/dm-linear.c |1 +
1 file changed, 1 insertion(+)
Index: linux-4.3-rc1/drivers/md/dm-linear.c
===
---
This patch implements basic copy support for device mapper core.
Individual targets can enable copy support by setting ti->copy_supported.
Device mapper device advertises copy support if at least one target
supports copy and for this target, at least one underlying device supports
copy.
If xcopy between two devices fails, it is pointless to send more xcopy
command between there two devices because they take time and they will
likely also fail.
This patch keeps a cache of (source_device,destination_device) pairs where
copying failed and makes sure that no xcopy command is sooner
There is no way to split copy requests, so the creator of the requests
(the function blkdev_issue_copy) must make requests with proper size.
Device mapper splits the requests at a boundary between targets or at
a boundary specified by each target driver. We must make sure that the
copy requets do
This patch suppresses error messages when copying between two arrays that
support XCOPY each, but that cannot copy data between each other.
Signed-off-by: Mikulas Patocka
---
drivers/scsi/sd.c | 14 ++
1 file changed, 14 insertions(+)
Index:
> "Dan" == Dan Carpenter writes:
Dan> There were a couple cases where the error codes weren't set and
Dan> also I changed the success return to "return 0;" which is the same
Dan> as "return rc;" but more explicit.
Applied to 4.5/scsi-queue.
--
Martin K. Petersen
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
[ ... ]
Reviewed-by: Bart Van Assche
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
[ ... ]
Reviewed-by: Bart Van Assche
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
This adds an abstraction that allows ULP to simply pass a completion
^^^
I think this should either be changed into either "an ULP" or "ULPs".
+/**
+ * ib_process_direct_cq - process a CQ in caller
Hi
This patch series adds copy offload (the XCOPY command) to the block
layer, SCSI subsystems and device mapper.
The principle of operation is this:
We create two bios with REQ_COPY flag, one for read and one for write. The
bios have no data pages and they both point to the same bio_copy
This patch changes the architecture of xcopy so that two bios are used.
There used to be just one bio that held pointers to both source and
destination block device. However a bio with two block devices cannot
really be passed though block midlayer drivers (dm and md).
When we need to send the
The block layer creates two bios for each copy operation. The bios travel
independently through the storage stack and they are paired at the block
device.
There is a theoretical problem with this - the block device stack only
guarantees forward progress for a single bio. When two bios are sent,
This patch changes blkdev_issue_copy so that it returns the number of
copied sectors in the variable "copied".
The kernel makes best effort to copy as much data as possible, but because
of device mapper mapping, it may be possible that copying fails at some
stage. If we just returned the error
> "Matthew" == Matthew R Ochs writes:
Matthew> IS_ERR_OR_NULL already contain an unlikely compiler flag. Drop
Matthew> it.
Applied to 4.5/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
--
To unsubscribe from this list: send the line "unsubscribe
> "Josh" == Josh Boyer writes:
Josh> The driver is missing calls to pci_dma_mapping_error() after
Josh> performing the DMA mapping, which caused DMA-API warning to show
Josh> up in dmesg's output. Though that happens only when DMA_API_DEBUG
Josh> option is enabled.
> "Rasmus" == Rasmus Villemoes writes:
Rasmus> If char is signed and one of these bytes happen to have a value
Rasmus> outside the ascii range, the corresponding output will consist
Rasmus> of "ff" followed by the two hex chars that were actually
Rasmus>
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
-enum {
- IOPOLL_F_SCHED = 0,
- IOPOLL_F_DISABLE= 1,
-};
[ ... ]
+enum {
+ IRQ_POLL_F_SCHED= 0,
+ IRQ_POLL_F_DISABLE = 1,
+};
A nitpick: the values of these constants were aligned
In dm-snapshot target there may be large number of copy requests in
progress. If every pending copy request consumed a process context, it
would put too much load on the system.
To avoid this load, we need asynchronous notification when copy finishes -
we can pass a callback to the function
On 12/07/2015 12:51 PM, Christoph Hellwig wrote:
There is no good reason to start out disabled - drivers can control if
the poll instance can be scheduled by simply not scheduling it yet.
Reviewed-by: Bart Van Assche
--
To unsubscribe from this list: send the line
From: Raghava Aditya Renukunta
Added support for PCI EEH(extended error handling).
Changes in V2:
Made local functions static
Removed call to aac_fib_free_tag
Set adapter_shutdown flag when PCI error detected
Signed-off-by: Raghava Aditya Renukunta
From: Raghava Aditya Renukunta
During EEH PCI hotplug activity kernel unloads and loads the driver,
causing character device to be unregistered(aac_remove_one).When the
driver is loaded back using aac_probe_one the character device needs
to be registered again
From: Raghava Aditya Renukunta
During EEH recovery number of online CPU's might change thereby changing
the number of MSIx vectors. Since each fib is allocated to a vector,
changes in the number of vectors causes fib to be sent thru invalid
vectors.In addition
From: Raghava Aditya Renukunta
while driver removal is in progress or PCI shutdown is invoked, driver
kills AIF aacraid thread, but IOCTL requests from the management tools
re-start AIF thread leading to IOP_RESET.
Fixed by setting adapter_shutdown flag when
From: Raghava Aditya Renukunta
The method to allocate and free FIB's in the present code utilizes
spinlocks.Multiple IO's have to wait on the spinlock to acquire or
free fibs creating a performance bottleneck.
An alternative solution would be to use block layer
From: Raghava Aditya Renukunta
aac_fib_map_free() calls pci_free_consistent() without checking that
dev->hw_fib_va is not NULL and dev->max_fib_size is not zero.If they
are indeed NULL/0, this will result in a hang as pci_free_consistent()
will attempt to
From: Raghava Aditya Renukunta
Updated diver version to 41052
Changes from V2:
None
Signed-off-by: Raghava Aditya Renukunta
---
drivers/scsi/aacraid/aacraid.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: Raghava Aditya Renukunta
Series 7 does not support PCI hot reset used by EEH.
Enabled fundamental reset only for Series 7
Changes in V2:
None
Signed-off-by: Raghava Aditya Renukunta
---
drivers/scsi/aacraid/linit.c |
From: Raghava Aditya Renukunta
The driver utilizes an array of atomic variables to keep track of
IO submissions to each vector. To submit an IO multiple threads
iterate through the array to find a vector which has empty slots
to send an IO. The reading and
This patchset includes the following changes (bug fixes and
new feature support) specific to aacraid driver.
V2:
Removed aac_fib_free_tag function
Setup relevant fib variables only in once
Created aac_fib_vector_assign function
Made EEH functions static
Added character device status macros
On 9.12.2015 19:15, James Bottomley wrote:
> On Wed, 2015-12-09 at 18:07 +0100, Tomas Henzl wrote:
>> On 8.12.2015 18:00, James Bottomley wrote:
>>> Simple enclosure implementations (mostly USB) are allowed to return only
>>> page 8 to every diagnostic query. That really confuses our
>>>
On 12/10/2015 04:33 PM, Martin K. Petersen wrote:
>> "Mikulas" == Mikulas Patocka writes:
>
> Mikulas,
>
> Mikulas> This patch series adds copy offload (the XCOPY command) to the
> Mikulas> block layer, SCSI subsystems and device mapper.
>
> Now that the VFS stuff
Hi Jens,
Are you on-board with this approach? Any concerns with me carrying
this through the nvdimm tree along with our other pending
error-handling enabling?
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More
It is preferred that drivers use platform_get_irq()
instead of irq_of_parse_and_map(), so replace.
Signed-off-by: John Garry
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index 89ae31d..e907758 100644
---
68 matches
Mail list logo