diff options
Diffstat (limited to 'drivers/nvme/target/admin-cmd.c')
| -rw-r--r-- | drivers/nvme/target/admin-cmd.c | 22 | 
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c index 4dc12ea52f23..831a062d27cb 100644 --- a/drivers/nvme/target/admin-cmd.c +++ b/drivers/nvme/target/admin-cmd.c @@ -37,7 +37,6 @@ static void nvmet_execute_get_log_page_noop(struct nvmet_req *req)  static void nvmet_execute_get_log_page_error(struct nvmet_req *req)  {  	struct nvmet_ctrl *ctrl = req->sq->ctrl; -	u16 status = NVME_SC_SUCCESS;  	unsigned long flags;  	off_t offset = 0;  	u64 slot; @@ -47,9 +46,8 @@ static void nvmet_execute_get_log_page_error(struct nvmet_req *req)  	slot = ctrl->err_counter % NVMET_ERROR_LOG_SLOTS;  	for (i = 0; i < NVMET_ERROR_LOG_SLOTS; i++) { -		status = nvmet_copy_to_sgl(req, offset, &ctrl->slots[slot], -				sizeof(struct nvme_error_slot)); -		if (status) +		if (nvmet_copy_to_sgl(req, offset, &ctrl->slots[slot], +				sizeof(struct nvme_error_slot)))  			break;  		if (slot == 0) @@ -59,7 +57,7 @@ static void nvmet_execute_get_log_page_error(struct nvmet_req *req)  		offset += sizeof(struct nvme_error_slot);  	}  	spin_unlock_irqrestore(&ctrl->error_lock, flags); -	nvmet_req_complete(req, status); +	nvmet_req_complete(req, 0);  }  static u16 nvmet_get_smart_log_nsid(struct nvmet_req *req, @@ -81,9 +79,11 @@ static u16 nvmet_get_smart_log_nsid(struct nvmet_req *req,  		goto out;  	host_reads = part_stat_read(ns->bdev->bd_part, ios[READ]); -	data_units_read = part_stat_read(ns->bdev->bd_part, sectors[READ]); +	data_units_read = DIV_ROUND_UP(part_stat_read(ns->bdev->bd_part, +		sectors[READ]), 1000);  	host_writes = part_stat_read(ns->bdev->bd_part, ios[WRITE]); -	data_units_written = part_stat_read(ns->bdev->bd_part, sectors[WRITE]); +	data_units_written = DIV_ROUND_UP(part_stat_read(ns->bdev->bd_part, +		sectors[WRITE]), 1000);  	put_unaligned_le64(host_reads, &slog->host_reads[0]);  	put_unaligned_le64(data_units_read, &slog->data_units_read[0]); @@ -111,11 +111,11 @@ static u16 nvmet_get_smart_log_all(struct nvmet_req *req,  		if (!ns->bdev)  			continue;  		host_reads += part_stat_read(ns->bdev->bd_part, ios[READ]); -		data_units_read += -			part_stat_read(ns->bdev->bd_part, sectors[READ]); +		data_units_read += DIV_ROUND_UP( +			part_stat_read(ns->bdev->bd_part, sectors[READ]), 1000);  		host_writes += part_stat_read(ns->bdev->bd_part, ios[WRITE]); -		data_units_written += -			part_stat_read(ns->bdev->bd_part, sectors[WRITE]); +		data_units_written += DIV_ROUND_UP( +			part_stat_read(ns->bdev->bd_part, sectors[WRITE]), 1000);  	}  	rcu_read_unlock();  |