Re: iSCSI regression with linux 3.9 and 4.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2015-03-20 at 15:31 +0100, Christian Hesse wrote:
> Ewan Milne <emilne@xxxxxxxxxx> on Fri, 2015/03/20 09:51:
> > On Fri, 2015-03-20 at 13:57 +0100, Christian Hesse wrote:
> > > Hello everybody!
> > > 
> > > I reported this issue at LKML [0] but received no answer. Hopefully
> > > linux-scsi is a better place...
> > > 
> > > Beginning with linux 3.19 I see an iSCSI regressen. This works perfectly
> > > with linux 3.18.x (tested with 3.18.6) and before. Effected kernels I
> > > tested are 3.19.0, 3.19.2 and 4.0rc4.r199.gb314aca.
> > > 
> > > The logs tell the story:
> > > 
> > > Feb 19 11:26:49 thebe kernel: scsi host6: iSCSI Initiator over TCP/IP
> > > Feb 19 11:26:49 thebe kernel: scsi 6:0:0:0: Direct-Access     QNAP
> > > iSCSI Storage    4.0  PQ: 0 ANSI: 5 Feb 19 11:26:49 thebe kernel: sd
> > > 6:0:0:0: [sdb] 1073741824 512-byte logical blocks: (549 GB/512 GiB) Feb
> > > 19 11:26:49 thebe kernel: sd 6:0:0:0: [sdb] Write Protect is off Feb 19
> > > 11:26:49 thebe kernel: sd 6:0:0:0: [sdb] Mode Sense: 2f 00 00 00 Feb 19
> > > 11:26:49 thebe kernel: sd 6:0:0:0: [sdb] Write cache: disabled, read
> > > cache: enabled, doesn't support DPO or FUA Feb 19 11:26:49 thebe kernel:
> > > sdb: unknown partition table Feb 19 11:26:49 thebe kernel: sd 6:0:0:0:
> > > [sdb] Attached SCSI disk Feb 19 11:26:49 thebe iscsid[10804]:
> > > Connection1:0 to [target:
> > > iqn.2004-04.com.qnap:ts-859:iscsi.xxxxxxx.c40a18, portal:
> > > xx.xx.xx.xx,3260] through [iface: default] is operational now Feb 19
> > > 11:26:57 thebe kernel:  sdb: unknown partition table Feb 19 11:28:20
> > > thebe kernel: EXT4-fs (dm-8): mounting with "discard" option, but the
> > > device does not support discard Feb 19 11:28:20 thebe kernel: EXT4-fs
> > > (dm-8): mounted filesystem with ordered data mode. Opts: (null) Feb 19
> > > 11:28:24 thebe kernel: sd 6:0:0:0: [sdb] UNKNOWN Result: hostbyte=0x00
> > > driverbyte=0x08 Feb 19 11:28:24 thebe kernel: sd 6:0:0:0: [sdb] Sense
> > > Key : 0x5 [current] Feb 19 11:28:24 thebe kernel: sd 6:0:0:0: [sdb]
> > > ASC=0x24 ASCQ=0x0 Feb 19 11:28:24 thebe kernel: sd 6:0:0:0: [sdb] CDB:
> > > Feb 19 11:28:24 thebe kernel: cdb[0]=0x2a: 2a 00 34 5b 07 ff 00 2f 88 00
> > > Feb 19 11:28:24 thebe kernel: blk_update_request: critical target error,
> > > dev sdb, sector 878381055 Feb 19 11:28:24 thebe kernel: EXT4-fs warning
> > > (device dm-8): ext4_end_bio:317: I/O error -121 writing to inode 33196503
> > > (offset 8388608 size 7278592 starting block 108749056) Feb 19 11:28:24
> > > thebe kernel: Buffer I/O error on device dm-8, logical block 108749056
> > > Feb 19 11:28:24 thebe kernel: Buffer I/O error on device dm-8, logical
> > > block 108749057 Feb 19 11:28:24 thebe kernel: Buffer I/O error on device
> > > dm-8, logical block 108749058 Feb 19 11:28:24 thebe kernel: Buffer I/O
> > > error on device dm-8, logical block 108749059 Feb 19 11:28:24 thebe
> > > kernel: Buffer I/O error on device dm-8, logical block 108749060 Feb 19
> > > 11:28:24 thebe kernel: Buffer I/O error on device dm-8, logical block
> > > 108749061 Feb 19 11:28:24 thebe kernel: Buffer I/O error on device dm-8,
> > > logical block 108749062 Feb 19 11:28:24 thebe kernel: Buffer I/O error on
> > > device dm-8, logical block 108749063 Feb 19 11:28:24 thebe kernel: Buffer
> > > I/O error on device dm-8, logical block 108749064 Feb 19 11:28:24 thebe
> > > kernel: Buffer I/O error on device dm-8, logical block 108749065 Feb 19
> > > 11:28:24 thebe kernel: EXT4-fs warning (device dm-8): ext4_end_bio:317:
> > > I/O error -121 writing to inode 33196503 (offset 8388608 size 7278592
> > > starting block 108749312) Feb 19 11:28:24 thebe kernel: EXT4-fs warning
> > > (device dm-8): ext4_end_bio:317: I/O error -121 writing to inode 33196503
> > > (offset 8388608 size 7278592 starting block 108749568) Feb 19 11:28:24
> > > thebe kernel: EXT4-fs warning (device dm-8): ext4_end_bio:317: I/O error
> > > -121 writing to inode 33196503 (offset 8388608 size 7278592 starting
> > > block 108749824) Feb 19 11:28:24 thebe kernel: EXT4-fs warning (device
> > > dm-8): ext4_end_bio:317: I/O error -121 writing to inode 33196503 (offset
> > > 8388608 size 7278592 starting block 108750080) Feb 19 11:28:24 thebe
> > > kernel: EXT4-fs warning (device dm-8): ext4_end_bio:317: I/O error -121
> > > writing to inode 33196503 (offset 8388608 size 7278592 starting block
> > > 108750336) Feb 19 11:29:10 thebe kernel: sd 6:0:0:0: [sdb] UNKNOWN
> > > Result: hostbyte=0x00 driverbyte=0x08 Feb 19 11:29:10 thebe kernel: sd
> > > 6:0:0:0: [sdb] Sense Key : 0x5 [current] Feb 19 11:29:10 thebe kernel: sd
> > > 6:0:0:0: [sdb] ASC=0x24 ASCQ=0x0 Feb 19 11:29:10 thebe kernel: sd
> > > 6:0:0:0: [sdb] CDB: Feb 19 11:29:10 thebe kernel: cdb[0]=0x2a: 2a 00 20
> > > 44 89 17 00 20 50 00 Feb 19 11:29:10 thebe kernel: blk_update_request:
> > > critical target error, dev sdb, sector 541362455 Feb 19 11:29:10 thebe
> > > kernel: Buffer I/O error on dev dm-8, logical block 66621731, lost sync
> > > page write Feb 19 11:29:10 thebe kernel: Aborting journal on device
> > > dm-8-8. Feb 19 11:29:10 thebe kernel: EXT4-fs error (device dm-8):
> > > ext4_journal_check_start:56: Detected aborted journal Feb 19 11:29:10
> > > thebe kernel: EXT4-fs (dm-8): Remounting filesystem read-only Feb 19
> > > 11:29:20 thebe kernel: EXT4-fs error (device dm-8): ext4_put_super:780:
> > > Couldn't clean up the journal
> > > 
> > > [0] https://lkml.org/lkml/2015/2/19/91
> > 
> > Sense key 0x5 ASC/ASCQ 0x24 0x00 is ILLEGAL REQUEST, INVALID FIELD IN
> > CDB.  The CDB was 2A 00 34 5B 07 FF 00 2F 88 00, which is a WRITE_10
> > to LBA 878381055 with a length of 12168 blocks (a little less than 6MB).
> > It looks like this is within the reported capacity of the device, and
> > there are no other bits set in the CDB.
> > 
> > Looks like you could get this error if RWWP (reject without write
> > protection) is set in the control mode page.  I don't see any messages
> > about the protection type, though.  What does sysfs report?
> 
> Is that what you are interested in?
> 
> # cat protection_mode protection_type 
> none
> 0
> 
> In case it matters: The iSCSI device is LUKS encrypted, that is why device
> mapper shows up.
> 
> I removed the discard option from filesystem's default mount option, but
> that brings no difference except the message is not printed.

It is most likely the device that is returning the error, there is a
place in the iSCSI Initiator that generates an ILLEGAL REQUEST sense,
but it is not the same ASC/ASCQ.

There was this change:

commit bcdb247c6b6a1f3e72b9b787b73f47dd509d17ec
Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Date:   Tue Jun 3 18:45:51 2014 -0400

    sd: Limit transfer length
    
    Until now the per-command transfer length has exclusively been gated by
    the max_sectors parameter in the scsi_host template. Given that the size
    of this parameter has been bumped to an unsigned int we have to be
    careful not to exceed the target device's capabilities.
    
    If the if the device specifies a Maximum Transfer Length in the Block
    Limits VPD we'll use that value. Otherwise we'll use 0xffffffff for
    devices that have use_16_for_rw set and 0xffff for the rest. We then
    combine the chosen disk limit with max_sectors in the host template. The
    smaller of the two will be used to set the max_hw_sectors queue limit.
    
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx>
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>

What is the value of max_sectors_kb and queue_max_sectors_kb in sysfs
for the device?  Is it different than what is reported on 3.18?

Does your target support the Block Limits VPD (page B0)?  (i.e. can
you run "sg_inq /dev/sda -p bl" from the sg3_utils package?)

-Ewan





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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux