OSDN Git Service

block: put the same page when adding it to bio
authorMing Lei <ming.lei@redhat.com>
Sun, 17 Mar 2019 10:01:08 +0000 (18:01 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 1 Apr 2019 18:11:34 +0000 (12:11 -0600)
commit190470871ae28da7bdb3909f6124385c8472fc97
tree6af7ea3cda825066245aedd136a40cd4a31b3c64
parent5919482e222908d40279a616b1fe6400549e32b4
block: put the same page when adding it to bio

When the added page is merged to last same page in bio_add_pc_page(),
the user may need to put this page for avoiding page leak.

bio_map_user_iov() needs this kind of handling, and now it deals with
it by itself in hack style.

Moves the handling of put page into __bio_add_pc_page(), so
bio_map_user_iov() may be simplified a bit, and maybe more users
can benefit from this change.

Cc: Omar Sandoval <osandov@fb.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
include/linux/bio.h