Re: [PATCH] [SCSI] Make scsi_transfer_length take a scsi_data_buffer argument

2014-07-25 Thread Christoph Hellwig
On Fri, Jul 25, 2014 at 04:00:19PM -0400, Martin K. Petersen wrote: > For bidirectional commands we need to be able to distinguish between the > in and out scsi_data_buffers when calculating the wire transfer length. > Make scsi_transfer_length() take a scsi_data_buffer argument so the > caller can

[ANNOUNCE] scsi patch queue tree updated

2014-07-25 Thread Christoph Hellwig
I've pushed out new version of the for-3.17 core and drivers trees: git://git.infradead.org/users/hch/scsi-queue.git core-for-3.17 git://git.infradead.org/users/hch/scsi-queue.git drivers-for-3.17 In the core tree the biggest update is the merge of the blk-mq support, but various smaller upda

[PATCH 14/14] sd: Honor block layer integrity handling flags

2014-07-25 Thread Martin K. Petersen
A set of flags introduced in the block layer enable better control over how protection information is handled. These flags are useful for both error injection and data recovery purposes. Checking can be enabled and disabled for controller and disk, and the guard tag format is now a per-I/O property

[PATCH 05/14] block: Deprecate the use of the term sector in the context of block integrity

2014-07-25 Thread Martin K. Petersen
The protection interval is not necessarily tied to the logical block size of a block device. Stop using the terms "sector" and "sectors". Going forward we will use the term "seed" to describe the initial reference tag value for a given I/O. "Interval" will be used to describe the portion of the da

[PATCH 04/14] block: Remove bip_buf

2014-07-25 Thread Martin K. Petersen
bip_buf is not really needed so we can remove it. Signed-off-by: Martin K. Petersen Reviewed-by: Christoph Hellwig Reviewed-by: Sagi Grimberg --- block/bio-integrity.c | 10 ++ include/linux/bio.h | 3 --- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/block/bio-inte

[PATCH 11/14] block: Integrity checksum flag

2014-07-25 Thread Martin K. Petersen
Make the choice of checksum a per-I/O property by introducing a flag that can be inspected by the SCSI layer. There are several reasons for this: 1. It allows us to switch choice of checksum without unloading and reloading the HBA driver. 2. During error recovery we need to be able to tell

[PATCH 13/14] block: Add T10 Protection Information functions

2014-07-25 Thread Martin K. Petersen
The T10 Protection Information format is also used by some devices that do not go through the SCSI layer (virtual block devices, NVMe). Relocate the relevant functions to a block layer library that can be used without involving SCSI. Signed-off-by: Martin K. Petersen Reviewed-by: Christoph Hellwi

[PATCH 08/14] block: Add prefix to block integrity profile flags

2014-07-25 Thread Martin K. Petersen
Add a BLK_ prefix to the integrity profile flags. Also rename the flags to be more consistent with the generate/verify terminology in the rest of the integrity code. Signed-off-by: Martin K. Petersen Reviewed-by: Christoph Hellwig Reviewed-by: Sagi Grimberg --- block/bio-integrity.c | 4 ++--

[PATCH 12/14] block: Don't merge requests if integrity flags differ

2014-07-25 Thread Martin K. Petersen
We'd occasionally merge requests with conflicting integrity flags. Introduce a merge helper which checks that the requests have compatible integrity payloads. Signed-off-by: Martin K. Petersen Reviewed-by: Christoph Hellwig Reviewed-by: Sagi Grimberg --- block/blk-integrity.c | 36 +++

[PATCH 07/14] block: Clean up the code used to generate and verify integrity metadata

2014-07-25 Thread Martin K. Petersen
Instead of the "operate" parameter we pass in a seed value and a pointer to a function that can be used to process the integrity metadata. The generation function is changed to have a return value to fit into this scheme. Signed-off-by: Martin K. Petersen Reviewed-by: Sagi Grimberg --- block/bi

[PATCH 10/14] block: Relocate bio integrity flags

2014-07-25 Thread Martin K. Petersen
Move flags affecting the integrity code out of the bio bi_flags and into the block integrity payload. Signed-off-by: Martin K. Petersen Reviewed-by: Sagi Grimberg --- block/bio-integrity.c | 4 ++-- drivers/scsi/sd_dif.c | 4 ++-- include/linux/bio.h | 9 - include/linux/b

[PATCH 09/14] block: Add a disk flag to block integrity profile

