diff options
author | NeilBrown <neilb@suse.com> | 2017-03-10 17:00:47 +1100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-04-08 09:53:32 +0200 |
commit | 5cca175b6cda16b68b18967210872327b1cadf4f (patch) | |
tree | c039f9f3524cbcc26d1694d35b16ab571f4251e2 /arch | |
parent | 2cbd78f4239bd28b86c6ff8e3b7867db72762f1a (diff) | |
download | linux-stable-5cca175b6cda16b68b18967210872327b1cadf4f.tar.gz linux-stable-5cca175b6cda16b68b18967210872327b1cadf4f.tar.bz2 linux-stable-5cca175b6cda16b68b18967210872327b1cadf4f.zip |
blk: Ensure users for current->bio_list can see the full list.
commit f5fe1b51905df7cfe4fdfd85c5fb7bc5b71a094f upstream.
Commit 79bd99596b73 ("blk: improve order of bio handling in generic_make_request()")
changed current->bio_list so that it did not contain *all* of the
queued bios, but only those submitted by the currently running
make_request_fn.
There are two places which walk the list and requeue selected bios,
and others that check if the list is empty. These are no longer
correct.
So redefine current->bio_list to point to an array of two lists, which
contain all queued bios, and adjust various code to test or walk both
lists.
Signed-off-by: NeilBrown <neilb@suse.com>
Fixes: 79bd99596b73 ("blk: improve order of bio handling in generic_make_request()")
Signed-off-by: Jens Axboe <axboe@fb.com>
[jwang: backport to 4.4]
Signed-off-by: Jack Wang <jinpu.wang@profitbricks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Restore changes in device-mapper from upstream version]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions