Re: qla2xxx BUG: workqueue leaked lock or atomic

2007-03-09 Thread Andre Noll
On 12:05, Mingming Cao wrote:
   BTW: Are ext3 filesystem sizes greater than 8T now officially
   supported?
  
  I think so, but I don't know how much 16TB testing developers and
  distros are doing - perhaps the linux-ext4 denizens can tell us?
  -
 
 IBM has done some testing (dbench, fsstress, fsx, tiobench, iozone etc)
 on 10TB ext3, I think RedHat and BULL have done similar test on 8TB
 ext3 too.

Thanks. I'm asking because some days ago I tried to create a 10T ext3
filesytem on a linear software raid over two hardware raids, and it
failed horribly. mke2fs from e2fsprogs-1.39 refused to create such a
large filesystem but did it with -F, and I could mount it afterwards.
But writing data immediately produced zillions of errors and only
power-cycling the box helped.

We're now using a 7.9T filesystem on the same hardware. That seems
to work fine on 2.6.21-rc2, so I think this is an ext3 problem. I
cannot completely rule out other reasons though as the underlying
qla2xxx driver also had some problems on earlier kernels.

We'd much rather have a 10T filesystem if possible. So if you have
time to look into the issue I would be willing to recreate the 10T
filesystem and send details.

Regards
Andre
-- 
The only person who always got his work done by Friday was Robinson Crusoe


signature.asc
Description: Digital signature


Re: [PATCH 1/3] pci: New PCI-E reset API

2007-03-09 Thread Brian King
Greg KH wrote:
 On Thu, Mar 08, 2007 at 02:44:26PM -0600, Brian King wrote:
 Greg,

 I saw you pulled this into your gregkh-2.6 tree. Does that mean
 it is queued for 2.6.22?
 
 Yes it is.  Is that a problem?

No problem at all. 

Thanks,

Brian

-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [stable] [patch 29/29] bug in gdth.c crashing machine

2007-03-09 Thread Greg KH
On Wed, Mar 07, 2007 at 07:50:14PM -0500, James Bottomley wrote:
 On Wed, 2007-03-07 at 11:16 -0800, Andrew Morton wrote:
  Achim did reply:  http://lkml.org/lkml/2007/2/23/138
 
 Ah ... OK; sorry, I'm parochial ... if it didn't appear on linux-scsi,
 you can usually assume I haven't seen it.
 
  So we don't know what the patch does, but it should be merged into
  -stable
  (and mainline, heaven forfend)
 
 Well ... I would, except what this patch does is to initialise the
 command sg_ranz field (for both 64 bit and 32 bit commands).  If you
 look in the code just below the patch application at the 
 
 if (scp-use_sg) {
 ...
 } else if (scp-request_bufflen) {
 ...
 }
 
 You'll find a line setting these parameters in each of the cases of the
 if statement.  So the bug appears to be that there's a missing else
 clause to this if, which would initialise the zero transfer commands.
 Is that a correct analysis?

Well, as no one has really responded to this thread about what the patch
really does, and it's not in even James's tree yet, I've dropped it from
-stable.

If James does send it to Linus, I'll be glad to reconsider it at that
time.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ PATCH ] mptsas: Fix oops for insmod during kexec

2007-03-09 Thread Judith Lebzelter
Hello,

This patch is to fix an oops on insmod for mptsas during kexec.
This applies to 2.6.21-rc3.

Signed-off-by:  Judith Lebzelter [EMAIL PROTECTED]

---


