[lvm-devel] [PATCH] lvm2: sync error handling on secondary mirror in dmeventd
Takahiro Yasui
tyasui at redhat.com
Mon Nov 30 19:56:22 UTC 2009
Set the ME_FAILURE flag if the error is related to sync on the secondary
mirror. A sync error on the secondary mirror occurs by a write I/O and
the error can be treated as the regular write error on mirror legs.
Signed-off-by: Takahiro Yasui <tyasui at redhat.com>
---
daemons/dmeventd/plugins/mirror/dmeventd_mirror.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Index: LVM2.02.57-20091125/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
===================================================================
--- LVM2.02.57-20091125.orig/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
+++ LVM2.02.57-20091125/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
@@ -68,10 +68,12 @@ static int _process_status_code(const ch
syslog(LOG_ERR, "%s device %s flush failed.\n",
dev_type, dev_name);
r = ME_FAILURE;
- } else if (status_code == 'S')
+ } else if (status_code == 'S') {
syslog(LOG_ERR, "%s device %s sync failed.\n",
dev_type, dev_name);
- else if (status_code == 'R')
+ if (!strcmp(dev_type, "Secondary mirror"))
+ r = ME_FAILURE;
+ } else if (status_code == 'R')
syslog(LOG_ERR, "%s device %s read failed.\n",
dev_type, dev_name);
else if (status_code != 'A') {
More information about the lvm-devel
mailing list