2014-07-25 Thread Martin K. Petersen
So far we have relied on the app tag size to determine whether a disk has been formatted with T10 protection information or not. However, not all target devices provide application tag storage. Add a flag to the block integrity profile that indicates whether the disk has been formatted with protec

[PATCH 03/14] block: Remove integrity tagging functions

2014-07-25 Thread Martin K. Petersen
None of the filesystems appear interested in using the integrity tagging feature. Potentially because very few storage devices actually permit using the application tag space. Remove the tagging functions. Signed-off-by: Martin K. Petersen Reviewed-by: Christoph Hellwig --- Documentation/block

[PATCH 06/14] block: Make protection interval calculation generic

2014-07-25 Thread Martin K. Petersen
Now that the protection interval has been detached from the sector size we need to be able to handle sizes that are different from 4K and 512. Make the interval calculation generic. Signed-off-by: Martin K. Petersen --- block/bio-integrity.c | 6 +- 1 file changed, 1 insertion(+), 5 deletion

[PATCH 01/14] block: Get rid of bdev_integrity_enabled()

2014-07-25 Thread Martin K. Petersen
bdev_integrity_enabled() is only used by bio_integrity_enabled(). Combine these two functions. Signed-off-by: Martin K. Petersen Reviewed-by: Christoph Hellwig Reviewed-by: Sagi Grimberg --- Documentation/block/data-integrity.txt | 10 - block/bio-integrity.c | 39

Block/SCSI data integrity update v2

2014-07-25 Thread Martin K. Petersen
This is the data integrity patch series originally submitted for 3.16. It has been rebased on top of the current 3.17 SCSI queue tree. I believe I have addressed all the changes requested in the reviews. Aside from a code cleanup in the sd prot_op code there are no functional changes. - bi_specia

[PATCH 02/14] block: Replace bi_integrity with bi_special

2014-07-25 Thread Martin K. Petersen
For commands like REQ_COPY we need a way to pass extra information along with each bio. Like integrity metadata this information must be available at the bottom of the stack so bi_private does not suffice. Rename the existing bi_integrity field to bi_special and make it a union so we can have diff

[PATCH] [SCSI] Make scsi_transfer_length take a scsi_data_buffer argument

2014-07-25 Thread Martin K. Petersen
For bidirectional commands we need to be able to distinguish between the in and out scsi_data_buffers when calculating the wire transfer length. Make scsi_transfer_length() take a scsi_data_buffer argument so the caller can choose which I/O direction the calculation should apply to. Signed-off-by:

Re: [PATCH 5/6] qla2xxx: Prevent removal and board_disable race

2014-07-25 Thread Chad Dupuis
On Fri, 25 Jul 2014, Joe Lawrence wrote: On Fri, 25 Jul 2014 11:23:02 -0400 Chad Dupuis wrote: On Wed, 18 Jun 2014, Joe Lawrence wrote: Introduce mutual exclusion between the qla2xxx_remove_one PCI driver callback and qla2x00_disable_board_on_pci_error, which is scheduled as board_disabl

Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support

2014-07-25 Thread Martin K. Petersen
> "Sreekanth" == Sreekanth Reddy writes: Sreekanth, Sreekanth> Following are the changes that I have done in this patch over Sreekanth> the first RDPQ support patch, Please, please do the function moves in a different patch. Or use a simple prototype declaration like I did to avoid moving t

Re: [PATCH 14/14] fnic: reject device resets without assigned tags for the blk-mq case

2014-07-25 Thread Martin K. Petersen
> "Christoph" == Christoph Hellwig writes: Christoph> Either someone who can actually test the hardware will have Christoph> to come up with a similar hack for the blk-mq case, or we'll Christoph> have to bite the bullet and fix the way the EH ioctls work Christoph> for real, but until that h

[RFC] hpsa: work in progress "lockless monster" patches

2014-07-25 Thread scameron
hpsa: Work In Progress: "lockless monster" patches To be clear, I am not suggesting that these patches be merged at this time. This patchset is vs. Christoph Hellwig's scsi-mq.4 branch which may be found here: git://git.infradead.org/users/hch/scsi.git We've been working for a long time on a pa

Re: [PATCH 13/14] scsi: add support for a blk-mq based I/O path.

2014-07-25 Thread Martin K. Petersen
> "Christoph" == Christoph Hellwig writes: Christoph> This patch adds support for an alternate I/O path in the scsi Christoph> midlayer which uses the blk-mq infrastructure instead of the Christoph> legacy request code. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Lin

