An array can only accept a bitmap if it will call bitmap_daemon_work
periodically, which means it needs a thread running.
If there is no thread, don't allow a bitmap to be added.
Signed-off-by: NeilBrown <neilb@suse.de>
        int err = 0;
 
        if (mddev->pers) {
-               if (!mddev->pers->quiesce)
+               if (!mddev->pers->quiesce || !mddev->thread)
                        return -EBUSY;
                if (mddev->recovery || mddev->sync_thread)
                        return -EBUSY;
                rv = update_raid_disks(mddev, info->raid_disks);
 
        if ((state ^ info->state) & (1<<MD_SB_BITMAP_PRESENT)) {
-               if (mddev->pers->quiesce == NULL)
+               if (mddev->pers->quiesce == NULL || mddev->thread == NULL)
                        return -EINVAL;
                if (mddev->recovery || mddev->sync_thread)
                        return -EBUSY;