sd: fix cache flushing message
PATCH 1/4 sd: fix cache flushing message
---
some minor sd.c fixups against linux-next
drivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/sd.c +2 -2
@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }
@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;
James Bottomley
maintainerQuoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }
drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;
So you want it to say
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
James
Quoted 33 lines · James Bottomley
Quoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;So you want it to say
Quoted 8 lines
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Indeed.
And we can argue for weeks about English text, too. Non-disk devices like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Jeff
Quoted 8 lines · Jeff Garzik
Quoted 8 lines
So you want it to say
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
Quoted 8 lines
Quoted 2 lines
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Indeed.
And we can argue for weeks about English text, too. Non-disk devices like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
"drive cache" works better (and avoids the whole disc/disk discussion too)
Signature · 4 lines
Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step."
Quoted 6 lines
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Matthew" == Matthew Wilcox <[email protected]> writes:
And we can argue for weeks about English text, too. Non-disk devices like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Matthew> "drive cache" works better (and avoids the whole disc/disk Matthew> discussion too)
Who says it's a drive and not an array?
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering
Quoted 34 lines · On Wednesday 29 April 2009 22:22:51 Jeff Garzik wrote:
Quoted 33 lines · James Bottomley
Quoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;So you want it to say
Quoted 8 lines
Quoted 8 lines
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Inconsistent kernel messages:
if (sdkp->WCE) {
sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n");
sd_sync_cache(sdkp);
}
if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) {
sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n");
sd_start_stop_device(sdkp, 0);
}Quoted 3 lines
Indeed.
And we can argue for weeks about English text, too. Non-disk devices
Or we can just apply the patch and go back with the program.
Quoted 2 lines
like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Could you please explain me what *SCSI* cache is?
Does ATA disks have *SCSI* cache (whatever it is)?
Please also note that sd.c uses "disk" all over the place.
Thanks,
Bart
James Bottomley
maintainerQuoted 58 lines · Bartlomiej Zolnierkiewicz
Quoted 34 lines · On Wednesday 29 April 2009 22:22:51 Jeff Garzik wrote:
Quoted 33 lines · James Bottomley
Quoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;So you want it to say
Quoted 8 lines
Quoted 8 lines
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Inconsistent kernel messages:
if (sdkp->WCE) { sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n"); sd_sync_cache(sdkp); } if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) { sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n"); sd_start_stop_device(sdkp, 0); }Quoted 2 lines
Indeed.
Quoted 8 lines
Quoted 1 line
And we can argue for weeks about English text, too. Non-disk devices
Or we can just apply the patch and go back with the program.
Quoted 2 lines
like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Could you please explain me what *SCSI* cache is?
It's the cache described by SBC (SCSI Block Commandset).
Quoted 1 line
Does ATA disks have *SCSI* cache (whatever it is)?
Only if you use it via SAT (SCSI to ATA translation).
Quoted 1 line
Please also note that
sd.cuses "disk" all over the place.
Yes, but I think the four other suggestions for text demonstrate the need to get something worm proof back on this can ASAP.
James
Quoted 61 lines · On Wednesday 29 April 2009 23:14:02 James Bottomley wrote:
Quoted 60 lines · Bartlomiej Zolnierkiewicz
Quoted 34 lines · On Wednesday 29 April 2009 22:22:51 Jeff Garzik wrote:
Quoted 33 lines · James Bottomley
Quoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;So you want it to say
Quoted 8 lines
Quoted 8 lines
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Inconsistent kernel messages:
if (sdkp->WCE) { sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n"); sd_sync_cache(sdkp); } if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) { sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n"); sd_start_stop_device(sdkp, 0); }Quoted 3 lines
Indeed.
And we can argue for weeks about English text, too. Non-disk devices
Quoted 8 lines
Quoted 6 lines
Or we can just apply the patch and go back with the program.
Quoted 2 lines
like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Could you please explain me what *SCSI* cache is?
It's the cache described by SBC (SCSI Block Commandset).
Sorry, I don't buy it.
There is no "SCSI cache" in the SBC spec (at least not in sbc2r16).
Quoted 3 lines
Quoted 1 line
Does ATA disks have *SCSI* cache (whatever it is)?
Only if you use it via SAT (SCSI to ATA translation).
Hmm, and without SAT there is ATA cache, right? :)
Quoted 4 lines
Quoted 1 line
Please also note that
sd.cuses "disk" all over the place.Yes, but I think the four other suggestions for text demonstrate the need to get something worm proof back on this can ASAP.
Well, "SCSI device writeback cache" should be fine with everybody, no? ;)
Anyway, please just scrap that patch.
Thanks,
Bart
Quoted 61 lines · Bartlomiej Zolnierkiewicz
Quoted 60 lines · On Wednesday 29 April 2009 23:14:02 James Bottomley wrote:
Quoted 59 lines · Bartlomiej Zolnierkiewicz
Quoted 33 lines · On Wednesday 29 April 2009 22:22:51 Jeff Garzik wrote:
Quoted 32 lines · James Bottomley
Quoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;So you want it to say
Quoted 8 lines
Quoted 8 lines
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Inconsistent kernel messages:
if (sdkp->WCE) { sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n"); sd_sync_cache(sdkp); } if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) { sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n"); sd_start_stop_device(sdkp, 0); }Quoted 3 lines
Indeed.
And we can argue for weeks about English text, too. Non-disk devices
Or we can just apply the patch and go back with the program.
Quoted 7 lines
Quoted 3 lines
Quoted 2 lines
Quoted 1 line
like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Could you please explain me what *SCSI* cache is?
It's the cache described by SBC (SCSI Block Commandset).
Sorry, I don't buy it.
There is no "SCSI cache" in the SBC spec (at least not in sbc2r16).
The search function must be faulty on your pdf viewer.
sbc2r16 section 4.10
sbc3r18 section 4.12The timing of writing back volatile and non-volatile caches is also discussed in several places in spc4r18.
Note that t10 and t13 standards do not necessarily prefix terms with "SCSI" or "ATA" unless there is room for confusion. For example "device" is such an overused term that d2015r1-ATAATAPI_Command_Set_-_2_ACS-2.pdf defines both "ATA device" and "device" to be the same thing.
In the context of an OS storage system unadorned terms like "device" and "cache" are imprecise because the kernel uses these terms for its own purposes (e.g. an ATA host is a (PCI bus) device to the kernel).
So the discussion is about a cache, or caches, that reside on a SCSI logical unit or SCSI target. In ATA land that would be an ATA or ATAPI device.
Doug Gilbert
Quoted 12 lines
Quoted 2 lines
Quoted 1 line
Does ATA disks have *SCSI* cache (whatever it is)?
Only if you use it via SAT (SCSI to ATA translation).
Hmm, and without SAT there is ATA cache, right? :)
Quoted 3 lines
Quoted 1 line
Please also note that
sd.cuses "disk" all over the place.Yes, but I think the four other suggestions for text demonstrate the need to get something worm proof back on this can ASAP.
Well, "SCSI device writeback cache" should be fine with everybody, no? ;)
Anyway, please just scrap that patch.
Quoted 69 lines · On Thursday 30 April 2009 13:35:32 Douglas Gilbert wrote:
Quoted 68 lines · Bartlomiej Zolnierkiewicz
Quoted 57 lines · On Wednesday 29 April 2009 23:14:02 James Bottomley wrote:
Quoted 56 lines · Bartlomiej Zolnierkiewicz
Quoted 33 lines · On Wednesday 29 April 2009 22:22:51 Jeff Garzik wrote:
Quoted 32 lines · James Bottomley
Quoted 21 lines · Bartlomiej Zolnierkiewicz
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
some minorsd.cfixups against linux-nextdrivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
b/drivers/scsi/sd.c
===================================================================drivers/scsi/sd.c +1
-1@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" );sd_sync_cache (sdkp); }drivers/scsi/sd.c static int sd_suspend(struct device *dev · line 2167
Quoted 8 lines
drivers/scsi/sd.c +1
-1@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing disk cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;So you want it to say
Quoted 8 lines
Quoted 8 lines
sda: synchronizing disk cache
instead of
sda: synchronizing SCSI cache
I don't really see that buying us anything in terms of clarity. What's the actual problem it solves?
Inconsistent kernel messages:
if (sdkp->WCE) { sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n"); sd_sync_cache(sdkp); } if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) { sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n"); sd_start_stop_device(sdkp, 0); }Quoted 2 lines
Indeed.
Quoted 7 lines
Quoted 6 lines
Quoted 1 line
And we can argue for weeks about English text, too. Non-disk devices
Or we can just apply the patch and go back with the program.
Quoted 2 lines
like SSDs have caches too, so I'd say "SCSI cache" is more accurate than "disk cache". But maybe "SCSI writeback cache" would be even better.
Could you please explain me what *SCSI* cache is?
It's the cache described by SBC (SCSI Block Commandset).
Sorry, I don't buy it.
Quoted 7 lines
Quoted 1 line
There is no "SCSI cache" in the SBC spec (at least not in sbc2r16).
The search function must be faulty on your pdf viewer.
sbc2r16 section 4.10 sbc3r18 section 4.12The timing of writing back volatile and non-volatile caches is also discussed in several places in spc4r18.
Still no "SCSI cache"... but maybe it is really Adobe Reader's fault... ;)
Quoted 6 lines
Note that t10 and t13 standards do not necessarily prefix terms with "SCSI" or "ATA" unless there is room for confusion. For example "device" is such an overused term that d2015r1-ATAATAPI_Command_Set_-_2_ACS-2.pdf defines both "ATA device" and "device" to be the same thing.
Quoted 8 lines
In the context of an OS storage system unadorned terms like "device" and "cache" are imprecise because the kernel uses these terms for its own purposes (e.g. an ATA host is a (PCI bus) device to the kernel).
So the discussion is about a cache, or caches, that reside on a SCSI logical unit or SCSI target. In ATA land that would be an ATA or ATAPI device.
cache in this context is a sd device's property -- be it SCSI logical unit, SCSI target or ATA device so "SCSI cache" is much worse than "device cache" (or "disk cache") because you really don't know what the SCSI is about there, i.e. it can be about Linux storage subsystem.
Please also try to look beyond SCSI/ATA/storage person's POV and think what would the the _average_ user answer inquired about "SCSI cache" (then please repeat the exercise using "disk cache" or "device cache" instead).
Hmm.. on the second thought I may have a better solution which avoids using "disk" naming completely and shrinks kernel size by 10 bytes as a bonus!! ;)
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH v2] sd: fix cache flushing message
--- drivers/scsi/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/sd.c +2 -2
@@ -2140,7 +2140,7 @@ static void sd_shutdown(struct device *dreturn ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing cache\n" );sd_sync_cache (sdkp); }
@@ -2161,7 +2161,7 @@ static int sd_suspend(struct device *devreturn 0 ;/* this can happen */ if (sdkp->WCE) { -sd_printk (KERN_NOTICE , sdkp,"Synchronizing SCSI cache\n" ); +sd_printk (KERN_NOTICE , sdkp,"Synchronizing cache\n" ); ret =sd_sync_cache (sdkp);if (ret) goto done;