Re: Bypass block layer and Fill SCSI lower layer driver queue

2013-09-18 Thread Alireza Haghdoost
On Wed, Sep 18, 2013 at 4:00 PM, Nicholas A. Bellinger wrote: > On Wed, 2013-09-18 at 01:41 -0500, Alireza Haghdoost wrote: >> Hi >> >> I am working on a high throughput and low latency application which >> does not tolerate block layer overhead to send IO request directly to >> fiber channel lowe

Hot Swap Problems with LSI HBA and LSI Backplane -- reproducable and very frustrating

2013-09-18 Thread Nathan Shearer
Hi I'm having problems with two systems where hot-swapping sata drives results in their bay being permanently disabled until I cold boot the system. My hardware configuration is fairly straight forward: Host Bus Adapter: LSI SAS9207-8i (contains the LSISAS2308) Case: Supermicro SuperChassis

Re: Bypass block layer and Fill SCSI lower layer driver queue

2013-09-18 Thread Nicholas A. Bellinger
On Wed, 2013-09-18 at 01:41 -0500, Alireza Haghdoost wrote: > Hi > > I am working on a high throughput and low latency application which > does not tolerate block layer overhead to send IO request directly to > fiber channel lower layer SCSI driver. I used to work with libaio but > currently I am

Re: [PATCH] block: free bios when failing blk_execute_rq_nowait calls

2013-09-18 Thread Jens Axboe
On Wed, Sep 18 2013, micha...@cs.wisc.edu wrote: > From: Mike Christie > > If the queue is dying then we only call the rq->end_io callout. > This leaves bios setup on the request, because the caller assumes when > the blk_execute_rq_nowait/blk_execute_rq call has completed that > the rq->bios hav

Re: Bypass block layer and Fill SCSI lower layer driver queue

2013-09-18 Thread Boaz Harrosh
On 09/18/2013 05:07 PM, Douglas Gilbert wrote: > On 13-09-18 03:58 AM, Jack Wang wrote: >> On 09/18/2013 08:41 AM, Alireza Haghdoost wrote: >>> Hi >>> >>> I am working on a high throughput and low latency application which >>> does not tolerate block layer overhead to send IO request directly to >>

Re: Bypass block layer and Fill SCSI lower layer driver queue

2013-09-18 Thread Douglas Gilbert
On 13-09-18 03:58 AM, Jack Wang wrote: On 09/18/2013 08:41 AM, Alireza Haghdoost wrote: Hi I am working on a high throughput and low latency application which does not tolerate block layer overhead to send IO request directly to fiber channel lower layer SCSI driver. I used to work with libaio

[PATCH 5/5] scsi_debug: fix sparse warnings related to data integrity field

2013-09-18 Thread Akinobu Mita
Each member in data integrity field tuple is big-endian. But the endianness of the values being compared with these members are not annotated. So this fixes these sparse warnings. Reported-by: kbuild test robot Signed-off-by: Akinobu Mita Cc: Fengguang Wu Cc: "James E.J. Bottomley" Cc: Dougl

[PATCH 3/5] scsi_debug: avoid partial copying PI from prot_sglist to dif_storep

2013-09-18 Thread Akinobu Mita
If data integrity support is enabled, prot_verify_write() is called in response to WRITE commands and it verifies protection info from prot_sglist by comparing against data sglist, and copies protection info to dif_storep. When multiple blocks are transfered by a WRITE command, it verifies and cop

[PATCH 4/5] scsi_debug: fix invalid value check for guard module parameter

2013-09-18 Thread Akinobu Mita
In the module initialization, invalid value for guard module parameter is detected by the following check: if (scsi_debug_guard > 1) { printk(KERN_ERR "scsi_debug_init: guard must be 0 or 1\n"); return -EINVAL; } But this check isn't enough, because

[PATCH 2/5] scsi_debug: factor out copying PI from dif_storep to prot_sglist

2013-09-18 Thread Akinobu Mita
If data integrity support is enabled, prot_verify_read() is called in response to READ commands and it verifies protection info from dif_storep by comparing against fake_storep, and copies protection info to prot_sglist. This factors out the portion of copying protection info into a separate funct

[PATCH 1/5] scsi_debug: fix buffer overrun when DIF/DIX is enabled and virtual_gb > 0

2013-09-18 Thread Akinobu Mita
If the module parameter virtual_gb is greater than 0, the READ command may request the blocks which exceed actual ramdisk storage (fake_storep). prot_verify_read() should treat those blocks as wrap around the end of fake_storep. But it actually causes fake_storep and dif_storep buffer overruns. T

[PATCH 0/5] scsi_debug: several fixes related to data integrity support

2013-09-18 Thread Akinobu Mita
This patch set includes bug fixes and a warning fix which are related to the data integrity support for scsi_debug. Akinobu Mita (5): scsi_debug: fix buffer overrun when DIF/DIX is enabled and virtual_gb > 0 scsi_debug: factor out copying PI from dif_storep to prot_sglist scsi_debug: avo

Re: Bypass block layer and Fill SCSI lower layer driver queue

2013-09-18 Thread Jack Wang
On 09/18/2013 08:41 AM, Alireza Haghdoost wrote: > Hi > > I am working on a high throughput and low latency application which > does not tolerate block layer overhead to send IO request directly to > fiber channel lower layer SCSI driver. I used to work with libaio but > currently I am looking for

[PATCH] block: free bios when failing blk_execute_rq_nowait calls

2013-09-18 Thread michaelc
From: Mike Christie If the queue is dying then we only call the rq->end_io callout. This leaves bios setup on the request, because the caller assumes when the blk_execute_rq_nowait/blk_execute_rq call has completed that the rq->bios have been cleaned up. This patch has blk_execute_rq_nowait use

Re: [PATCH 04/22] be2iscsi: Fix negotiated parameters upload to FW

2013-09-18 Thread Mike Christie
On 09/18/2013 12:37 AM, Jayamohan Kallickal wrote: > -Original Message- > From: Mike Christie [mailto:micha...@cs.wisc.edu] > Sent: Tuesday, September 17, 2013 2:16 PM > To: Jayamohan Kallickal > Cc: Jayamohan Kallickal; jbottom...@parallels.com; > linux-scsi@vger.kernel.org; Sony John-N

Re: [PATCH v3 3/6] uas: make work list per-device

2013-09-18 Thread Gerd Hoffmann
On Di, 2013-09-17 at 13:30 -0700, Christoph Hellwig wrote: > On Fri, Sep 13, 2013 at 01:27:12PM +0200, Gerd Hoffmann wrote: > > Simplifies locking, we'll protect the list with the device spin lock. > > Also plugs races which can happen when two devices operate on the > > global list. > > > > While

Bypass block layer and Fill SCSI lower layer driver queue

2013-09-18 Thread Alireza Haghdoost
Hi I am working on a high throughput and low latency application which does not tolerate block layer overhead to send IO request directly to fiber channel lower layer SCSI driver. I used to work with libaio but currently I am looking for a way to by pass the block layer and send SCSI commands from