Re: [PATCH RFC 3/3] hw/block/nvme: end-to-end data protection

2020-12-18 Thread Klaus Jensen
On Fri, Dec 18, 2020, at 19:08, Keith Busch wrote: > On Thu, Dec 17, 2020 at 10:02:22PM +0100, Klaus Jensen wrote: > > static uint16_t nvme_rw(NvmeCtrl *n, NvmeRequest *req) > > { > > NvmeRwCmd *rw = (NvmeRwCmd *)&req->cmd; > > NvmeNamespace *ns = req->ns; > > uint32_t nlb = (ui

Re: [PATCH RFC 3/3] hw/block/nvme: end-to-end data protection

2020-12-18 Thread Keith Busch
On Thu, Dec 17, 2020 at 10:02:22PM +0100, Klaus Jensen wrote: > static uint16_t nvme_rw(NvmeCtrl *n, NvmeRequest *req) > { > NvmeRwCmd *rw = (NvmeRwCmd *)&req->cmd; > NvmeNamespace *ns = req->ns; > uint32_t nlb = (uint32_t)le16_to_cpu(rw->nlb) + 1; > uint64_t slba = le64_to_cp

[PATCH RFC 3/3] hw/block/nvme: end-to-end data protection

2020-12-17 Thread Klaus Jensen
From: Gollu Appalanaidu Add support for namespaces formatted with protection information in the form of the Data Integrity Field (DIF) where the protection information is contiguous with the logical block data (extended logical blocks). The type of end-to-end data protection (i.e. Type 1, Type 2