]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Create.c: close mdfd and generate uevent
authorMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Tue, 24 Nov 2020 12:39:49 +0000 (13:39 +0100)
committerJes Sorensen <jsorensen@fb.com>
Wed, 25 Nov 2020 23:06:23 +0000 (18:06 -0500)
During mdfd closing change event is not generated because open() is
called before start watching mddevice by udev.
Device is ready at this stage. Unblock device, close fd and
generate event to give a chance next layers to work.

Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Create.c

index 0efa19ca7a9247c0e617b582722ef79c2bc352e9..51f8826b642cbafe52c9da6efbfefbf425ad75b0 100644 (file)
--- a/Create.c
+++ b/Create.c
@@ -1083,12 +1083,9 @@ int Create(struct supertype *st, char *mddev,
        } else {
                pr_err("not starting array - not enough devices.\n");
        }
-       close(mdfd);
-       /* Give udev a moment to process the Change event caused
-        * by the close.
-        */
-       usleep(100*1000);
        udev_unblock();
+       close(mdfd);
+       sysfs_uevent(&info, "change");
        return 0;
 
  abort: