|
Coly Li |
e35c01 |
From 880bcce0dcc3172fe865352b492c41d85290cb8d Mon Sep 17 00:00:00 2001
|
|
Coly Li |
e35c01 |
From: Heinz Mauelshagen <heinzm@redhat.com>
|
|
Coly Li |
e35c01 |
Date: Fri, 16 Mar 2018 23:01:59 +0100
|
|
Coly Li |
e35c01 |
Subject: [PATCH] dm raid: fix nosync status
|
|
Coly Li |
e35c01 |
Git-commit: 880bcce0dcc3172fe865352b492c41d85290cb8d
|
|
Coly Li |
e35c01 |
Patch-mainline: v4.17-rc1
|
|
Coly Li |
e35c01 |
References: bsc#1093023
|
|
Coly Li |
e35c01 |
|
|
Coly Li |
e35c01 |
Fix a race for "nosync" activations providing "aa.." device health
|
|
Coly Li |
e35c01 |
characters and "0/N" sync ratio rather than "AA..." and "N/N". Occurs
|
|
Coly Li |
e35c01 |
when status for the raid set is retrieved during resume before the MD
|
|
Coly Li |
e35c01 |
sync thread starts and clears the MD_RECOVERY_NEEDED flag.
|
|
Coly Li |
e35c01 |
|
|
Coly Li |
e35c01 |
Cc: stable@vger.kernel.org # 4.16+
|
|
Coly Li |
e35c01 |
Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
|
|
Coly Li |
e35c01 |
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
|
|
Coly Li |
e35c01 |
Signed-off-by: Coly Li <colyli@suse.de>
|
|
Coly Li |
e35c01 |
|
|
Coly Li |
e35c01 |
---
|
|
Coly Li |
e35c01 |
drivers/md/dm-raid.c | 3 ++-
|
|
Coly Li |
e35c01 |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
Coly Li |
e35c01 |
|
|
Coly Li |
e35c01 |
diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c
|
|
Coly Li |
e35c01 |
index b7a9c710ebec..598c9e3e41a5 100644
|
|
Coly Li |
e35c01 |
--- a/drivers/md/dm-raid.c
|
|
Coly Li |
e35c01 |
+++ b/drivers/md/dm-raid.c
|
|
Coly Li |
e35c01 |
@@ -3408,7 +3408,8 @@ static sector_t rs_get_progress(struct raid_set *rs, unsigned long recovery,
|
|
Coly Li |
e35c01 |
set_bit(RT_FLAG_RS_IN_SYNC, &rs->runtime_flags);
|
|
Coly Li |
e35c01 |
|
|
Coly Li |
e35c01 |
} else {
|
|
Coly Li |
e35c01 |
- if (!test_bit(MD_RECOVERY_INTR, &recovery) &&
|
|
Coly Li |
e35c01 |
+ if (!test_bit(__CTR_FLAG_NOSYNC, &rs->ctr_flags) &&
|
|
Coly Li |
e35c01 |
+ !test_bit(MD_RECOVERY_INTR, &recovery) &&
|
|
Coly Li |
e35c01 |
(test_bit(MD_RECOVERY_NEEDED, &recovery) ||
|
|
Coly Li |
e35c01 |
test_bit(MD_RECOVERY_RESHAPE, &recovery) ||
|
|
Coly Li |
e35c01 |
test_bit(MD_RECOVERY_RUNNING, &recovery)))
|
|
Coly Li |
e35c01 |
--
|
|
Coly Li |
e35c01 |
2.16.3
|
|
Coly Li |
e35c01 |
|