block: register uevent control after block_init_from_udev_enumerate() 86/160486/3
authorpr.jung <pr.jung@samsung.com>
Thu, 16 Nov 2017 05:54:40 +0000 (14:54 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Mon, 20 Nov 2017 06:08:02 +0000 (15:08 +0900)
Change-Id: I1abf743b6c48c0ac706b28e1d6d53ae248340388
Signed-off-by: pr.jung <pr.jung@samsung.com>
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
src/block/block.c

index 59696f5..a069460 100644 (file)
@@ -2649,12 +2649,21 @@ static void booting_done(const char *sender_name,
                void *data)
 {
        static int done = 0;
+       int ret;
+
        if (done > 0)
                return;
        done = 1;
        _I("Booting done");
+
+       /* register mmc uevent control routine */
+       ret = register_udev_uevent_control(&uh);
+       if (ret < 0)
+               _E("fail to register block uevent : %d", ret);
+
        /* if there is the attached device, try to mount */
        block_init_from_udev_enumerate();
+
        block_control = true;
        block_boot = true;
 }
@@ -2682,10 +2691,6 @@ static void uevent_block_handler(struct udev_device *dev)
        int r;
        bool mapper = false;
 
-       /* Check booting done */
-       if (!block_boot)
-               return;
-
        udev_list_entry_foreach(list_entry, udev_device_get_devlinks_list_entry(dev)) {
                const char *devlink = udev_list_entry_get_name(list_entry);
                if (!fnmatch(MMC_LINK_PATH, devlink, 0)) {
@@ -3652,11 +3657,6 @@ static void block_init(void *data)
        if (ret < 0)
                _E("fail to init pipe");
 
-       /* register mmc uevent control routine */
-       ret = register_udev_uevent_control(&uh);
-       if (ret < 0)
-               _E("fail to register block uevent : %d", ret);
-
        /* System Session is loaded completely */
        register_dbus_signal(SYSTEMD_DBUS_PATH,
                    SYSTEMD_DBUS_IFACE_MANAGER,