Am 03.02.2014 um 17:03 hat Olaf Hering geschrieben: > On Mon, Feb 03, Kevin Wolf wrote: > > > Am 30.01.2014 um 16:02 hat Olaf Hering geschrieben: > > > + case BLKIF_OP_DISCARD: > > > + { > > > + struct blkif_request_discard *discard_req = (void *)&ioreq->req; > > > + bdrv_acct_start(blkdev->bs, &ioreq->acct, > > > + discard_req->nr_sectors * BLOCK_SIZE, > > > BDRV_ACCT_WRITE); > > > > Neither SCSI nor IDE account for discards. I think we should keep the > > behaviour consistent across devices. > > > > If we do want to introduce accounting for discards, I'm not sure whether > > counting them as writes or giving them their own category makes more > > sense. > > This line was just copied. I have to look how virtio does it, maybe I > copied it from there. No problem with removing it from my side.
virtio-blk doesn't support discard at all. I guess you just copied it from the write a few lines above (and you need it if you don't want to change the callback, because that has a bdrv_acct_end() call). > But I think in the end a discard is also a write, isnt it? Well... Not really, but perhaps close enough. I can think of arguments for either way. All that I'm really interested in is that all devices apply the same logic for accounting discards, so we can keep a consistent meaning of the statistics. If we want to account for them as writes here, we need to change IDE and SCSI to do the same; and if we leave IDE and SCSI unchanged, we can't account for discards here. Kevin