public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* RE: Request for review of Linux iSCSI driver version 4.0.0.1
@ 2003-12-01 12:30 Naveen Burmi
  2003-12-01 14:08 ` Naveen Burmi
  2003-12-01 16:20 ` Roman Zippel
  0 siblings, 2 replies; 99+ messages in thread
From: Naveen Burmi @ 2003-12-01 12:30 UTC (permalink / raw)
  To: hch; +Cc: linux-scsi


Christoph,

You have following review comment for linux-iscsi driver:
"the explanation of  PREVENT_DATA_CORRUPTION does'nt make sense".

Following is the explanation of the requirement of  "PREVENT_DATA_CORRUPTION":

In linux kernel there is a rare occurrence of data corruption. This data can 
be buffer cache data as well as raw I/O data. Don't know the actual root 
cause of the problem, but the fix that we put under macro 
"PREVENT_DATA_CORRUPTION" is capable of resolving this problem.

Following is the scenario where we have observed this problem (still persist  
in test9, 2.6 linux kernel):

On iSCSI target, 5428-2, upon detecting the CRC data error by the QlogicFC 
card it generates  the sense data with sense key as HARDWARE ERROR
and Additional sense data as LOGICAL UNIT COMMUNICATION FAILURE.
Upon receving this sense data iSCSI initiator driver is not retrying this 
command and failing the command to the upper layers of SCSI subsystem.
But linux SCSI subsystem does not perform any error recovery for this kind of
sense data.

Following is the fix:
1) Protecting the original buffer cache and raw I/O data from getting
garbled. This is acheived by copying the incoming I/O buffer temporarily 
in an internal buffer and then sending the copied data down to TCP.

2) Before failing the scsi command to upper SCSI layers, iSCSI driver
is retrying the scsi command upon receiving the sense data with sense key
as HARDWARE ERROR.


Are you aware of this issue OR any related issue?

Thanks,
Naveen.
 


^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re:Request for review of Linux iSCSI driver version 4.0.0.1
@ 2003-12-11 15:47 N.C.Krishna Murthy
  2003-12-12 12:48 ` Request " Matthew Wilcox
  0 siblings, 1 reply; 99+ messages in thread
From: N.C.Krishna Murthy @ 2003-12-11 15:47 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: SCSI -DEVEL, davmyers

Hi,
	One of your comments was
"having multiple kmap() in the same process at the same time can deadlock(),
you redesign iscsi_xmit_task/iscsi_xmit_data/iscsi_recv_data not to do that.
for the tx path use ->sendpage to avoid a data copy and kmapping altogether".

I did try using sendpage in iscsi_xmit_data. 
Whenever the scatterlist->length was 4096 sendpage did succeed.
When it was 8192 I did see a panic 
------------------------------------------------------------------------------------------
Unable to handle kernel NULL pointer dereference
 at virtual address 00000004
Dec 11 08:55:22 linux-3 kernel:  printing eip:
Dec 11 08:55:22 linux-3 kernel: c03e24ec
Dec 11 08:55:22 linux-3 kernel: *pde = 00000000
Dec 11 08:55:22 linux-3 kernel: Oops: 0002 [#1]
Dec 11 08:55:22 linux-3 kernel: CPU:    0
Dec 11 08:55:22 linux-3 kernel: EIP:    0060:[__func__.4+49981/364885]    Not 
ta
inted
Dec 11 08:55:22 linux-3 kernel: EIP:    0060:[<c03e24ec>]    Not tainted
Dec 11 08:55:22 linux-3 kernel: EFLAGS: 00010287
Dec 11 08:55:22 linux-3 kernel: EIP is at do_tcp_sendpages+0x62e/0xb8a
------------------------------------------------------------------------------------------
Has this been seen earlier? 

Thanx
N.C.Krishna Murthy

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Request for review of Linux iSCSI driver version 4.0.0.1
@ 2003-12-11  0:12 Pat LaVarre
  0 siblings, 0 replies; 99+ messages in thread
From: Pat LaVarre @ 2003-12-11  0:12 UTC (permalink / raw)
  To: linux-scsi; +Cc: dougg, patmans

> Date: 2003-11-07 8:55:01
> From: Doug Gilbert ...
> ....
> ** There is also the Power Condition mode
> page that all SCSI devices may optionally
> support. Trouble is with my SCSI-3 disks they
> either don't support it or the one that does
> gives ASC/ASCQ=04/02 when the disk is spun
> down (violating SPC-3).

We have a specific spc 3 rev and clause in mind?

> Date: 2003-11-10 17:43:22
> From: Patrick Mansfield
> ...
> whoever spun down the drive should spin it up.
> ...
> Whatever caused the spin down should spin it back up.

Auto spin up doesn't work with much direct-attached Windows.

For example, people say Win ME/9X in particular limit ATA/PI read to
7.5+0.5s.  For a device whose spinup exceeds 7s, the only scheme I've
ever seen work there is to notify the host e.g. via SK ASC ASCQ x 2 04
02 that some other thread spun down the drive.  I hear XP/ 2K/ NT need
ASCQ x02 whereas ME/ 9X properly understood that x00 in SCSI ASCQ by
definition means x00..FF and thus ME/ 9X do match x00 with x02.

> Date: 2003-12-03 22:57:58
> From: Scott M. Ferris ...
> ...
> Somebody really needs to come up with a cache
> design that doesn't silently discard unwritten
> data when block writes start failing ...

Aye.

> especially problematic on network SCSI
> transports like Fibre Channel and iSCSI, where
> network problems can cause all sorts of
> failures not commonly seen with parallel
> SCSI, USB, or any other direct-attached storage.

Loss of write-behind also occurs perceptibly often in direct-attached
storage.

dvd+rw/ cd-rw in particular often round up 2 KiB write requests to 32 or
64 KiB read-modify-write, and thus destroy blocks not even addressed
(e.g. parts of other udf.ko files allotted in 2 KiB blocks) when writes
fail.

Pat LaVarre



^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Request for review of Linux iSCSI driver version 4.0.0.1
@ 2003-11-21 11:40 Shashi Kiran T.R
  2003-11-21 17:56 ` Patrick Mansfield
  0 siblings, 1 reply; 99+ messages in thread
From: Shashi Kiran T.R @ 2003-11-21 11:40 UTC (permalink / raw)
  To: linux-scsi

>- the whole iscsi_do_cmnd use looks very very strange.  you're probably
> much better of to use the scsi_request based interfaces and use midlayer
 >queueing and sometimes even higher level interfaces, e.g. your
iscsi_send_tur
 >coudld be replaced by an scsi_ioctl(sdp, SCSI_IOCTL_TEST_UNIT_READY, NULL)
> I still don't understand, though why the heck you need to do a TUR in
 >a lowlevel driver and even more need a thread do a single TUR, started
from
 >another kernel tread.  there more I dig into it your probing and thread
 >abuse looks horribly screwed.
 >- reinitilialize disk is another such candidate.  again why do you
 >need to send START_STOP commands from the LLDD, why do you need another
 >thread instead of a state machine and again life would be a lot simpler
> by using the midlayer queueing infrastructure.

In the existing code upon seeing ASC/ASCQ 04/02, the failed I/O are retried
in the iSCSI driver after issuing START_STOP using iscsi_do_cmnd(). This
ensures that application does not see an I/O error.

 We tried replacing  iscsi_do_cmnd() call  by kernel_scsi_ioctl() , but  the
ioctl call never completed. Looks like scsi mid layer prevents the
processing of START_STOP command until responses for earlier commands are
obtained. The response is deferred upstream from iSCSI driver since it
retries any failed I/O. Probably this is creating a deadlock situation
making this alternative infeasible!.

-Shashi