Index: linux-2.6.21-rc3/drivers/message/fusion/mptsas.c
===
--- linux-2.6.21-rc3.orig/drivers/message/fusion/mptsas.c
+++ linux-2.6.21-rc3/drivers/message/fusion/mptsas.c
@@ -815,7 +815,7 @@ mptsas_taskmgmt_complete(MPT_ADAPTER *io
 static int
 mptsas_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
 {
-   MPT_SCSI_HOST   *hd = (MPT_SCSI_HOST *)ioc-sh-hostdata;
+   MPT_SCSI_HOST   *hd;
struct mptsas_target_reset_event *target_reset_list, *n;
int rc;
 
@@ -827,7 +827,10 @@ mptsas_ioc_reset(MPT_ADAPTER *ioc, int r
if (reset_phase != MPT_IOC_POST_RESET)
goto out;
 
-   if (!hd || !hd-ioc)
+   if (!ioc-sh || !ioc-sh-hostdata)
+   goto out;
+   hd = (MPT_SCSI_HOST *)ioc-sh-hostdata;
+   if (!hd-ioc)
goto out;
 
if (list_empty(hd-target_reset_list))

-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ PATCH ] mptsas: Fix oops for insmod during kexec

2007-03-09 Thread Christoph Hellwig
On Fri, Mar 09, 2007 at 01:07:44PM -0800, Judith Lebzelter wrote:
 Hello,
 
 This patch is to fix an oops on insmod for mptsas during kexec.
 This applies to 2.6.21-rc3.
 
 Signed-off-by:  Judith Lebzelter [EMAIL PROTECTED]
 
 ---
 
 
 Index: linux-2.6.21-rc3/drivers/message/fusion/mptsas.c
 ===
 --- linux-2.6.21-rc3.orig/drivers/message/fusion/mptsas.c
 +++ linux-2.6.21-rc3/drivers/message/fusion/mptsas.c
 @@ -815,7 +815,7 @@ mptsas_taskmgmt_complete(MPT_ADAPTER *io
  static int
  mptsas_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
  {
 - MPT_SCSI_HOST   *hd = (MPT_SCSI_HOST *)ioc-sh-hostdata;
 + MPT_SCSI_HOST   *hd;
   struct mptsas_target_reset_event *target_reset_list, *n;
   int rc;
  
 @@ -827,7 +827,10 @@ mptsas_ioc_reset(MPT_ADAPTER *ioc, int r
   if (reset_phase != MPT_IOC_POST_RESET)
   goto out;
  
 - if (!hd || !hd-ioc)
 + if (!ioc-sh || !ioc-sh-hostdata)
 + goto out;
 + hd = (MPT_SCSI_HOST *)ioc-sh-hostdata;
 + if (!hd-ioc)

This needs a much better explanation.  Please show the codepath
leading to this.

-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [ PATCH ] mptsas: Fix oops for insmod during kexec

2007-03-09 Thread Moore, Eric
On Friday, March 09, 2007 2:23 PM, Christoph Hellwig wrote: 


 This needs a much better explanation.  Please show the codepath
 leading to this.
 


I was working with Judith on this patch earlier this week, so this is
approved by LSI,,, ACK.

This fix's an oops during driver load time.   mptsas_probe calls
mpt_attach(over in mptbase.c).  Inside that call, we read some
manufacturing config pages to setup some defaults.  While reading the
config pages, the firmware doesn't complete the reply in time, and we
have a timeout. The timeout results in hardreset handler being called.
The hardreset handler calls all the fusion upper layer driver reset
callback handlers.  The mptsas_ioc_reset function is the callback
handler in mptsas.c.   So where I'm getting to, is mptsas_ioc_reset is
getting called before scsi_host_alloc is called, and the pointer ioc-sh
is NULL.,,, as well as the hostdata. 
 
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: WRITE BUFFER commands through SG_IO getting rounded up to sector past 32k

2007-03-09 Thread Aravind Parchuri
My log messages were getting all mixed up, so I cleaned up my little 
test to send just one command at a time. It actually looks like the mid 
layer passes the command through to open-iscsi with the right size the 
first time, but then it sends a second command with request_bufflen = 0.


I can verify that the command completed on the target just like the 
regular ones did, so there should be no reason for a retry of any sort.


Here's the log for a 32896 byte command:
Mar  9 11:27:43 ITX000c292c3c8d kernel: sg_open: dev=0, flags=0x802
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_add_sfp: sfp=0xcbadc000
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_build_reserve: req_size=32768
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32768, blk_size=32768
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_add_sfp:   bufflen=32768, 
k_use_sg=1

Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_ioctl: sg0, cmd=0x2285
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_common_write:  scsi 
opcode=0x3b, cmd_size=10

Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_start_req: dxfer_len=32896
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32896, blk_size=33280
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_write_xfer: num_xfer=32896, 
iovec_count=0, k_use_sg=2
Mar  8 11:27:43 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 32896 transfersize 32896
Mar  8 11:27:43 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 0 transfersize 0

Mar  8 11:27:44 ITX000c292c3c8d last message repeated 289 times
Mar  8 11:27:44 ITX000c292c3c8d kernel: sg_release: sg0
Mar  8 11:27:44 ITX000c292c3c8d kernel: sg_fasync: sg0, mode=0
Mar  8 11:27:44 ITX000c292c3c8d kernel: sg_remove_sfp: worrisome, 1 
writes pending
Mar  8 11:27:44 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 0 transfersize 0

Mar  8 11:27:57 ITX000c292c3c8d last message repeated 3197 times
Mar  8 11:27:57 ITX000c292c3c8d kernel: SysRq : Changing Loglevel
Mar  8 11:27:57 ITX000c292c3c8d kernel: Loglevel set to 0
Mar  8 11:27:57 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 0 transfersize 0


For comparison, here's a 30 kB command:
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_open: dev=0, flags=0x802
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_add_sfp: sfp=0xcb826000
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_build_reserve: req_size=32768
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32768, blk_size=32768
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_add_sfp:   bufflen=32768, 
k_use_sg=1

Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_ioctl: sg0, cmd=0x2285
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_common_write:  scsi 
opcode=0x3b, cmd_size=10

Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_start_req: dxfer_len=30848
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_link_reserve: size=30848
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_write_xfer: num_xfer=30848, 
iovec_count=0, k_use_sg=1
Mar  8 11:24:20 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 30848 transfersize 30848

Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_cmd_done: sg0, pack_id=0, res=0x0
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_finish_rem_req: res_used=1
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_unlink_reserve: req-k_use_sg=1
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_release: sg0
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_fasync: sg0, mode=0
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_remove_scat: k_use_sg=1


Here's a 33 kB command, which also goes through fine:
Mar  8 12:21:53 ITX000c292c3c8d kernel: Kernel logging (proc) stopped.
Mar  8 12:21:53 ITX000c292c3c8d kernel: Kernel log daemon terminating.
Mar  8 12:21:54 ITX000c292c3c8d exiting on signal 15
Mar  8 12:21:54 ITX000c292c3c8d syslogd 1.4.1: restart.
Mar  8 12:21:55 ITX000c292c3c8d kernel: klogd 1.4.1, log source = 
/proc/kmsg started.

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_open: dev=0, flags=0x802
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_add_sfp: sfp=0xcb9ef000
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_build_reserve: req_size=32768
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32768, blk_size=32768
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_add_sfp:   bufflen=32768, 
k_use_sg=1

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_ioctl: sg0, cmd=0x2285
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_common_write:  scsi 
opcode=0x3b, cmd_size=10

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_start_req: dxfer_len=33792
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=33792, blk_size=33792
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_write_xfer: num_xfer=33792, 
iovec_count=0, k_use_sg=2
Mar  8 12:22:43 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 33792 transfersize 33792

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_cmd_done: sg0, pack_id=0, res=0x0
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_finish_rem_req: res_used=0
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_remove_scat: 

Re: WRITE BUFFER commands through SG_IO getting rounded up to sector past 32k

2007-03-09 Thread Aravind Parchuri
FYI, commenting out the sector roundup in sg_build_indirect ( blk_size = 
(blk_size + SG_SECTOR_MSK)  (~SG_SECTOR_MSK); ) made everything work 
fine with my test and open-iscsi in general. I'm sure there's a 
glaringly obvious reason for that roundup (one that I'm unaware of), so 
I presume this isn't an acceptable solution,


Aravind.


[EMAIL PROTECTED] wrote:
My log messages were getting all mixed up, so I cleaned up my little 
test to send just one command at a time. It actually looks like the mid 
layer passes the command through to open-iscsi with the right size the 
first time, but then it sends a second command with request_bufflen = 0.


I can verify that the command completed on the target just like the 
regular ones did, so there should be no reason for a retry of any sort.


Here's the log for a 32896 byte command:
Mar  9 11:27:43 ITX000c292c3c8d kernel: sg_open: dev=0, flags=0x802
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_add_sfp: sfp=0xcbadc000
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_build_reserve: req_size=32768
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32768, blk_size=32768
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_add_sfp:   bufflen=32768, 
k_use_sg=1

Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_ioctl: sg0, cmd=0x2285
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_common_write:  scsi 
opcode=0x3b, cmd_size=10

Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_start_req: dxfer_len=32896
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32896, blk_size=33280
Mar  8 11:27:43 ITX000c292c3c8d kernel: sg_write_xfer: num_xfer=32896, 
iovec_count=0, k_use_sg=2
Mar  8 11:27:43 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 32896 transfersize 32896
Mar  8 11:27:43 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 0 transfersize 0

Mar  8 11:27:44 ITX000c292c3c8d last message repeated 289 times
Mar  8 11:27:44 ITX000c292c3c8d kernel: sg_release: sg0
Mar  8 11:27:44 ITX000c292c3c8d kernel: sg_fasync: sg0, mode=0
Mar  8 11:27:44 ITX000c292c3c8d kernel: sg_remove_sfp: worrisome, 1 
writes pending
Mar  8 11:27:44 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 0 transfersize 0

Mar  8 11:27:57 ITX000c292c3c8d last message repeated 3197 times
Mar  8 11:27:57 ITX000c292c3c8d kernel: SysRq : Changing Loglevel
Mar  8 11:27:57 ITX000c292c3c8d kernel: Loglevel set to 0
Mar  8 11:27:57 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 0 transfersize 0


For comparison, here's a 30 kB command:
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_open: dev=0, flags=0x802
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_add_sfp: sfp=0xcb826000
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_build_reserve: req_size=32768
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32768, blk_size=32768
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_add_sfp:   bufflen=32768, 
k_use_sg=1

Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_ioctl: sg0, cmd=0x2285
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_common_write:  scsi 
opcode=0x3b, cmd_size=10

Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_start_req: dxfer_len=30848
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_link_reserve: size=30848
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_write_xfer: num_xfer=30848, 
iovec_count=0, k_use_sg=1
Mar  8 11:24:20 ITX000c292c3c8d kernel: iscsi_queuecommand: opcode 3b 
request_bufflen 30848 transfersize 30848
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_cmd_done: sg0, pack_id=0, 
res=0x0

Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_finish_rem_req: res_used=1
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_unlink_reserve: req-k_use_sg=1
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_release: sg0
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_fasync: sg0, mode=0
Mar  8 11:24:20 ITX000c292c3c8d kernel: sg_remove_scat: k_use_sg=1


Here's a 33 kB command, which also goes through fine:
Mar  8 12:21:53 ITX000c292c3c8d kernel: Kernel logging (proc) stopped.
Mar  8 12:21:53 ITX000c292c3c8d kernel: Kernel log daemon terminating.
Mar  8 12:21:54 ITX000c292c3c8d exiting on signal 15
Mar  8 12:21:54 ITX000c292c3c8d syslogd 1.4.1: restart.
Mar  8 12:21:55 ITX000c292c3c8d kernel: klogd 1.4.1, log source = 
/proc/kmsg started.

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_open: dev=0, flags=0x802
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_add_sfp: sfp=0xcb9ef000
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_build_reserve: req_size=32768
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=32768, blk_size=32768
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_add_sfp:   bufflen=32768, 
k_use_sg=1

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_ioctl: sg0, cmd=0x2285
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_common_write:  scsi 
opcode=0x3b, cmd_size=10

Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_start_req: dxfer_len=33792
Mar  8 12:22:43 ITX000c292c3c8d kernel: sg_build_indirect: 
buff_size=33792, blk_size=33792
Mar  8 12:22:43 ITX000c292c3c8d kernel: