]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - sysfs.c
Merge branch 'master' into devel-3.1
[thirdparty/mdadm.git] / sysfs.c
diff --git a/sysfs.c b/sysfs.c
index 5806fa7cd01dff4cd35697f260949cb1a42c7636..35dfbd450bc9742ca25f16a72c7075bef4cfe858 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -792,7 +792,7 @@ int sysfs_unique_holder(int devnum, long rdev)
 static char *clean_states[] = {
        "clear", "inactive", "readonly", "read-auto", "clean", NULL };
 
-int WaitClean(char *dev, int verbose)
+int WaitClean(char *dev, int sock, int verbose)
 {
        int fd;
        struct mdinfo *mdi;
@@ -868,7 +868,8 @@ int WaitClean(char *dev, int verbose)
                }
                if (rv < 0)
                        rv = 1;
-               else if (ping_monitor(mdi->text_version) == 0) {
+               else if (fping_monitor(sock) == 0 ||
+                        ping_monitor(mdi->text_version) == 0) {
                        /* we need to ping to close the window between array
                         * state transitioning to clean and the metadata being
                         * marked clean