Messages in this thread | | | Subject | Re: [PATCH V7 24/24] block: document usage of bio iterator helpers | From | Randy Dunlap <> | Date | Wed, 27 Jun 2018 11:13:45 -0700 |
| |
On 06/27/2018 05:45 AM, Ming Lei wrote: > Now multipage bvec is supported, and some helpers may return page by > page, and some may return segment by segment, this patch documents the > usage for helping us use them correctly. > > Signed-off-by: Ming Lei <ming.lei@redhat.com> > --- > Documentation/block/biovecs.txt | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/block/biovecs.txt b/Documentation/block/biovecs.txt > index 25689584e6e0..f63af564ae89 100644 > --- a/Documentation/block/biovecs.txt > +++ b/Documentation/block/biovecs.txt > @@ -117,3 +117,30 @@ Other implications: > size limitations and the limitations of the underlying devices. Thus > there's no need to define ->merge_bvec_fn() callbacks for individual block > drivers. > + > +Usage of helpers: > +================= > + > +* The following helpers which name has suffix of "_all" can only be used on
helpers whose names have the suffix of "_all" can only be used on
> +non-BIO_CLONED bio, and ususally they are used by filesystem code, and driver
usually
> +shouldn't use them becasue bio may have been splitted before they got to the
because split
> +driver: > + > + bio_for_each_segment_all() > + bio_first_bvec_all() > + bio_first_page_all() > + bio_last_bvec_all() > + > +* The following helpers iterate over singlepage bvec, and the local
preferably: single-page
> +variable of 'struct bio_vec' or the reference records single page io
IO or I/O
> +vector during the itearation: > + > + bio_for_each_segment() > + bio_for_each_segment_all() > + > +* The following helper iterates over multipage bvec, and each bvec may
preferably: multi-page
> +include multiple physically contiguous pages, and the local variable of > +'struct bio_vec' or the reference records multi page io vector during the
multi-page IO or I/O
> +itearation: > + > + bio_for_each_bvec() >
-- ~Randy
| |