summaryrefslogtreecommitdiffstats
path: root/kernel/trace/blktrace.c
diff options
context:
space:
mode:
authorMike Snitzer2016-05-05 17:54:22 +0200
committerJens Axboe2016-05-05 21:03:29 +0200
commit0ef5a50c1658d4d96a44f145bcb92ff3310c75b1 (patch)
tree19e029301415518262638966d5125ccd1470d39a /kernel/trace/blktrace.c
parentblock: reinstate early return of -EOPNOTSUPP from blkdev_issue_discard (diff)
downloadkernel-qcow2-linux-0ef5a50c1658d4d96a44f145bcb92ff3310c75b1.tar.gz
kernel-qcow2-linux-0ef5a50c1658d4d96a44f145bcb92ff3310c75b1.tar.xz
kernel-qcow2-linux-0ef5a50c1658d4d96a44f145bcb92ff3310c75b1.zip
block: make bio_inc_remaining() interface accessible again
Commit 326e1dbb57 ("block: remove management of bi_remaining when restoring original bi_end_io") made bio_inc_remaining() private to bio.c because the only use-case that made sense was confined to the bio_chain() interface. Since that time DM thinp went on to use bio_chain() in its relatively complex implementation of async discard support. That implementation, even when converted over to use the new async __blkdev_issue_discard() interface, depends on deferred completion of the original discard bio -- which is most appropriately implemented using bio_inc_remaining(). DM thinp foolishly duplicated bio_inc_remaining(), local to dm-thin.c as __bio_inc_remaining(), so re-exporting bio_inc_remaining() allows us to put an end to that foolishness. All said, bio_inc_remaining() should really only be used in conjunction with bio_chain(). It isn't intended for generic bio reference counting. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Acked-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'kernel/trace/blktrace.c')
0 files changed, 0 insertions, 0 deletions