On Mon, Apr 22, 2019 at 06:02:07PM +0800, Ming Lei wrote: > bio_add_page() and __bio_add_page() are capable of adding pages into > bio, and now we have at least two such usages alreay: > > - __bio_iov_bvec_add_pages() > - nvmet_bdev_execute_rw(). > > So update comments on these two helpers. > > The thing is a bit special for __bio_try_merge_page(), given the caller > needs to know if the new added page is same with the last added page, > then it isn't safe to pass multi-page in case that 'same_page' is true, > so adds warning on potential misuse, and updates comment on > __bio_try_merge_page(). > > Cc: linux-xfs@xxxxxxxxxxxxxxx > Cc: linux-fsdevel@xxxxxxxxxxxxxxx > Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > --- > V2: > - add Reviewed-by tag > - rebase on latest for-5.2/block > > block/bio.c | 26 +++++++++++++++----------- > 1 file changed, 15 insertions(+), 11 deletions(-) > > diff --git a/block/bio.c b/block/bio.c > index 5959141d4e46..e92c37ce20a6 100644 > --- a/block/bio.c > +++ b/block/bio.c > @@ -688,6 +688,8 @@ static bool can_add_page_to_seg(struct request_queue *q, > if (bv->bv_len + len > queue_max_segment_size(q)) > return false; > > + WARN_ON_ONCE(same_page && (len + off) > PAGE_SIZE); No need for the inner braces. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>