Bug#733565: SIX messages per on boot console should be TWO
MKP == Martin K Petersen martin.peter...@oracle.com writes: MKP We have to discover the basics of the disk before we can create the MKP gendisk/block device/request queue. And some of the subsequent MKP parameters we need can't be stored or acted upon until everything has MKP been set up. So some questions we have to ask several times. Perhaps the messages could be each differentiated so the user doesn't see them as something that looks like a bug and needs to be reported. E.g., prefix/suffix with PHASE I CHECK, PHASE II CHECK, PHASE III CHECK. or FIRST CHECK, INTERMEDIATE CHECK, FINAL CHECK, or CHECK 1, CHECK 2... or INTERMEDIATE PROBE:, FINAL PROBE:, etc. -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87ha9kvjp8@jidanni.org
Bug#733565: SIX messages per on boot console should be TWO
Ben == Ben Hutchings b...@decadent.org.uk writes: Ben I can see that it is emitted by sd_read_cache_type(), which is Ben called by sd_revalidate_disk(), and that is apparently now called 3 Ben times during probe. Which is quite ridiculous. We have to discover the basics of the disk before we can create the gendisk/block device/request queue. And some of the subsequent parameters we need can't be stored or acted upon until everything has been set up. So some questions we have to ask several times. Ben And I wonder whether this situation (no caching mode page) is Ben really serious enough to deserve logging at ERR severity? I guess we could extend the first_scan logic to cover the error case scenarios. But it is quite unusual for a device to not implement the caching mode page... -- Martin K. Petersen Oracle Linux Engineering -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/yq1ob3szun7@sermon.lab.mkp.net
Bug#733565: SIX messages per on boot console should be TWO
Martin == Martin K Petersen martin.peter...@oracle.com writes: Martin I guess we could extend the first_scan logic to cover the error Martin case scenarios. [SCSI] sd: Quiesce mode sense error messages Messages about discovered disk properties are only printed once unless they are found to have changed. Errors encountered during mode sense, however, are printed every time we revalidate. Quiesce mode sense errors so they are only printed during the first scan. Signed-off-by: Martin K. Petersen martin.peter...@oracle.com diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 69725f7c32c1..14d601ed1956 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -2283,7 +2283,7 @@ sd_read_write_protect_flag(struct scsi_disk *sdkp, unsigned char *buffer) set_disk_ro(sdkp-disk, 0); if (sdp-skip_ms_page_3f) { - sd_printk(KERN_NOTICE, sdkp, Assuming Write Enabled\n); + sd_first_printk(KERN_NOTICE, sdkp, Assuming Write Enabled\n); return; } @@ -2315,7 +2315,7 @@ sd_read_write_protect_flag(struct scsi_disk *sdkp, unsigned char *buffer) } if (!scsi_status_is_good(res)) { - sd_printk(KERN_WARNING, sdkp, + sd_first_printk(KERN_WARNING, sdkp, Test WP failed, assume Write Enabled\n); } else { sdkp-write_prot = ((data.device_specific 0x80) != 0); @@ -2383,7 +2383,8 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer) if (!data.header_length) { modepage = 6; first_len = 0; - sd_printk(KERN_ERR, sdkp, Missing header in MODE_SENSE response\n); + sd_first_printk(KERN_ERR, sdkp, + Missing header in MODE_SENSE response\n); } /* that went OK, now ask for the proper length */ @@ -2396,7 +2397,7 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer) if (len 3) goto bad_sense; else if (len SD_BUF_SIZE) { - sd_printk(KERN_NOTICE, sdkp, Truncating mode parameter + sd_first_printk(KERN_NOTICE, sdkp, Truncating mode parameter data from %d to %d bytes\n, len, SD_BUF_SIZE); len = SD_BUF_SIZE; } @@ -2419,8 +2420,9 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer) /* We're interested only in the first 3 bytes. */ if (len - offset = 2) { - sd_printk(KERN_ERR, sdkp, Incomplete - mode parameter data\n); + sd_first_printk(KERN_ERR, sdkp, + Incomplete mode parameter + data\n); goto defaults; } else { modepage = page_code; @@ -2434,14 +2436,15 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer) else if (!spf len - offset 1) offset += 2 + buffer[offset+1]; else { - sd_printk(KERN_ERR, sdkp, Incomplete - mode parameter data\n); + sd_first_printk(KERN_ERR, sdkp, + Incomplete mode + parameter data\n); goto defaults; } } } - sd_printk(KERN_ERR, sdkp, No Caching mode page found\n); + sd_first_printk(KERN_ERR, sdkp, No Caching mode page found\n); goto defaults; Page_found: @@ -2455,7 +2458,7 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer) sdkp-DPOFUA = (data.device_specific 0x10) != 0; if (sdkp-DPOFUA !sdkp-device-use_10_for_rw) { - sd_printk(KERN_NOTICE, sdkp, + sd_first_printk(KERN_NOTICE, sdkp, Uses READ/WRITE(6), disabling FUA\n); sdkp-DPOFUA = 0; } @@ -2477,16 +2480,19 @@ bad_sense: sshdr.sense_key == ILLEGAL_REQUEST sshdr.asc == 0x24 sshdr.ascq == 0x0) /* Invalid field in CDB */ - sd_printk(KERN_NOTICE, sdkp, Cache data unavailable\n); + sd_first_printk(KERN_NOTICE, sdkp, Cache data unavailable\n); else - sd_printk(KERN_ERR, sdkp, Asking for cache data failed\n); +
Bug#733565: SIX messages per on boot console should be TWO
Package: linux-image-3.12-1-686-pae Currently any such devices as below that are attached during boot still produce the below SIX messages per device when they should only produce TWO: # dmesg |egrep Caching\|Assuming [3.960663] sd 3:0:0:0: [sdb] No Caching mode page found [3.960701] sd 3:0:0:0: [sdb] Assuming drive cache: write through [3.978659] sd 3:0:0:0: [sdb] No Caching mode page found [3.978694] sd 3:0:0:0: [sdb] Assuming drive cache: write through [3.998652] sd 3:0:0:0: [sdb] No Caching mode page found [3.998689] sd 3:0:0:0: [sdb] Assuming drive cache: write through [4.174630] sd 2:0:0:2: [sde] No Caching mode page found [4.174669] sd 2:0:0:2: [sde] Assuming drive cache: write through [4.196628] sd 2:0:0:2: [sde] No Caching mode page found [4.196664] sd 2:0:0:2: [sde] Assuming drive cache: write through [4.220624] sd 2:0:0:2: [sde] No Caching mode page found [4.220661] sd 2:0:0:2: [sde] Assuming drive cache: write through Please confirm that you also see the six messages right there on the console stderr. -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87vby7l08j@jidanni.org
Processed: Re: Bug#733565: SIX messages per on boot console should be TWO
Processing control commands: reassign -1 src:linux 3.12.6-1 Bug #733565 [linux-image-3.12-1-686-pae] SIX messages per on boot console should be TWO Bug reassigned from package 'linux-image-3.12-1-686-pae' to 'src:linux'. Ignoring request to alter found versions of bug #733565 to the same values previously set Ignoring request to alter fixed versions of bug #733565 to the same values previously set Bug #733565 [src:linux] SIX messages per on boot console should be TWO Marked as found in versions linux/3.12.6-1. -- 733565: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733565 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/handler.s.b733565.138837329521627.transcr...@bugs.debian.org
Bug#733565: SIX messages per on boot console should be TWO
Control: reassign -1 src:linux 3.12.6-1 On Mon, 2013-12-30 at 07:13 +0800, jida...@jidanni.org wrote: Package: linux-image-3.12-1-686-pae Currently any such devices as below that are attached during boot still produce the below SIX messages per device when they should only produce TWO: # dmesg |egrep Caching\|Assuming [3.960663] sd 3:0:0:0: [sdb] No Caching mode page found [3.960701] sd 3:0:0:0: [sdb] Assuming drive cache: write through [3.978659] sd 3:0:0:0: [sdb] No Caching mode page found [3.978694] sd 3:0:0:0: [sdb] Assuming drive cache: write through [3.998652] sd 3:0:0:0: [sdb] No Caching mode page found [3.998689] sd 3:0:0:0: [sdb] Assuming drive cache: write through [4.174630] sd 2:0:0:2: [sde] No Caching mode page found [4.174669] sd 2:0:0:2: [sde] Assuming drive cache: write through [4.196628] sd 2:0:0:2: [sde] No Caching mode page found [4.196664] sd 2:0:0:2: [sde] Assuming drive cache: write through [4.220624] sd 2:0:0:2: [sde] No Caching mode page found [4.220661] sd 2:0:0:2: [sde] Assuming drive cache: write through Please confirm that you also see the six messages right there on the console stderr. I'm not seeing it at all here as my SSD apparently does implement the caching mode page. I can see that it is emitted by sd_read_cache_type(), which is called by sd_revalidate_disk(), and that is apparently now called 3 times during probe. Which is quite ridiculous. And I wonder whether this situation (no caching mode page) is really serious enough to deserve logging at ERR severity? Ben. -- Ben Hutchings Logic doesn't apply to the real world. - Marvin Minsky signature.asc Description: This is a digitally signed message part