Re: [PATCH 12/14] scatterlist: allow chaining to preallocated chunks

2014-07-25 Thread Martin K. Petersen
> "Christoph" == Christoph Hellwig writes: Christoph> Blk-mq drivers usually preallocate their S/G list as part of Christoph> the request, but if we want to support the very large S/G Christoph> lists currently supported by the SCSI code that would tie up Christoph> a lot of memory in the pre

Re: [PATCH 11/14] scsi: unwind blk_end_request_all and blk_end_request_err calls

2014-07-25 Thread Martin K. Petersen
> "Christoph" == Christoph Hellwig writes: Christoph> Replace the calls to the various blk_end_request variants Christoph> with opencode equivalents. Blk-mq is using a model that Christoph> gives the driver control between the bio updates and the Christoph> actual completion, and making the

Re: [PATCH 10/14] scsi: only maintain target_blocked if the driver has a target queue limit

2014-07-25 Thread Martin K. Petersen
> "Christoph" == Christoph Hellwig writes: Christoph> This saves us an atomic operation for each I/O submission and Christoph> completion for the usual case where the driver doesn't set a Christoph> per-target can_queue value. Only a few iscsi hardware Christoph> offload drivers set the per-

Re: [PATCH 09/14] scsi: fix the {host,target,device}_blocked counter mess

2014-07-25 Thread Martin K. Petersen
> "Christoph" == Christoph Hellwig writes: Christoph> Seems like these counters are missing any sort of Christoph> synchronization for updates, as a over 10 year old comment Christoph> from me noted. Fix this by using atomic counters, and while Christoph> we're at it also make sure they are

Re: [PATCH 5/6] qla2xxx: Prevent removal and board_disable race

2014-07-25 Thread Joe Lawrence
On Fri, 25 Jul 2014 11:23:02 -0400 Chad Dupuis wrote: > > > On Wed, 18 Jun 2014, Joe Lawrence wrote: > > > Introduce mutual exclusion between the qla2xxx_remove_one PCI driver > > callback and qla2x00_disable_board_on_pci_error, which is scheduled as > > board_disable work by qla2x00_check_reg

Re: [PATCH V2 0/4] Add XEN pvSCSI support

2014-07-25 Thread Konrad Rzeszutek Wilk
On Fri, Jul 25, 2014 at 01:37:29PM +0200, jgr...@suse.com wrote: > This series adds XEN pvSCSI support. With pvSCSI it is possible to use > physical > SCSI devices from a XEN domain. > > The support consists of a backend in the privileged Domain-0 doing the real > I/O and a frontend in the unpriv

Re: [PATCH v2 3/3] [SCSI] Make LBP quirk skip lbpme checks tests

2014-07-25 Thread James Bottomley
On Fri, 2014-07-25 at 16:47 +, KY Srinivasan wrote: > > > -Original Message- > > From: Martin K. Petersen [mailto:martin.peter...@oracle.com] > > Sent: Thursday, July 24, 2014 8:54 AM > > To: Sitsofe Wheeler > > Cc: Martin K. Petersen; Christoph Hellwig; KY Srinivasan; > > gre...@linux

Re: [PATCH v2 3/3] [SCSI] Make LBP quirk skip lbpme checks tests

2014-07-25 Thread Martin K. Petersen
> "KY" == KY Srinivasan writes: KY> For the pass through case, the host validates the request and passes KY> the request to the device. However, not all scsi commands are KY> passed through even though the device it is being passed through may KY> support the command. WRITE_SAME is one such

RE: [PATCH v2 3/3] [SCSI] Make LBP quirk skip lbpme checks tests

2014-07-25 Thread KY Srinivasan
> -Original Message- > From: Martin K. Petersen [mailto:martin.peter...@oracle.com] > Sent: Thursday, July 24, 2014 8:54 AM > To: Sitsofe Wheeler > Cc: Martin K. Petersen; Christoph Hellwig; KY Srinivasan; > gre...@linuxfoundation.org; linux-ker...@vger.kernel.org; > de...@linuxdriverproj

Re: [PATCH 4/5] [SCSI] Do not use platform_bus as a parent

2014-07-25 Thread Pawel Moll
On Fri, 2014-07-25 at 15:46 +0100, James Bottomley wrote: > On Fri, 2014-07-25 at 15:23 +0100, Pawel Moll wrote: > > The host devices without a parent were "forcefully adopted" > > by platform bus. This patch removes this assignment. In > > effect the dev_dev may be NULL now, which means ISA. > >

