[Bug 63141] New: Linux Kernel will shows "Got wrong page" in kernel log when Linux kernel tries to send SCSI ModeSense command with Page code 0x08 (Caching Mode Page)

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=63141

            Bug ID: 63141
           Summary: Linux Kernel will shows "Got wrong page" in kernel log
                    when Linux kernel tries to send SCSI ModeSense command
                    with Page code 0x08 (Caching Mode Page)
           Product: IO/Storage
           Version: 2.5
    Kernel Version: 3.6.11
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: low
          Priority: P1
         Component: SCSI
          Assignee: linux-scsi@xxxxxxxxxxxxxxx
          Reporter: leochen64@xxxxxxxxx
        Regression: No

Created attachment 111291
  --> https://bugzilla.kernel.org/attachment.cgi?id=111291&action=edit
SourceCodeComparsionBetween2.6.xAnd3.9.1

Reporter: Leo Chen (Li-Chung Chen)
Report Date: 10/16/13

Issue Descrition: In Linux kernel 3.6.11, sd.c file, host calls
sd_read_cache_type() function to read physical disk or volume cache type. This
function works properly on most physical disks but will fail to read the cache
type on LSI raid volume. The error message in Linux Kernel is "Got wrong page".

However, the Linux kernel works properly in kernel 2.6.x.

Suggestion: If we restore below codes from 2.6.x to 3.6.11 in
sd.c,sd_read_cache_type()function, then the kernel won't report "got wrong
page" in the log. 

/* Take headers and block descriptors into account */
len += data.header_length + data.block_descriptor_length;

I also referenced the SPC-4(SCSI Primary Commands - 4) specification from T10
to check if it's LSI firmware problem to response the wrong parameter length to
the host. According to the description in SPC below, it looks like LSI logical
volume doesn't voilate the specification to response the MODE DATA LENGTH value
to host.

[SPC-4 Description about the Mode Parameter]
When using the MODE SENSE command, the MODE DATA LENGTH field indicates the
length in bytes of the following
data that is available to be transferred. The mode data length does not include
the number of bytes in the MODE
DATA LENGTH field. 
[SPC-4 Description about the Mode Parameter]

Therefore, I'd like to suggest the Linux Kernel to add the code above to make
the kernel handle the cache reading properly.

-- 
You are receiving this mail because:
You are the assignee for the bug.
--
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