mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-05-02 18:17:50 -04:00
[SCSI] libfc: fix statistics for FCP input/output megabytes
The statistics for InputMegabytes and OutputMegabytes are misnamed. They're accumulating bytes, not megabytes. The statistic returned via /sys must be in megabytes, however, which is what the HBA-API wants. The FCP code needs to accumulate it in bytes and then divide by 1,000,000 (not 2^20) before it presented via sysfs. This affects fcoe.ko only, not fnic. The fnic driver correctly by accumulating bytes and then converts to megabytes. I checked that libhbalinux is using the /sys file directly without conversion. BTW, qla2xxx does divide by 2^20, which I'm not fixing here. Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
committed by
James Bottomley
parent
ba9cd5d095
commit
5f0e385fda
@@ -1860,11 +1860,11 @@ static int fc_queuecommand_lck(struct scsi_cmnd *sc_cmd, void (*done)(struct scs
|
||||
if (sc_cmd->sc_data_direction == DMA_FROM_DEVICE) {
|
||||
fsp->req_flags = FC_SRB_READ;
|
||||
stats->InputRequests++;
|
||||
stats->InputMegabytes += fsp->data_len;
|
||||
stats->InputBytes += fsp->data_len;
|
||||
} else if (sc_cmd->sc_data_direction == DMA_TO_DEVICE) {
|
||||
fsp->req_flags = FC_SRB_WRITE;
|
||||
stats->OutputRequests++;
|
||||
stats->OutputMegabytes += fsp->data_len;
|
||||
stats->OutputBytes += fsp->data_len;
|
||||
} else {
|
||||
fsp->req_flags = 0;
|
||||
stats->ControlRequests++;
|
||||
|
||||
Reference in New Issue
Block a user