btrfs-progs: balance: use errno directly

No need to store the errno in a local variable.

Signed-off-by: David Sterba <dsterba@suse.com>
master
David Sterba 2016-07-13 19:05:23 +02:00
parent 6146dc04b2
commit 83dc05b013
1 changed files with 16 additions and 31 deletions

View File

@ -427,7 +427,6 @@ static int do_balance(const char *path, struct btrfs_ioctl_balance_args *args,
{ {
int fd; int fd;
int ret; int ret;
int e;
DIR *dirstream = NULL; DIR *dirstream = NULL;
fd = btrfs_open_dir(path, &dirstream, 1); fd = btrfs_open_dir(path, &dirstream, 1);
@ -453,30 +452,28 @@ static int do_balance(const char *path, struct btrfs_ioctl_balance_args *args,
} }
ret = ioctl(fd, BTRFS_IOC_BALANCE_V2, args); ret = ioctl(fd, BTRFS_IOC_BALANCE_V2, args);
e = errno;
if (ret < 0) { if (ret < 0) {
/* /*
* older kernels don't have the new balance ioctl, try the * older kernels don't have the new balance ioctl, try the
* old one. But, the old one doesn't know any filters, so * old one. But, the old one doesn't know any filters, so
* don't fall back if they tried to use the fancy new things * don't fall back if they tried to use the fancy new things
*/ */
if (e == ENOTTY && !(flags & BALANCE_START_FILTERS)) { if (errno == ENOTTY && !(flags & BALANCE_START_FILTERS)) {
ret = do_balance_v1(fd); ret = do_balance_v1(fd);
if (ret == 0) if (ret == 0)
goto out; goto out;
e = errno;
} }
if (e == ECANCELED) { if (errno == ECANCELED) {
if (args->state & BTRFS_BALANCE_STATE_PAUSE_REQ) if (args->state & BTRFS_BALANCE_STATE_PAUSE_REQ)
fprintf(stderr, "balance paused by user\n"); fprintf(stderr, "balance paused by user\n");
if (args->state & BTRFS_BALANCE_STATE_CANCEL_REQ) if (args->state & BTRFS_BALANCE_STATE_CANCEL_REQ)
fprintf(stderr, "balance canceled by user\n"); fprintf(stderr, "balance canceled by user\n");
ret = 0; ret = 0;
} else { } else {
error("error during balancing '%s': %s", path, strerror(e)); error("error during balancing '%s': %s", path,
if (e != EINPROGRESS) strerror(errno));
if (errno != EINPROGRESS)
fprintf(stderr, fprintf(stderr,
"There may be more info in syslog - try dmesg | tail\n"); "There may be more info in syslog - try dmesg | tail\n");
ret = 1; ret = 1;
@ -641,7 +638,6 @@ static int cmd_balance_pause(int argc, char **argv)
const char *path; const char *path;
int fd; int fd;
int ret; int ret;
int e;
DIR *dirstream = NULL; DIR *dirstream = NULL;
clean_args_no_options(argc, argv, cmd_balance_pause_usage); clean_args_no_options(argc, argv, cmd_balance_pause_usage);
@ -656,12 +652,10 @@ static int cmd_balance_pause(int argc, char **argv)
return 1; return 1;
ret = ioctl(fd, BTRFS_IOC_BALANCE_CTL, BTRFS_BALANCE_CTL_PAUSE); ret = ioctl(fd, BTRFS_IOC_BALANCE_CTL, BTRFS_BALANCE_CTL_PAUSE);
e = errno;
if (ret < 0) { if (ret < 0) {
error("balance pause on '%s' failed: %s", path, error("balance pause on '%s' failed: %s", path,
(e == ENOTCONN) ? "Not running" : strerror(e)); (errno == ENOTCONN) ? "Not running" : strerror(errno));
if (e == ENOTCONN) if (errno == ENOTCONN)
ret = 2; ret = 2;
else else
ret = 1; ret = 1;
@ -682,7 +676,6 @@ static int cmd_balance_cancel(int argc, char **argv)
const char *path; const char *path;
int fd; int fd;
int ret; int ret;
int e;
DIR *dirstream = NULL; DIR *dirstream = NULL;
clean_args_no_options(argc, argv, cmd_balance_cancel_usage); clean_args_no_options(argc, argv, cmd_balance_cancel_usage);
@ -697,12 +690,10 @@ static int cmd_balance_cancel(int argc, char **argv)
return 1; return 1;
ret = ioctl(fd, BTRFS_IOC_BALANCE_CTL, BTRFS_BALANCE_CTL_CANCEL); ret = ioctl(fd, BTRFS_IOC_BALANCE_CTL, BTRFS_BALANCE_CTL_CANCEL);
e = errno;
if (ret < 0) { if (ret < 0) {
error("balance cancel on '%s' failed: %s", path, error("balance cancel on '%s' failed: %s", path,
(e == ENOTCONN) ? "Not in progress" : strerror(e)); (errno == ENOTCONN) ? "Not in progress" : strerror(errno));
if (e == ENOTCONN) if (errno == ENOTCONN)
ret = 2; ret = 2;
else else
ret = 1; ret = 1;
@ -725,7 +716,6 @@ static int cmd_balance_resume(int argc, char **argv)
DIR *dirstream = NULL; DIR *dirstream = NULL;
int fd; int fd;
int ret; int ret;
int e;
clean_args_no_options(argc, argv, cmd_balance_resume_usage); clean_args_no_options(argc, argv, cmd_balance_resume_usage);
@ -742,26 +732,24 @@ static int cmd_balance_resume(int argc, char **argv)
args.flags |= BTRFS_BALANCE_RESUME; args.flags |= BTRFS_BALANCE_RESUME;
ret = ioctl(fd, BTRFS_IOC_BALANCE_V2, &args); ret = ioctl(fd, BTRFS_IOC_BALANCE_V2, &args);
e = errno;
if (ret < 0) { if (ret < 0) {
if (e == ECANCELED) { if (errno == ECANCELED) {
if (args.state & BTRFS_BALANCE_STATE_PAUSE_REQ) if (args.state & BTRFS_BALANCE_STATE_PAUSE_REQ)
fprintf(stderr, "balance paused by user\n"); fprintf(stderr, "balance paused by user\n");
if (args.state & BTRFS_BALANCE_STATE_CANCEL_REQ) if (args.state & BTRFS_BALANCE_STATE_CANCEL_REQ)
fprintf(stderr, "balance canceled by user\n"); fprintf(stderr, "balance canceled by user\n");
} else if (e == ENOTCONN || e == EINPROGRESS) { } else if (errno == ENOTCONN || errno == EINPROGRESS) {
error("balance resume on '%s' failed: %s", path, error("balance resume on '%s' failed: %s", path,
(e == ENOTCONN) ? "Not in progress" : (errno == ENOTCONN) ? "Not in progress" :
"Already running"); "Already running");
if (e == ENOTCONN) if (errno == ENOTCONN)
ret = 2; ret = 2;
else else
ret = 1; ret = 1;
} else { } else {
error("error during balancing '%s': %s\n" error("error during balancing '%s': %s\n"
"There may be more info in syslog - try dmesg | tail", "There may be more info in syslog - try dmesg | tail",
path, strerror(e)); path, strerror(errno));
ret = 1; ret = 1;
} }
} else { } else {
@ -796,7 +784,6 @@ static int cmd_balance_status(int argc, char **argv)
int fd; int fd;
int verbose = 0; int verbose = 0;
int ret; int ret;
int e;
optind = 1; optind = 1;
while (1) { while (1) {
@ -829,15 +816,13 @@ static int cmd_balance_status(int argc, char **argv)
return 2; return 2;
ret = ioctl(fd, BTRFS_IOC_BALANCE_PROGRESS, &args); ret = ioctl(fd, BTRFS_IOC_BALANCE_PROGRESS, &args);
e = errno;
if (ret < 0) { if (ret < 0) {
if (e == ENOTCONN) { if (errno == ENOTCONN) {
printf("No balance found on '%s'\n", path); printf("No balance found on '%s'\n", path);
ret = 0; ret = 0;
goto out; goto out;
} }
error("balance status on '%s' failed: %s", path, strerror(e)); error("balance status on '%s' failed: %s", path, strerror(errno));
ret = 2; ret = 2;
goto out; goto out;
} }