Messages in this thread Patch in this message | | | Date | Sat, 30 Aug 2008 15:08:43 +0100 | From | Simon Arlott <> | Subject | [PATCH] scsi/sd: Fix size output in MB |
| |
The capacity printk'd in bytes is divided by 1000000, whereas 1048576 would be more consistent with the rest of the OS and disk-related utilities ('df' etc.).
This change replaces the (sz - (sz/625 - 974))/1950 calculation with a simple right shift by 11 bits (/2048).
Signed-off-by: Simon Arlott <simon@fire.lp0.eu> --- drivers/scsi/sd.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index e5e7d78..e6fd6fd 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1441,10 +1441,8 @@ got_data: sector_t mb = sz; blk_queue_hardsect_size(queue, hard_sector); - /* avoid 64-bit division on 32-bit platforms */ - sector_div(sz, 625); - mb -= sz - 974; - sector_div(mb, 1950); + /* Convert to megabytes (/2048) */ + mb = sz >> 11; sd_printk(KERN_NOTICE, sdkp, "%llu %d-byte hardware sectors (%llu MB)\n", -- 1.5.6.5 -- Simon Arlott
| |