scsi: use sector_div instead of do_div
do_div is the wrong way to divide a sector_t, as it is less efficient when sector_t is 32-bit wide. With the upcoming do_div optimizations, the kernel starts warning about this: drivers/scsi/scsi_debug.c: In function 'dif_store': include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast This changes the code to use sector_div instead, which always produces optimal code. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Hannes Reinicke <hare@suse.de> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
8c77dca011
commit
494131124f
|
@ -678,7 +678,7 @@ static void *fake_store(unsigned long long lba)
|
|||
|
||||
static struct sd_dif_tuple *dif_store(sector_t sector)
|
||||
{
|
||||
sector = do_div(sector, sdebug_store_sectors);
|
||||
sector = sector_div(sector, sdebug_store_sectors);
|
||||
|
||||
return dif_storep + sector;
|
||||
}
|
||||
|
@ -2780,7 +2780,7 @@ static unsigned long lba_to_map_index(sector_t lba)
|
|||
lba += scsi_debug_unmap_granularity -
|
||||
scsi_debug_unmap_alignment;
|
||||
}
|
||||
do_div(lba, scsi_debug_unmap_granularity);
|
||||
sector_div(lba, scsi_debug_unmap_granularity);
|
||||
|
||||
return lba;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue