[PATCH] nvme-fc: add DIF support for intergrity metadata

Christoph Hellwig hch at lst.de
Thu Jan 2 22:57:25 PST 2025


On Thu, Dec 26, 2024 at 02:44:15PM +0530, Atharva Tiwari wrote:
> This patch enhances the NVMe over Fibre Channel (NVMe-FC) driver to 
> handle requests with integrity metadata (DIF).
> 
> - Added the inclusion of `<linux/blk-integrity.h>` to enable integrity operations.
> - Implemented support for mapping integrity metadata using `blk_rq_map_integrity_sg`.
> - Ensures proper handling of requests with integrity metadata, including error cases where mapping fails.

This isn't really how we write commit logs.  The mechanics are
visible in the patch.  Also please wrap commit log lines after 73
characters.

> +	/* Handle requests with integrity metadata (DIF) */
> +	if (blk_integrity_rq(rq)) {
> +		ret = blk_rq_map_integrity_sg(rq, freq->sg_table.sgl);
> +		if (ret < 0) {
> +			sg_free_table_chained(&freq->sg_table, NVME_INLINE_SG_CNT);
> +			freq->sg_cnt = 0;
> +			return -EFAULT;
> +		}
> +		freq->sg_cnt += ret;
> +	}

Who is going to look at the integrity sglist?  Who is setting a
max_integrity_segments value for nvme-fc?

How was this tested?




More information about the Linux-nvme mailing list