btrfs-progs: fix check of running scrub

Scrub on multiple devices may report wrong status if scrub finishes
early on one of them.

Reported-by: Sandy McArthur Jr <sandymac@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
master
David Sterba 2015-01-19 18:47:20 +01:00
parent 2b7cdab425
commit e1ee8b2a0f
1 changed files with 1 additions and 5 deletions

View File

@ -1073,15 +1073,11 @@ static int is_scrub_running_in_kernel(int fd,
memset(&sp, 0, sizeof(sp));
sp.scrub_args.devid = di_args[i].devid;
ret = ioctl(fd, BTRFS_IOC_SCRUB_PROGRESS, &sp.scrub_args);
if (ret < 0 && errno == ENODEV)
continue;
if (ret < 0 && errno == ENOTCONN)
return 0;
if (!ret)
return 1;
}
return 1;
return 0;
}
static const char * const cmd_scrub_start_usage[];