| From 9b622e2bbcf049c82e2550d35fb54ac205965f50 Mon Sep 17 00:00:00 2001 |
| From: Tomasz Majchrzak <tomasz.majchrzak@intel.com> |
| Date: Thu, 28 Jul 2016 10:28:25 +0200 |
| Subject: raid10: increment write counter after bio is split |
| |
| From: Tomasz Majchrzak <tomasz.majchrzak@intel.com> |
| |
| commit 9b622e2bbcf049c82e2550d35fb54ac205965f50 upstream. |
| |
| md pending write counter must be incremented after bio is split, |
| otherwise it gets decremented too many times in end bio callback and |
| becomes negative. |
| |
| Signed-off-by: Tomasz Majchrzak <tomasz.majchrzak@intel.com> |
| Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> |
| Signed-off-by: Shaohua Li <shli@fb.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/md/raid10.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/md/raid10.c |
| +++ b/drivers/md/raid10.c |
| @@ -1171,6 +1171,8 @@ static void __make_request(struct mddev |
| int max_sectors; |
| int sectors; |
| |
| + md_write_start(mddev, bio); |
| + |
| /* |
| * Register the new request and wait if the reconstruction |
| * thread has put up a bar for new requests. |
| @@ -1556,8 +1558,6 @@ static void make_request(struct mddev *m |
| return; |
| } |
| |
| - md_write_start(mddev, bio); |
| - |
| do { |
| |
| /* |