[PATCH 08/12] block: add bio number of vecs helper for partials
Keith Busch
kbusch at fb.com
Thu Jun 30 13:42:08 PDT 2022
From: Keith Busch <kbusch at kernel.org>
Bit buckets get their own vector, so need to allocate enough to hold
both the preregistered bvecs and the bit buckets.
Signed-off-by: Keith Busch <kbusch at kernel.org>
---
include/linux/bio.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 992ee987f273..ded38accf009 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -452,6 +452,17 @@ static inline int bio_iov_vecs_to_alloc(struct iov_iter *iter, int max_segs)
return iov_iter_npages(iter, max_segs);
}
+static inline int bio_iov_vecs_to_alloc_partial(struct iov_iter *iter,
+ int max_segs, bool trunc,
+ bool skip)
+{
+ if (skip || trunc)
+ return min(iov_iter_npages(iter, max_segs) + skip + trunc,
+ max_segs);
+ else
+ return bio_iov_vecs_to_alloc(iter, max_segs);
+}
+
struct request_queue;
extern int submit_bio_wait(struct bio *bio);
--
2.30.2
More information about the Linux-nvme
mailing list