From: Vladislav B. <vs...@vl...> - 2010-06-28 18:53:55
|
Hello, Bryan Mesich, on 06/28/2010 05:03 AM wrote: > Hello, > > Hope everyone has had a good weekend. > > I'm currently working on deploying our latest set of fibre > channel targets running linux 2.6.32.15 (32 bit) with SCST trunk > r1787. We are using the qla2x00tgt target driver with the latest > firmware from qlogic's ftp site. The target and initiators are > connected via a fibre channel switch. We are exporting LVM > logical volumes as vdisks with BLOCKIO enabled. > > After running heavy IO to the target (mostly writes), I am > seeing the following errors on the target: > > ### Target Log ### > Jun 27 18:32:30 fc-iacc1-targ6-s kernel: [1833]: dev_vdisk: > blockio_endio:2570:***ERROR***: cmd f44d0f00 returned error -5 > > Jun 27 18:32:30 fc-iacc1-targ6-s kernel: [1833]: dev_vdisk: > blockio_endio:2570:***ERROR***: cmd f44d0f00 returned error -5 > > Jun 27 18:32:30 fc-iacc1-targ6-s kernel: [0]: > scst_set_cmd_error_status:793:cmd f44d0f00 already has status 2 > set > ### End Log ### I suppose this is a new problem? Was it caused by SCST update, kernel update or both? Looks like the kernel sometimes returns for bios EIO not for real IO errors, but for temporary conditions, like out of memory because of too many pending writes. Obviously, we need to distinguish such conditions somehow. Since you are the first who reported, I guess it must be a recently introduced problem, although, of course, it might be a recent SCST regression as well. I'd suggest you to try with other older and newer kernels. If it doesn't help, I need to ask you to grep in your kernel sources in block/ for all EIO and put near each a separate printk(), then rebuild the new kernel and try with it. By so we would be able to see which exact place triggers this EIO. Thanks, Vlad |