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 majord
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 appears to stabilize I agr
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 tags to keep track
of the fibs all
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 invalidate cache for the entire 64-bit ad
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
---
drivers/scsi/aacraid/aacraid.h | 1 +
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 for the AIF management tools to work
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 PCI shutdown is invoked.
Changes in
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 updating of the variable is not atomic,
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
Change
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 a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
in
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 | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/scsi/
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 the correct number of MSIx vectors i
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
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 HP
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
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
---
drivers/scsi/cxlflash/main.c | 3 +++
driver
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.
This access is encoded in the
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 b/drivers/scsi/cxlflash/main.h
index 6032456..ddc4a97 1
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
---
drivers/scsi/cxlflash/main.c | 2 +-
1 file changed, 1 i
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 escalation occurs in between
wh
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 outstanding are
being leaked. No
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 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/
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 wait
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 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/dri
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
Tested-by: Alex Ng
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
---
drivers/scsi/storvsc_drv.c | 155 -
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: Tigh
> "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 just merged the requir
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. But I am concerned
>
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
>
> Signed-off-by: John Garry
>
> diff --git
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 okay if I collect them together
> "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 linux-scsi is fine. The trick i
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 will consist
> Rasmus> of "ff" followed by the two hex
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,
H
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 "unsubscribe linux-scsi" in
t
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 http://vger.kernel.org/majordomo-info.html
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 context
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 http://vger.kernel.org/majordomo-info.html
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 http://vger.kernel.org/majordomo-info.html
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 ha
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 http://vger.kernel.org/majordomo-info.html
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:
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 intend
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
> "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 Oracle Linux Engineeri
> "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> intended. One way to fix it would
> "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 4.5/scsi-queue.
--
Martin K.
> "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. This change fixes the issue
> "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 linux-scsi" in
the body of
> "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 unsubscribe from this list: sen
This is Martin Petersen's xcopy patch
(https://git.kernel.org/cgit/linux/kernel/git/mkp/linux.git/commit/?h=xcopy&id=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 RE
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 num
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 XC
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, it
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 blkdev
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 n
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 t
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: linux-4.4-rc4/drivers/scsi/sd.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.
Signed-of
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
===
--- linux-4.3-rc1.orig/drivers/md/dm-l
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 insertion(+)
Index: li
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: linux-3.16-rc5/drivers/md/dm-kcopy
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
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 Pa
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.
S
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
str
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
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
++
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
>>> implement
68 matches
Mail list logo