Re: [PATCH 5/6] qla2xxx: Prevent removal and board_disable race

2014-07-25 Thread Chad Dupuis
On Wed, 18 Jun 2014, Joe Lawrence wrote: Introduce mutual exclusion between the qla2xxx_remove_one PCI driver callback and qla2x00_disable_board_on_pci_error, which is scheduled as board_disable work by qla2x00_check_reg{32,16}_for_disconnect: * Leave the driver-specific data attached to the

Re: [PATCH 4/5] [SCSI] Do not use platform_bus as a parent

2014-07-25 Thread James Bottomley
On Fri, 2014-07-25 at 15:23 +0100, Pawel Moll wrote: > The host devices without a parent were "forcefully adopted" > by platform bus. This patch removes this assignment. In > effect the dev_dev may be NULL now, which means ISA. > > Cc: James E.J. Bottomley > Cc: linux-scsi@vger.kernel.org > Signe

[PATCH 4/5] [SCSI] Do not use platform_bus as a parent

2014-07-25 Thread Pawel Moll
The host devices without a parent were "forcefully adopted" by platform bus. This patch removes this assignment. In effect the dev_dev may be NULL now, which means ISA. Cc: James E.J. Bottomley Cc: linux-scsi@vger.kernel.org Signed-off-by: Pawel Moll --- This patch is a part of effort to remove

Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support

2014-07-25 Thread Sreekanth Reddy
Hi Martin, Following are the changes that I have done in this patch over the first RDPQ support patch, 1. Reduced the redundancy in the function _base_release_memory_pools(), _base_allocate_memory_pools(). 2. Set pci_set_consistent_dma_mask() to DMA_BIT_MASK(32). still I am analysing whether this

[PATCH V2 3/4] Introduce XEN scsiback module

2014-07-25 Thread jgross
From: Juergen Gross Introduces the XEN pvSCSI backend. With pvSCSI it is possible for a XEN domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g.

[PATCH V2 2/4] Introduce xen-scsifront module

2014-07-25 Thread jgross
From: Juergen Gross Introduces the XEN pvSCSI frontend. With pvSCSI it is possible for a XEN domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g

Re: [PATCH 07/14] scsi: convert host_busy to atomic_t

2014-07-25 Thread Christoph Hellwig
On Tue, Jul 22, 2014 at 12:18:19AM -0400, Martin K. Petersen wrote: > More nitpicking. In the two previous atomic conversion patches you kept > %hu for the atomic_t. Here it's %d. I'll fix it to use %d everywhere, given that's it's not an unsigned short anymore. -- To unsubscribe from this list:

[PATCH V2 4/4] add xen pvscsi maintainer

2014-07-25 Thread jgross
From: Juergen Gross Add myself as maintainer for the Xen pvSCSI stuff. Signed-off-by: Juergen Gross --- MAINTAINERS | 8 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 86efa7e..53f84c3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10046,6 +10046,14 @@ S

[PATCH V2 1/4] Add XEN pvSCSI protocol description

2014-07-25 Thread jgross
From: Juergen Gross Add the definition of pvSCSI protocol used between the pvSCSI frontend in a XEN domU and the pvSCSI backend in a XEN driver domain (usually Dom0). This header was originally provided by Fujitsu for XEN based on Linux 2.6.18. Changes are: - added comment - adapt to Linux style

[PATCH V2 0/4] Add XEN pvSCSI support

2014-07-25 Thread jgross
This series adds XEN pvSCSI support. With pvSCSI it is possible to use physical SCSI devices from a XEN domain. The support consists of a backend in the privileged Domain-0 doing the real I/O and a frontend in the unprivileged domU passing I/O-requests to the backend. The code is taken (and adapt

Re: [PATCH] bnx2fc: do not add shared skbs to the fcoe_rx_list

2014-07-25 Thread Maurizio Lombardi
Hi Eddie, just want to add you to the CC list. Some days ago the bnx2fc's maintainer email address has been updated, this should be the new one: qlogic-storage-upstr...@qlogic.com I tried to send this patch to the new address but I received the following delivery failure notification:

[PATCH] bnx2fc: do not add shared skbs to the fcoe_rx_list

2014-07-25 Thread Maurizio Lombardi
In some cases, the fcoe_rx_list may contains multiple instances of the same skb (the so called "shared skbs"). the bnx2fc_l2_rcv thread is a loop that extracts a skb from the list, modifies (and destroys) its content and the proceed to the next one. The problem is that if the skb is shared, the re