* [PATCH v3 0/4] multi-page bvec configuration for integrity payload [not found] <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p4> @ 2023-08-03 2:46 ` Jinyoung Choi [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p8> ` (4 more replies) 0 siblings, 5 replies; 9+ messages in thread From: Jinyoung Choi @ 2023-08-03 2:46 UTC (permalink / raw) To: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen In the case of NVMe, it has an integrity payload consisting of one segment. So, rather than configuring SG_LIST, it was changed by direct DMA mapping. The page-merge is not performed for the struct bio_vec when creating a integrity payload in block. As a result, when creating an integrity paylaod beyond one page, each struct bio_vec is generated, and its bv_len does not exceed the PAGESIZE. To solve it, bio_integrity_add_page() should just add to the existing bvec, similar to bio_add_page() and friends. (ref: https://lore.kernel.org/linux-nvme/yq18rewbmay.fsf@ca-mkp.ca.oracle.com/T/#t) Tested like this: - Format (support pi) $ sudo nvme format /dev/nvme2n1 --force -n 1 -i 1 -p 0 -m 0 -l 1 -r - Run FIO [global] ioengine=libaio group_reporting [job] bs=512k iodepth=256 rw=write numjobs=8 direct=1 runtime=10s filename=/dev/nvme2n1 - Result ... [ 93.496218] nvme2n1: I/O Cmd(0x1) @ LBA 62464, 1024 blocks, I/O Error (sct 0x2 / sc 0x82) MORE [ 93.496227] protection error, dev nvme2n1, sector 62464 op 0x1:(WRITE) flags 0x18800 phys_seg 3 prio class 2 [ 93.538788] nvme2n1: I/O Cmd(0x1) @ LBA 6144, 1024 blocks, I/O Error (sct 0x2 / sc 0x82) MORE [ 93.538798] protection error, dev nvme2n1, sector 6144 op 0x1:(WRITE) flags 0x18800 phys_seg 3 prio class 2 [ 93.566231] nvme2n1: I/O Cmd(0x1) @ LBA 124928, 1024 blocks, I/O Error (sct 0x0 / sc 0x4) [ 93.566241] I/O error, dev nvme2n1, sector 124928 op 0x1:(WRITE) flags 0x18800 phys_seg 3 prio class 2 [ 93.694147] nvme2n1: I/O Cmd(0x1) @ LBA 64512, 1024 blocks, I/O Error (sct 0x2 / sc 0x82) MORE [ 93.694155] protection error, dev nvme2n1, sector 64512 op 0x1:(WRITE) flags 0x18800 phys_seg 3 prio class 2 [ 93.694299] nvme2n1: I/O Cmd(0x1) @ LBA 5120, 1024 blocks, I/O Error (sct 0x2 / sc 0x82) MORE [ 93.694305] protection error, dev nvme2n1, sector 5120 op 0x1:(WRITE) flags 0x18800 phys_seg 3 prio class 2 ... Changes to v2: - apply review related to comment (by Christoph) Changes to v1: - add a patch to modify the location of the bi_size update code. - split a patch (create multi-page bvecs in bio_integirty_add_page()). Jinyoung Choi (4): block: make bvec_try_merge_hw_page() non-static bio-integrity: update the payload size in bio_integrity_add_page() bio-integrity: cleanup adding integrity pages to bip's bvec. bio-integrity: create multi-page bvecs in bio_integrity_add_page() block/bio-integrity.c | 49 ++++++++++++++++------------- block/bio.c | 2 +- block/blk.h | 4 +++ drivers/md/dm-crypt.c | 1 - drivers/nvme/host/ioctl.c | 1 - drivers/nvme/target/io-cmd-bdev.c | 3 +- drivers/target/target_core_iblock.c | 3 +- 7 files changed, 35 insertions(+), 28 deletions(-) -- 2.34.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p8>]
* [PATCH v3 1/4] block: make bvec_try_merge_hw_page() non-static [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p8> @ 2023-08-03 2:48 ` Jinyoung Choi 2023-08-03 2:52 ` [PATCH v3 4/4] bio-integrity: create multi-page bvecs in bio_integrity_add_page() Jinyoung Choi 2023-08-10 2:06 ` RE:(2) [PATCH v3 0/4] multi-page bvec configuration for integrity payload Jinyoung Choi 2 siblings, 0 replies; 9+ messages in thread From: Jinyoung Choi @ 2023-08-03 2:48 UTC (permalink / raw) To: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen This will be used for multi-page configuration for integrity payload. Cc: Christoph Hellwig <hch@lst.de> Cc: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jinyoung Choi <j-young.choi@samsung.com> --- block/bio.c | 2 +- block/blk.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/block/bio.c b/block/bio.c index c92dda962449..8d1533af7c60 100644 --- a/block/bio.c +++ b/block/bio.c @@ -934,7 +934,7 @@ static bool bvec_try_merge_page(struct bio_vec *bv, struct page *page, * size limit. This is not for normal read/write bios, but for passthrough * or Zone Append operations that we can't split. */ -static bool bvec_try_merge_hw_page(struct request_queue *q, struct bio_vec *bv, +bool bvec_try_merge_hw_page(struct request_queue *q, struct bio_vec *bv, struct page *page, unsigned len, unsigned offset, bool *same_page) { diff --git a/block/blk.h b/block/blk.h index 686712e13835..9d22ec3a53bc 100644 --- a/block/blk.h +++ b/block/blk.h @@ -75,6 +75,10 @@ struct bio_vec *bvec_alloc(mempool_t *pool, unsigned short *nr_vecs, gfp_t gfp_mask); void bvec_free(mempool_t *pool, struct bio_vec *bv, unsigned short nr_vecs); +bool bvec_try_merge_hw_page(struct request_queue *q, struct bio_vec *bv, + struct page *page, unsigned len, unsigned offset, + bool *same_page); + static inline bool biovec_phys_mergeable(struct request_queue *q, struct bio_vec *vec1, struct bio_vec *vec2) { -- 2.34.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 4/4] bio-integrity: create multi-page bvecs in bio_integrity_add_page() [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p8> 2023-08-03 2:48 ` [PATCH v3 1/4] block: make bvec_try_merge_hw_page() non-static Jinyoung Choi @ 2023-08-03 2:52 ` Jinyoung Choi 2023-08-10 2:06 ` RE:(2) [PATCH v3 0/4] multi-page bvec configuration for integrity payload Jinyoung Choi 2 siblings, 0 replies; 9+ messages in thread From: Jinyoung Choi @ 2023-08-03 2:52 UTC (permalink / raw) To: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen In general, the bvec data structure consists of one for physically continuous pages. But, in the bvec configuration for bip, physically continuous integrity pages are composed of each bvec. Allow bio_integrity_add_page() to create multi-page bvecs, just like the bio payloads. This simplifies adding larger payloads, and fixes support for non-tiny workloads with nvme, which stopped using scatterlist for metadata a while ago. Cc: Christoph Hellwig <hch@lst.de> Cc: Martin K. Petersen <martin.petersen@oracle.com> Fixes: 783b94bd9250 ("nvme-pci: do not build a scatterlist to map metadata") Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jinyoung Choi <j-young.choi@samsung.com> --- block/bio-integrity.c | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/block/bio-integrity.c b/block/bio-integrity.c index c6b3bc86e1f9..ec8ac8cf6e1b 100644 --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -123,17 +123,34 @@ void bio_integrity_free(struct bio *bio) int bio_integrity_add_page(struct bio *bio, struct page *page, unsigned int len, unsigned int offset) { + struct request_queue *q = bdev_get_queue(bio->bi_bdev); struct bio_integrity_payload *bip = bio_integrity(bio); - if (bip->bip_vcnt >= bip->bip_max_vcnt) { - printk(KERN_ERR "%s: bip_vec full\n", __func__); + if (((bip->bip_iter.bi_size + len) >> SECTOR_SHIFT) > + queue_max_hw_sectors(q)) return 0; - } - if (bip->bip_vcnt && - bvec_gap_to_prev(&bdev_get_queue(bio->bi_bdev)->limits, - &bip->bip_vec[bip->bip_vcnt - 1], offset)) - return 0; + if (bip->bip_vcnt > 0) { + struct bio_vec *bv = &bip->bip_vec[bip->bip_vcnt - 1]; + bool same_page = false; + + if (bvec_try_merge_hw_page(q, bv, page, len, offset, + &same_page)) { + bip->bip_iter.bi_size += len; + return len; + } + + if (bip->bip_vcnt >= + min(bip->bip_max_vcnt, queue_max_integrity_segments(q))) + return 0; + + /* + * If the queue doesn't support SG gaps and adding this segment + * would create a gap, disallow it. + */ + if (bvec_gap_to_prev(&q->limits, bv, offset)) + return 0; + } bvec_set_page(&bip->bip_vec[bip->bip_vcnt], page, len, offset); bip->bip_vcnt++; -- 2.34.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE:(2) [PATCH v3 0/4] multi-page bvec configuration for integrity payload [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p8> 2023-08-03 2:48 ` [PATCH v3 1/4] block: make bvec_try_merge_hw_page() non-static Jinyoung Choi 2023-08-03 2:52 ` [PATCH v3 4/4] bio-integrity: create multi-page bvecs in bio_integrity_add_page() Jinyoung Choi @ 2023-08-10 2:06 ` Jinyoung Choi 2 siblings, 0 replies; 9+ messages in thread From: Jinyoung Choi @ 2023-08-10 2:06 UTC (permalink / raw) To: Martin K. Petersen Cc: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel Hi, Martin. > Jinyoung, > > > This looks OK to me. I'll test on physical SCSI hardware tomorrow to > > make sure there are no regressions. > > Lab test complete, no regressions seen. > > Tested-by: Martin K. Petersen <martin.petersen@oracle.com> > > -- > Martin K. Petersen Oracle Linux Engineering I uploaded only the parts that would not be a problem in the patch-set I prepared for the first time. I will prepare to make good use of the nr_integrity_segments in the request structure. Thank you for your time. Have a nice day! Kind Regards, Jinyoung. ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p3>]
* [PATCH v3 2/4] bio-integrity: update the payload size in bio_integrity_add_page() [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p3> @ 2023-08-03 2:49 ` Jinyoung Choi 0 siblings, 0 replies; 9+ messages in thread From: Jinyoung Choi @ 2023-08-03 2:49 UTC (permalink / raw) To: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen Previously, the bip's bi_size has been set before an integrity pages were added. If a problem occurs in the process of adding pages for bip, the bi_size mismatch problem must be dealt with. When the page is successfully added to bvec, the bi_size is updated. The parts affected by the change were also contained in this commit. Cc: Christoph Hellwig <hch@lst.de> Cc: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jinyoung Choi <j-young.choi@samsung.com> --- block/bio-integrity.c | 2 +- drivers/md/dm-crypt.c | 1 - drivers/nvme/host/ioctl.c | 1 - drivers/nvme/target/io-cmd-bdev.c | 3 +-- drivers/target/target_core_iblock.c | 3 +-- 5 files changed, 3 insertions(+), 7 deletions(-) diff --git a/block/bio-integrity.c b/block/bio-integrity.c index 045553a164e0..6220a99977a4 100644 --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -137,6 +137,7 @@ int bio_integrity_add_page(struct bio *bio, struct page *page, bvec_set_page(&bip->bip_vec[bip->bip_vcnt], page, len, offset); bip->bip_vcnt++; + bip->bip_iter.bi_size += len; return len; } @@ -244,7 +245,6 @@ bool bio_integrity_prep(struct bio *bio) } bip->bip_flags |= BIP_BLOCK_INTEGRITY; - bip->bip_iter.bi_size = len; bip_set_seed(bip, bio->bi_iter.bi_sector); if (bi->flags & BLK_INTEGRITY_IP_CHECKSUM) diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index 1dc6227d353e..f2662c21a6df 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -1160,7 +1160,6 @@ static int dm_crypt_integrity_io_alloc(struct dm_crypt_io *io, struct bio *bio) tag_len = io->cc->on_disk_tag_size * (bio_sectors(bio) >> io->cc->sector_shift); - bip->bip_iter.bi_size = tag_len; bip->bip_iter.bi_sector = io->cc->start + io->sector; ret = bio_integrity_add_page(bio, virt_to_page(io->integrity_metadata), diff --git a/drivers/nvme/host/ioctl.c b/drivers/nvme/host/ioctl.c index 5c3250f36ce7..19a5177bc360 100644 --- a/drivers/nvme/host/ioctl.c +++ b/drivers/nvme/host/ioctl.c @@ -118,7 +118,6 @@ static void *nvme_add_user_metadata(struct request *req, void __user *ubuf, goto out_free_meta; } - bip->bip_iter.bi_size = len; bip->bip_iter.bi_sector = seed; ret = bio_integrity_add_page(bio, virt_to_page(buf), len, offset_in_page(buf)); diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c index 2733e0158585..468833675cc9 100644 --- a/drivers/nvme/target/io-cmd-bdev.c +++ b/drivers/nvme/target/io-cmd-bdev.c @@ -206,12 +206,11 @@ static int nvmet_bdev_alloc_bip(struct nvmet_req *req, struct bio *bio, return PTR_ERR(bip); } - bip->bip_iter.bi_size = bio_integrity_bytes(bi, bio_sectors(bio)); /* virtual start sector must be in integrity interval units */ bip_set_seed(bip, bio->bi_iter.bi_sector >> (bi->interval_exp - SECTOR_SHIFT)); - resid = bip->bip_iter.bi_size; + resid = bio_integrity_bytes(bi, bio_sectors(bio)); while (resid > 0 && sg_miter_next(miter)) { len = min_t(size_t, miter->length, resid); rc = bio_integrity_add_page(bio, miter->page, len, diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c index 3d1b511ea284..a7050f63b7cc 100644 --- a/drivers/target/target_core_iblock.c +++ b/drivers/target/target_core_iblock.c @@ -689,7 +689,6 @@ iblock_alloc_bip(struct se_cmd *cmd, struct bio *bio, return PTR_ERR(bip); } - bip->bip_iter.bi_size = bio_integrity_bytes(bi, bio_sectors(bio)); /* virtual start sector must be in integrity interval units */ bip_set_seed(bip, bio->bi_iter.bi_sector >> (bi->interval_exp - SECTOR_SHIFT)); @@ -697,7 +696,7 @@ iblock_alloc_bip(struct se_cmd *cmd, struct bio *bio, pr_debug("IBLOCK BIP Size: %u Sector: %llu\n", bip->bip_iter.bi_size, (unsigned long long)bip->bip_iter.bi_sector); - resid = bip->bip_iter.bi_size; + resid = bio_integrity_bytes(bi, bio_sectors(bio)); while (resid > 0 && sg_miter_next(miter)) { len = min_t(size_t, miter->length, resid); -- 2.34.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p5>]
* [PATCH v3 3/4] bio-integrity: cleanup adding integrity pages to bip's bvec. [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p5> @ 2023-08-03 2:50 ` Jinyoung Choi 0 siblings, 0 replies; 9+ messages in thread From: Jinyoung Choi @ 2023-08-03 2:50 UTC (permalink / raw) To: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen bio_integrity_add_page() returns the add length if successful, else 0, just as bio_add_page. Simply check return value checking in bio_integrity_prep to not deal with a > 0 but < len case that can't happen. Cc: Christoph Hellwig <hch@lst.de> Cc: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jinyoung Choi <j-young.choi@samsung.com> --- block/bio-integrity.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/block/bio-integrity.c b/block/bio-integrity.c index 6220a99977a4..c6b3bc86e1f9 100644 --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -252,27 +252,18 @@ bool bio_integrity_prep(struct bio *bio) /* Map it */ offset = offset_in_page(buf); - for (i = 0 ; i < nr_pages ; i++) { - int ret; + for (i = 0; i < nr_pages && len > 0; i++) { bytes = PAGE_SIZE - offset; - if (len <= 0) - break; - if (bytes > len) bytes = len; - ret = bio_integrity_add_page(bio, virt_to_page(buf), - bytes, offset); - - if (ret == 0) { + if (bio_integrity_add_page(bio, virt_to_page(buf), + bytes, offset) < bytes) { printk(KERN_ERR "could not attach integrity payload\n"); goto err_end_io; } - if (ret < bytes) - break; - buf += bytes; len -= bytes; offset = 0; @@ -291,7 +282,6 @@ bool bio_integrity_prep(struct bio *bio) bio->bi_status = BLK_STS_RESOURCE; bio_endio(bio); return false; - } EXPORT_SYMBOL(bio_integrity_prep); -- 2.34.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] multi-page bvec configuration for integrity payload 2023-08-03 2:46 ` [PATCH v3 0/4] multi-page bvec configuration for integrity payload Jinyoung Choi ` (2 preceding siblings ...) [not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p5> @ 2023-08-09 1:36 ` Martin K. Petersen 2023-08-09 22:04 ` Martin K. Petersen 2023-08-10 13:20 ` Jens Axboe 4 siblings, 1 reply; 9+ messages in thread From: Martin K. Petersen @ 2023-08-09 1:36 UTC (permalink / raw) To: Jinyoung Choi Cc: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen Jinyoung, > In the case of NVMe, it has an integrity payload consisting of one > segment. So, rather than configuring SG_LIST, it was changed by direct > DMA mapping. > > The page-merge is not performed for the struct bio_vec when creating a > integrity payload in block. As a result, when creating an integrity > paylaod beyond one page, each struct bio_vec is generated, and its > bv_len does not exceed the PAGESIZE. > > To solve it, bio_integrity_add_page() should just add to the existing > bvec, similar to bio_add_page() and friends. This looks OK to me. I'll test on physical SCSI hardware tomorrow to make sure there are no regressions. Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> -- Martin K. Petersen Oracle Linux Engineering ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] multi-page bvec configuration for integrity payload 2023-08-09 1:36 ` [PATCH v3 0/4] multi-page bvec configuration for integrity payload Martin K. Petersen @ 2023-08-09 22:04 ` Martin K. Petersen 0 siblings, 0 replies; 9+ messages in thread From: Martin K. Petersen @ 2023-08-09 22:04 UTC (permalink / raw) To: Jinyoung Choi Cc: Christoph Hellwig, axboe, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel Jinyoung, > This looks OK to me. I'll test on physical SCSI hardware tomorrow to > make sure there are no regressions. Lab test complete, no regressions seen. Tested-by: Martin K. Petersen <martin.petersen@oracle.com> -- Martin K. Petersen Oracle Linux Engineering ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] multi-page bvec configuration for integrity payload 2023-08-03 2:46 ` [PATCH v3 0/4] multi-page bvec configuration for integrity payload Jinyoung Choi ` (3 preceding siblings ...) 2023-08-09 1:36 ` [PATCH v3 0/4] multi-page bvec configuration for integrity payload Martin K. Petersen @ 2023-08-10 13:20 ` Jens Axboe 4 siblings, 0 replies; 9+ messages in thread From: Jens Axboe @ 2023-08-10 13:20 UTC (permalink / raw) To: Christoph Hellwig, kbusch, chaitanya.kulkarni, sagi, linux-block, linux-kernel, martin.petersen, Jinyoung Choi On Thu, 03 Aug 2023 11:46:56 +0900, Jinyoung Choi wrote: > In the case of NVMe, it has an integrity payload consisting of one segment. > So, rather than configuring SG_LIST, it was changed by direct DMA mapping. > > The page-merge is not performed for the struct bio_vec when creating > a integrity payload in block. > As a result, when creating an integrity paylaod beyond one page, each > struct bio_vec is generated, and its bv_len does not exceed the PAGESIZE. > > [...] Applied, thanks! [1/4] block: make bvec_try_merge_hw_page() non-static commit: 7c8998f75d2d42ddefb172239b0f689392958309 [2/4] bio-integrity: update the payload size in bio_integrity_add_page() commit: 80814b8e359f7207595f52702aea432a7bd61200 [3/4] bio-integrity: cleanup adding integrity pages to bip's bvec. commit: d1f04c2e23c99258049c6081c3147bae69e5bcb8 [4/4] bio-integrity: create multi-page bvecs in bio_integrity_add_page() commit: 0ece1d649b6dd615925a72bc1824d6b9fa5b998a Best regards, -- Jens Axboe ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-08-10 13:20 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p4>
2023-08-03 2:46 ` [PATCH v3 0/4] multi-page bvec configuration for integrity payload Jinyoung Choi
[not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p8>
2023-08-03 2:48 ` [PATCH v3 1/4] block: make bvec_try_merge_hw_page() non-static Jinyoung Choi
2023-08-03 2:52 ` [PATCH v3 4/4] bio-integrity: create multi-page bvecs in bio_integrity_add_page() Jinyoung Choi
2023-08-10 2:06 ` RE:(2) [PATCH v3 0/4] multi-page bvec configuration for integrity payload Jinyoung Choi
[not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p3>
2023-08-03 2:49 ` [PATCH v3 2/4] bio-integrity: update the payload size in bio_integrity_add_page() Jinyoung Choi
[not found] ` <CGME20230803024656epcms2p4da6defb8e1e9b050fe2fbd52cb2e9524@epcms2p5>
2023-08-03 2:50 ` [PATCH v3 3/4] bio-integrity: cleanup adding integrity pages to bip's bvec Jinyoung Choi
2023-08-09 1:36 ` [PATCH v3 0/4] multi-page bvec configuration for integrity payload Martin K. Petersen
2023-08-09 22:04 ` Martin K. Petersen
2023-08-10 13:20 ` Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®