[lvm-devel] master - dmeventd: Call lvscan --cache also for mirrors (in addition to RAID).

Petr Rockai mornfall at fedoraproject.org
Wed Jan 14 17:08:10 UTC 2015


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=eac4e1e939c6fe7eba0d2c3865e25b8ed43fe6d9
Commit:        eac4e1e939c6fe7eba0d2c3865e25b8ed43fe6d9
Parent:        4a55175bacbad1261917f170254040fb2846f994
Author:        Petr Rockai <prockai at redhat.com>
AuthorDate:    Wed Jan 14 18:04:46 2015 +0100
Committer:     Petr Rockai <prockai at redhat.com>
CommitterDate: Wed Jan 14 18:05:44 2015 +0100

dmeventd: Call lvscan --cache also for mirrors (in addition to RAID).

---
 daemons/dmeventd/plugins/mirror/dmeventd_mirror.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
index 2328089..084be28 100644
--- a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
+++ b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
@@ -136,10 +136,20 @@ static int _remove_failed_devices(const char *device)
 	char cmd_str[CMD_SIZE];
 
 	if (!dmeventd_lvm2_command(dmeventd_lvm2_pool(), cmd_str, sizeof(cmd_str),
+				   "lvscan --cache", device))
+		return -1;
+
+	r = dmeventd_lvm2_run(cmd_str);
+
+	if (!r)
+		syslog(LOG_INFO, "Re-scan of mirror device %s failed.", device);
+
+	if (!dmeventd_lvm2_command(dmeventd_lvm2_pool(), cmd_str, sizeof(cmd_str),
 				  "lvconvert --config devices{ignore_suspended_devices=1} "
 				  "--repair --use-policies", device))
 		return -ENAMETOOLONG; /* FIXME Replace with generic error return - reason for failure has already got logged */
 
+	/* if repair goes OK, report success even if lvscan has failed */
 	r = dmeventd_lvm2_run(cmd_str);
 
 	syslog(LOG_INFO, "Repair of mirrored device %s %s.", device,




More information about the lvm-devel mailing list