summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>2020-11-24 13:39:49 +0100
committerJes Sorensen <jsorensen@fb.com>2020-11-25 18:06:23 -0500
commitce559078a5650afb9f635204b31a89a1fa0061e3 (patch)
tree418f91f01ed3ca50833046bafda1a42cdb21ed6c
parentc3129b39a7d467eec063681529f46f84a2a85308 (diff)
downloadmdadm-ce559078a5650afb9f635204b31a89a1fa0061e3.tar.gz
Create.c: close mdfd and generate uevent
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>
-rw-r--r--Create.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/Create.c b/Create.c
index 0efa19ca..51f8826b 100644
--- 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: