* [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code
@ 2005-12-05 8:37 Mike Christie
2005-12-07 1:17 ` Yanggun
0 siblings, 1 reply; 6+ messages in thread
From: Mike Christie @ 2005-12-05 8:37 UTC (permalink / raw)
To: axboe, Linux SCSI list
These two patches are some of the core or bugfix code for the SCSI ULD
scatterlist code. The first patch exports the block layer functions
needed to be able to do async REQ_BLOCK_PC commands and hook into the
request end_io callout and it adds the max_hw_sectors code. And the
second patch fixes a bug in st where it allows SCSI-ml to retry commands
and reverts SCSI-ml back to its previous behavior where it does not
allow scsi_io_completion to retry REQ_BLOCK_PC (previously special
requests) commands.
These patches were made against linux-2.6-block, but apply with some
offset to scsi-misc.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code
2005-12-05 8:37 [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code Mike Christie
@ 2005-12-07 1:17 ` Yanggun
2005-12-07 1:49 ` Mike Christie
0 siblings, 1 reply; 6+ messages in thread
From: Yanggun @ 2005-12-07 1:17 UTC (permalink / raw)
To: Mike Christie; +Cc: axboe, Linux SCSI list
Hi,
i am currently using linux kernel version 2.6.15-rc5 on x86 with Promise
SATAII150 TX2Plus(250G SATA HDD Disk x 2).
But, SATA HDD disk does not become. program execute result of "fdisk
/dev/sda" is "Unable to read /dev/sda".
Work well in linux kernel version 2.6.13.2.
Do not act below since change as result that do debugging.
"[SCSI] use scatter lists for all block pc requests and
simplify hw handlers"
- http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=392160335c798bbe94ab3aae6ea0c85d32b81bbc
Test and tried your bug patch, but, result is same.
By result that I do debugging, if queuecommand () of LLD layer returns
result properly, but execute scsi_probe_lun () -> scsi_execute_req ()
-> blk_execute_rq () by thing which is not realized to proc/scsi/scsi
come out . after execute blk_execute_rq(), then cmd->buffer,
cmd->request_buffer is NULL. so, "Model:" in scsi_add_lun() ->
print_inquiry() comes out NULL.
I what whether must do debugging inform can?
what should I do?
Test Enviroment
--------------
Kernel version: 2.6.15-rc5
SATA Controller: Promise SATAII150 TX2Plus
SATA HDD: Western Digital 250G x 2
SATA Driver: http://www.promise.com/support/download/download2_eng.asp?productID=126&category=all&os=100#
Log
----------------
Nov 24 18:08:27 kernel: ulsata2:[info] Drive 1/0: WDC
WD2500JS-22MHB0 488397167s 250059MB UDMA6
Nov 24 18:08:27 kernel: ulsata2:[info] Drive 3/0: WDC
WD2500JS-22MHB0 488397167s 250059MB UDMA6
Nov 24 18:08:27 kernel: scsi0 : ulsata2
Nov 24 18:08:27 kernel: Vendor: Model:
Rev:
Nov 24 18:08:27 kernel: Type: Direct-Access
ANSI SCSI revision: 00
Nov 24 18:08:27 kernel: sda : sector size 0 reported, assuming 512.
Nov 24 18:08:27 kernel: SCSI device sda: 1 512-byte hdwr sectors (0 MB)
Nov 24 18:08:27 kernel: sda: asking for cache data failed
Nov 24 18:08:27 kernel: sda: assuming drive cache: write through
Nov 24 18:08:27 kernel: sda : sector size 0 reported, assuming 512.
Nov 24 18:08:27 kernel: SCSI device sda: 1 512-byte hdwr sectors (0 MB)
Nov 24 18:08:27 kernel: sda: asking for cache data failed
Nov 24 18:08:27 kernel: sda: assuming drive cache: write through
Nov 24 18:08:27 kernel: sda: sda1
Nov 24 18:08:27 kernel: sd 0:0:0:0: Attached scsi disk sda
Nov 24 18:08:27 kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0
Nov 24 18:08:27 kernel: Vendor: Model:
Rev:
Nov 24 18:08:27 kernel: Type: Direct-Access
ANSI SCSI revision: 00
Nov 24 18:08:27 kernel: sdb : sector size 0 reported, assuming 512.
Nov 24 18:08:27 kernel: SCSI device sdb: 1 512-byte hdwr sectors (0 MB)
Nov 24 18:08:27 kernel: sdb: asking for cache data failed
Nov 24 18:08:27 kernel: sdb: assuming drive cache: write through
Nov 24 18:08:27 kernel: sdb : sector size 0 reported, assuming 512.
Nov 24 18:08:27 kernel: SCSI device sdb: 1 512-byte hdwr sectors (0 MB)
Nov 24 18:08:27 kernel: sdb: asking for cache data failed
Nov 24 18:08:27 kernel: sdb: assuming drive cache: write through
Nov 24 18:08:27 kernel: sdb: sdb1
Nov 24 18:08:27 kernel: sd 0:0:2:0: Attached scsi disk sdb
Nov 24 18:08:27 kernel: sd 0:0:2:0: Attached scsi generic sg1 type 0
[root@test root]# lsmod
Module Size Used by
snd_pcm_oss 48288 0
snd_pcm 80520 1 snd_pcm_oss
snd_timer 21508 1 snd_pcm
snd_page_alloc 8456 1 snd_pcm
snd_mixer_oss 17024 1 snd_pcm_oss
lp 9412 0
parport 31816 1 lp
snd 47076 4 snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss
soundcore 7776 1 snd
sr_mod 15268 0
sg 34208 0
i810 20480 0
i830 24832 0
odcap 21488 2
button 5008 0
sbp2 21252 0
ohci1394 31540 0
ieee1394 87224 2 sbp2,ohci1394
pl2303 18948 0
usbserial 27368 1 pl2303
usb_storage 53696 0
uhci_hcd 30096 0
ide_scsi 14468 0
raid1 17920 0
md_mod 59088 1 raid1
ehci_hcd 29960 0
usbcore 106880 6 pl2303,usbserial,usb_storage,uhci_hcd,ehci_hcd
e1000 99892 0
sd_mod 15888 0
ulsata2 132060 0
scsi_mod 122984 7
sr_mod,sg,sbp2,usb_storage,ide_scsi,sd_mod,ulsata2
[root@sentry24 root]# sfdisk -l
Disk /dev/hda: 1007 cylinders, 16 heads, 63 sectors/track
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/hda1 * 0+ 1006 1007- 507496+ 83 Linux
/dev/hda2 0 - 0 0 0 Empty
/dev/hda3 0 - 0 0 0 Empty
/dev/hda4 0 - 0 0 0 Empty
Disk /dev/sda: 0 cylinders, 64 heads, 32 sectors/track
Warning: The partition table looks like it was made
for C/H/S=*/255/63 (instead of 0/64/32).
For this listing I'll assume that geometry.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0+ 30400 30401- 244196001 83 Linux
/dev/sda2 0 - 0 0 0 Empty
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
Disk /dev/sdb: 0 cylinders, 64 heads, 32 sectors/track
Warning: The partition table looks like it was made
for C/H/S=*/255/63 (instead of 0/64/32).
For this listing I'll assume that geometry.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sdb1 0+ 30400 30401- 244196001 83 Linux
/dev/sdb2 0 - 0 0 0 Empty
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
[root@sentry24 root]#
[root@sentry24 root]# sg_map -i -x
/dev/sg0 0 0 0 0 0 /dev/sda WDC WD2500JS-00M
/dev/sg1 0 0 2 0 0 /dev/sdb WDC WD2500JS-00M
[root@sentry24 root]#
[root@sentry24 root]# fdisk -l /dev/sda
[root@sentry24 root]# fdisk /dev/sda
Unable to read /dev/sda
[root@sentry24 root]#
[root@sentry24 root]# !parted
parted --script /dev/sda mklabel msdos
Error: Can't have a partition outside the disk!
Error: Operation not permitted during read on /dev/sda
Error: Operation not permitted during write on /dev/sda
2005/12/5, Mike Christie <michaelc@cs.wisc.edu>:
> These two patches are some of the core or bugfix code for the SCSI ULD
> scatterlist code. The first patch exports the block layer functions
> needed to be able to do async REQ_BLOCK_PC commands and hook into the
> request end_io callout and it adds the max_hw_sectors code. And the
> second patch fixes a bug in st where it allows SCSI-ml to retry commands
> and reverts SCSI-ml back to its previous behavior where it does not
> allow scsi_io_completion to retry REQ_BLOCK_PC (previously special
> requests) commands.
>
> These patches were made against linux-2.6-block, but apply with some
> offset to scsi-misc.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code
2005-12-07 1:17 ` Yanggun
@ 2005-12-07 1:49 ` Mike Christie
2005-12-07 2:03 ` Mike Christie
2005-12-07 2:09 ` Yanggun
0 siblings, 2 replies; 6+ messages in thread
From: Mike Christie @ 2005-12-07 1:49 UTC (permalink / raw)
To: Yanggun; +Cc: axboe, Linux SCSI list
Yanggun wrote:
> Hi,
>
> i am currently using linux kernel version 2.6.15-rc5 on x86 with Promise
> SATAII150 TX2Plus(250G SATA HDD Disk x 2).
>
> But, SATA HDD disk does not become. program execute result of "fdisk
> /dev/sda" is "Unable to read /dev/sda".
>
> Work well in linux kernel version 2.6.13.2.
>
> Do not act below since change as result that do debugging.
> "[SCSI] use scatter lists for all block pc requests and
> simplify hw handlers"
> - http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=392160335c798bbe94ab3aae6ea0c85d32b81bbc
>
>
> Test and tried your bug patch, but, result is same.
I do not think my patch was meant to address your issue :(
>
> By result that I do debugging, if queuecommand () of LLD layer returns
> result properly, but execute scsi_probe_lun () -> scsi_execute_req ()
> -> blk_execute_rq () by thing which is not realized to proc/scsi/scsi
> come out . after execute blk_execute_rq(), then cmd->buffer,
> cmd->request_buffer is NULL. so, "Model:" in scsi_add_lun() ->
> print_inquiry() comes out NULL.
I am not sure I understand correctly, but I do not think the analysis
above is completely correct. scsi_execute_req gets a buffer passed to it
so it should not matter if those fields are set to NULL when
scsi_execute_req completes as long as something has been copied to the
buffer passed into scsi_execute_req.
> --------------
> Kernel version: 2.6.15-rc5
> SATA Controller: Promise SATAII150 TX2Plus
> SATA HDD: Western Digital 250G x 2
> SATA Driver: http://www.promise.com/support/download/download2_eng.asp?productID=126&category=all&os=100#
>
I am not too familar with SATA. Is this driver in mainline and does it
use libata? Which module is it?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code
2005-12-07 1:49 ` Mike Christie
@ 2005-12-07 2:03 ` Mike Christie
2005-12-07 2:12 ` Yanggun
2005-12-07 2:09 ` Yanggun
1 sibling, 1 reply; 6+ messages in thread
From: Mike Christie @ 2005-12-07 2:03 UTC (permalink / raw)
To: Yanggun; +Cc: axboe, Linux SCSI list
Mike Christie wrote:
> Yanggun wrote:
>
>> Hi,
>>
>> i am currently using linux kernel version 2.6.15-rc5 on x86 with Promise
>> SATAII150 TX2Plus(250G SATA HDD Disk x 2).
>>
>> But, SATA HDD disk does not become. program execute result of "fdisk
>> /dev/sda" is "Unable to read /dev/sda".
>>
>> Work well in linux kernel version 2.6.13.2.
>>
>> Do not act below since change as result that do debugging.
>> "[SCSI] use scatter lists for all block pc requests and
>> simplify hw handlers"
>> -
>> http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=392160335c798bbe94ab3aae6ea0c85d32b81bbc
>>
>>
>>
>> Test and tried your bug patch, but, result is same.
>
>
> I do not think my patch was meant to address your issue :(
>
>>
>> By result that I do debugging, if queuecommand () of LLD layer returns
>> result properly, but execute scsi_probe_lun () -> scsi_execute_req ()
>> -> blk_execute_rq () by thing which is not realized to proc/scsi/scsi
>> come out . after execute blk_execute_rq(), then cmd->buffer,
>> cmd->request_buffer is NULL. so, "Model:" in scsi_add_lun() ->
>> print_inquiry() comes out NULL.
>
>
> I am not sure I understand correctly, but I do not think the analysis
> above is completely correct. scsi_execute_req gets a buffer passed to it
> so it should not matter if those fields are set to NULL when
> scsi_execute_req completes as long as something has been copied to the
> buffer passed into scsi_execute_req.
>
>> --------------
>> Kernel version: 2.6.15-rc5
>> SATA Controller: Promise SATAII150 TX2Plus
>> SATA HDD: Western Digital 250G x 2
>> SATA Driver:
>> http://www.promise.com/support/download/download2_eng.asp?productID=126&category=all&os=100#
>>
>>
>
> I am not too familar with SATA. Is this driver in mainline and does it
> use libata? Which module is it?
I downloaded SATAII150_300_Series_Linux_src of that site and it looks
like it should not assume some commands are scatterlist based and some
are use_sg=0. The driver needs to be updated.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code
2005-12-07 1:49 ` Mike Christie
2005-12-07 2:03 ` Mike Christie
@ 2005-12-07 2:09 ` Yanggun
1 sibling, 0 replies; 6+ messages in thread
From: Yanggun @ 2005-12-07 2:09 UTC (permalink / raw)
To: Mike Christie; +Cc: axboe, Linux SCSI list
thanks comment.
Using driver is SATA controller driver who offer in Promise company.
this driver does not mainline driver. and this driver does not use
libata.
Promise SATAII150 TX2plus Driver of main line does sata_promise. but
do not use doing not support sata_promise + libata to hotswap yet.
I will do debugging little more.
2005/12/7, Mike Christie <michaelc@cs.wisc.edu>:
> Yanggun wrote:
> > Hi,
> >
> > i am currently using linux kernel version 2.6.15-rc5 on x86 with Promise
> > SATAII150 TX2Plus(250G SATA HDD Disk x 2).
> >
> > But, SATA HDD disk does not become. program execute result of "fdisk
> > /dev/sda" is "Unable to read /dev/sda".
> >
> > Work well in linux kernel version 2.6.13.2.
> >
> > Do not act below since change as result that do debugging.
> > "[SCSI] use scatter lists for all block pc requests and
> > simplify hw handlers"
> > - http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=392160335c798bbe94ab3aae6ea0c85d32b81bbc
> >
> >
> > Test and tried your bug patch, but, result is same.
>
> I do not think my patch was meant to address your issue :(
>
> >
> > By result that I do debugging, if queuecommand () of LLD layer returns
> > result properly, but execute scsi_probe_lun () -> scsi_execute_req ()
> > -> blk_execute_rq () by thing which is not realized to proc/scsi/scsi
> > come out . after execute blk_execute_rq(), then cmd->buffer,
> > cmd->request_buffer is NULL. so, "Model:" in scsi_add_lun() ->
> > print_inquiry() comes out NULL.
>
> I am not sure I understand correctly, but I do not think the analysis
> above is completely correct. scsi_execute_req gets a buffer passed to it
> so it should not matter if those fields are set to NULL when
> scsi_execute_req completes as long as something has been copied to the
> buffer passed into scsi_execute_req.
>
> > --------------
> > Kernel version: 2.6.15-rc5
> > SATA Controller: Promise SATAII150 TX2Plus
> > SATA HDD: Western Digital 250G x 2
> > SATA Driver: http://www.promise.com/support/download/download2_eng.asp?productID=126&category=all&os=100#
> >
>
> I am not too familar with SATA. Is this driver in mainline and does it
> use libata? Which module is it?
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code
2005-12-07 2:03 ` Mike Christie
@ 2005-12-07 2:12 ` Yanggun
0 siblings, 0 replies; 6+ messages in thread
From: Yanggun @ 2005-12-07 2:12 UTC (permalink / raw)
To: Mike Christie; +Cc: axboe, Linux SCSI list
thanks. I am really appreciative for helping.
2005/12/7, Mike Christie <michaelc@cs.wisc.edu>:
> Mike Christie wrote:
> > Yanggun wrote:
> >
> >> Hi,
> >>
> >> i am currently using linux kernel version 2.6.15-rc5 on x86 with Promise
> >> SATAII150 TX2Plus(250G SATA HDD Disk x 2).
> >>
> >> But, SATA HDD disk does not become. program execute result of "fdisk
> >> /dev/sda" is "Unable to read /dev/sda".
> >>
> >> Work well in linux kernel version 2.6.13.2.
> >>
> >> Do not act below since change as result that do debugging.
> >> "[SCSI] use scatter lists for all block pc requests and
> >> simplify hw handlers"
> >> -
> >> http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=392160335c798bbe94ab3aae6ea0c85d32b81bbc
> >>
> >>
> >>
> >> Test and tried your bug patch, but, result is same.
> >
> >
> > I do not think my patch was meant to address your issue :(
> >
> >>
> >> By result that I do debugging, if queuecommand () of LLD layer returns
> >> result properly, but execute scsi_probe_lun () -> scsi_execute_req ()
> >> -> blk_execute_rq () by thing which is not realized to proc/scsi/scsi
> >> come out . after execute blk_execute_rq(), then cmd->buffer,
> >> cmd->request_buffer is NULL. so, "Model:" in scsi_add_lun() ->
> >> print_inquiry() comes out NULL.
> >
> >
> > I am not sure I understand correctly, but I do not think the analysis
> > above is completely correct. scsi_execute_req gets a buffer passed to it
> > so it should not matter if those fields are set to NULL when
> > scsi_execute_req completes as long as something has been copied to the
> > buffer passed into scsi_execute_req.
> >
> >> --------------
> >> Kernel version: 2.6.15-rc5
> >> SATA Controller: Promise SATAII150 TX2Plus
> >> SATA HDD: Western Digital 250G x 2
> >> SATA Driver:
> >> http://www.promise.com/support/download/download2_eng.asp?productID=126&category=all&os=100#
> >>
> >>
> >
> > I am not too familar with SATA. Is this driver in mainline and does it
> > use libata? Which module is it?
>
> I downloaded SATAII150_300_Series_Linux_src of that site and it looks
> like it should not assume some commands are scatterlist based and some
> are use_sg=0. The driver needs to be updated.
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-12-07 2:12 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-05 8:37 [PATCH 0/2] some block and scsi layer additions for ULD scatterlist code Mike Christie
2005-12-07 1:17 ` Yanggun
2005-12-07 1:49 ` Mike Christie
2005-12-07 2:03 ` Mike Christie
2005-12-07 2:12 ` Yanggun
2005-12-07 2:09 ` Yanggun
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).