md/raid5: call bio_endio() directly rather than queueing for later.
authorNeilBrown <neilb@suse.com>
Wed, 15 Mar 2017 03:05:12 +0000 (14:05 +1100)
committerShaohua Li <shli@fb.com>
Thu, 23 Mar 2017 02:16:12 +0000 (19:16 -0700)
commitbd83d0a28c68bacba88a3193a1bd6a083bb8d9f5
treef12df651c211e4d0faa4104e41e51c37417a7d93
parent16d997b78b157315f5c90fcbc2f9ce575cb3879f
md/raid5: call bio_endio() directly rather than queueing for later.

We currently gather bios that need to be returned into a bio_list
and call bio_endio() on them all together.
The original reason for this was to avoid making the calls while
holding a spinlock.
Locking has changed a lot since then, and that reason is no longer
valid.

So discard return_io() and various return_bi lists, and just call
bio_endio() directly as needed.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/raid5-cache.c
drivers/md/raid5-log.h
drivers/md/raid5.c
drivers/md/raid5.h