OSDN Git Service

NVMe: Disk stats for read/write commands only
authorKeith Busch <keith.busch@intel.com>
Thu, 8 Aug 2013 16:25:38 +0000 (10:25 -0600)
committerMatthew Wilcox <matthew.r.wilcox@intel.com>
Tue, 3 Sep 2013 20:33:35 +0000 (16:33 -0400)
Flush and discard requests would previously mess up the accounting.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
drivers/block/nvme-core.c

index 8cfa457..360ac5d 100644 (file)
@@ -342,11 +342,11 @@ static void bio_completion(struct nvme_dev *dev, void *ctx,
        struct bio *bio = iod->private;
        u16 status = le16_to_cpup(&cqe->status) >> 1;
 
-       if (iod->nents)
+       if (iod->nents) {
                dma_unmap_sg(&dev->pci_dev->dev, iod->sg, iod->nents,
                        bio_data_dir(bio) ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
-
-       nvme_end_io_acct(bio, iod->start_time);
+               nvme_end_io_acct(bio, iod->start_time);
+       }
        nvme_free_iod(dev, iod);
        if (status)
                bio_endio(bio, -EIO);