^ permalink raw reply	[flat|nested] 99+ messages in thread
* Request for review of Linux iSCSI driver version 4.0.0.1
@ 2003-10-23 12:04 Krishna Murthy
  2003-10-27 15:39 ` Christoph Hellwig
  0 siblings, 1 reply; 99+ messages in thread
From: Krishna Murthy @ 2003-10-23 12:04 UTC (permalink / raw)
  To: linux-scsi; +Cc: davmyers

Hi,
	Linux iSCSI driver 4.0.0.1 (linux-iscsi-4.0.0.1.tgz) is available at

http://sf.net/projects/linux-iscsi/

	 Could you please review the same and let us know whether it is OK for 
inclusion into the linux 2-6 kernel?

The following are the changes w.r.t  version 3.4 of our driver which we 
had earlier sent for review:
 1)Compatible with linux -2.6.0 kernel. 
 2)Review comments from linux-scsi have been incorporated:
     - Indentation /Coding style has been taken care of.
     - Device probing and /dev/iscsi links creation have been moved from
	kernel to user mode.
     - linked list macros from list.h is being used now.
     -few of our kernel files were including <endian.h>. This has been 
rectified.



Thanx
N.C.Krishna Murthy

^ permalink raw reply	[flat|nested] 99+ messages in thread

end of thread, other threads:[~2003-12-13  2:53 UTC | newest]

Thread overview: 99+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-01 12:30 Request for review of Linux iSCSI driver version 4.0.0.1 Naveen Burmi
2003-12-01 14:08 ` Naveen Burmi
2003-12-01 18:48   ` Andre Hedrick
2003-12-01 19:23   ` Andre Hedrick
2003-12-01 16:20 ` Roman Zippel
2003-12-01 17:19   ` Scott M. Ferris
2003-12-01 20:06     ` Clay Haapala
2003-12-01 20:31       ` Andre Hedrick
2003-12-01 20:58         ` Clay Haapala
2003-12-02  3:46   ` Andre Hedrick
2003-12-02 12:02     ` Naveen Burmi
2003-12-02 13:57     ` Roman Zippel
2003-12-02 11:56   ` Naveen Burmi
2003-12-02 14:11     ` Roman Zippel
2003-12-02 16:37     ` James Bottomley
2003-12-02 17:42       ` Mike Anderson
2003-12-02 23:55         ` James Bottomley
2003-12-02 23:41       ` Clay Haapala
2003-12-03 14:06       ` Naveen Burmi
2003-12-03 15:09         ` James Bottomley
2003-12-03 17:03           ` Clay Haapala
2003-12-03 17:32             ` James Bottomley
2003-12-03 17:54             ` Mike Anderson
2003-12-03 20:31               ` Clay Haapala
2003-12-03 21:14                 ` James Bottomley
2003-12-03 21:53                   ` Scott M. Ferris
2003-12-03 22:57                 ` Scott M. Ferris
2003-12-03 20:45               ` Clay Haapala
2003-12-03 21:19                 ` James Bottomley
2003-12-11 11:21                   ` Naveen Burmi
2003-12-03 22:15                 ` Scott M. Ferris
2003-12-03 22:32                   ` Clay Haapala
2003-12-03 23:24                 ` Mike Anderson
2003-12-06 19:37       ` Andre Hedrick
2003-12-07  0:37         ` Roman Zippel
  -- strict thread matches above, loose matches on Subject: below --
2003-12-11 15:47 N.C.Krishna Murthy
2003-12-12 12:48 ` Request " Matthew Wilcox
2003-12-12 15:29   ` N.C.Krishna Murthy
2003-12-13  2:46   ` Andre Hedrick
2003-12-11  0:12 Pat LaVarre
2003-11-21 11:40 Shashi Kiran T.R
2003-11-21 17:56 ` Patrick Mansfield
2003-10-23 12:04 Krishna Murthy
2003-10-27 15:39 ` Christoph Hellwig
2003-10-29 13:23   ` Surekha.PC
2003-10-29 13:45     ` 'Christoph Hellwig'
2003-10-29 17:28       ` Mike Christie
2003-10-29 18:45         ` Clay Haapala
2003-10-29 19:01           ` Mike Christie
2003-10-29 19:17             ` Clay Haapala
2003-10-29 19:33               ` Mike Christie
2003-10-30 23:42                 ` Andre Hedrick
2003-10-30 13:34         ` jd
2003-11-11 11:56       ` Naveen Burmi
2003-11-11 17:36         ` 'Christoph Hellwig'
2003-11-19 12:40           ` Krishna Murthy
2003-11-19 12:49             ` Matthew Wilcox
2003-11-19 13:38             ` 'Christoph Hellwig'
2003-11-11 17:40         ` James Bottomley
2003-11-06  9:42   ` Sachin Mhatre (smhatre)
2003-11-06 10:09     ` 'Christoph Hellwig'
2003-11-07  8:55       ` Douglas Gilbert
2003-11-07  9:30         ` 'Christoph Hellwig'
2003-11-10 17:43         ` Patrick Mansfield
2003-11-06 11:10     ` Andre Hedrick
2003-11-06 11:14       ` 'Christoph Hellwig'
2003-11-13 14:30   ` Sachin Mhatre (smhatre)
2003-11-13 14:54     ` Matthew Wilcox
2003-11-19 13:04   ` Sachin Mhatre (smhatre)
2003-11-19 13:10     ` 'Christoph Hellwig'
2003-11-19 14:48   ` Naveen Burmi
2003-11-19 14:48     ` Christoph Hellwig
2003-11-19 15:19       ` Naveen Burmi
2003-11-19 15:20         ` Christoph Hellwig
2003-12-01 12:10       ` Krishna Murthy
2003-12-01 15:22         ` James Bottomley
2003-12-04 12:30           ` N.C.Krishna Murthy
2003-12-05 15:33             ` James Bottomley
2003-12-05 17:03               ` Brian King
2003-12-08 15:06               ` N.C.Krishna Murthy
2003-12-08 15:46                 ` Scott M. Ferris
2003-12-10 15:01                   ` N.C.Krishna Murthy
2003-12-10 16:50                     ` Scott M. Ferris
2003-12-11 14:48               ` N.C.Krishna Murthy
2003-12-01 15:27         ` Christoph Hellwig
2003-12-02  5:52           ` N.C.Krishna Murthy
2003-12-02 16:59             ` Patrick Mansfield
2003-11-19 17:17     ` Patrick Mansfield
2003-11-20 13:32       ` Naveen Burmi
2003-11-20 13:34         ` Christoph Hellwig
2003-11-20 14:53           ` Naveen Burmi
2003-11-21 16:42   ` Clay Haapala
2003-11-21 17:32     ` Matthew Wilcox
2003-11-21 18:18       ` Clay Haapala
2003-11-26 13:41         ` Christoph Hellwig
2003-11-24  6:09   ` Surekha.PC
2003-11-24  7:48     ` 'Christoph Hellwig'
2003-11-24 20:45       ` Patrick Mansfield
2003-11-26 13:45         ` 'Christoph Hellwig'
2003-12-11 12:31       ` Naveen Burmi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox