btrfs-progs: ctree: Add extra level check for read_node_slot()
[platform/upstream/btrfs-progs.git] / task-utils.c
index 58f5195..12b0002 100644 (file)
@@ -51,7 +51,7 @@ int task_start(struct task_info *info)
                             info->private_data);
 
        if (ret)
-               info->id = -1;
+               info->id = 0;
 
        return ret;
 }
@@ -64,7 +64,7 @@ void task_stop(struct task_info *info)
        if (info->id > 0) {
                pthread_cancel(info->id);
                pthread_join(info->id, NULL);
-               info->id = -1;
+               info->id = 0;
        }
 
        if (info->periodic.timer_fd) {
@@ -119,6 +119,9 @@ void task_period_wait(struct task_info *info)
        if (!info)
                return;
 
+       if (info->periodic.timer_fd == 0)
+               return;
+
        ret = read(info->periodic.timer_fd, &missed, sizeof (missed));
        if (ret == -1)
                return;