diff options
author | Tejun Heo <tj@kernel.org> | 2018-07-18 13:47:36 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-07-18 16:44:14 +0200 |
commit | 3f289dcb4b265416a57ca79cf4a324060bb09060 (patch) | |
tree | 81f0e5716f6ae16f4ada210b0289bf6c1ff192db /fs/mpage.c | |
parent | pktcdvd: remove assignment in if condition (diff) | |
download | linux-3f289dcb4b265416a57ca79cf4a324060bb09060.tar.xz linux-3f289dcb4b265416a57ca79cf4a324060bb09060.zip |
block: make bdev_ops->rw_page() take a REQ_OP instead of bool
c11f0c0b5bb9 ("block/mm: make bdev_ops->rw_page() take a bool for
read/write") replaced @op with boolean @is_write, which limited the
amount of information going into ->rw_page() and more importantly
page_endio(), which removed the need to expose block internals to mm.
Unfortunately, we want to track discards separately and @is_write
isn't enough information. This patch updates bdev_ops->rw_page() to
take REQ_OP instead but leaves page_endio() to take bool @is_write.
This allows the block part of operations to have enough information
while not leaking it to mm.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/mpage.c')
-rw-r--r-- | fs/mpage.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/mpage.c b/fs/mpage.c index b7e7f570733a..b73638db9866 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -51,8 +51,8 @@ static void mpage_end_io(struct bio *bio) bio_for_each_segment_all(bv, bio, i) { struct page *page = bv->bv_page; - page_endio(page, op_is_write(bio_op(bio)), - blk_status_to_errno(bio->bi_status)); + page_endio(page, bio_op(bio), + blk_status_to_errno(bio->bi_status)); } bio_put(bio); |