btrfs-progs: fix error returns in get_df()
get_df returns -ERRNO, or maybe (+)errno, or even 0 in the case where we inexplicably got 0 total_spaces from the BTRFS_IOC_SPACE_INFO. Consistently return a negative error number, and return -ENOENT rather than 0 for total_spaces == 0, so that the caller will know that **sargs_ret hasn't been set up. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
83e941a746
commit
667c121184
|
@ -106,11 +106,12 @@ static int get_df(int fd, struct btrfs_ioctl_space_args **sargs_ret)
|
|||
fprintf(stderr, "ERROR: couldn't get space info - %s\n",
|
||||
strerror(e));
|
||||
free(sargs);
|
||||
return ret;
|
||||
return -e;
|
||||
}
|
||||
/* This really should never happen */
|
||||
if (!sargs->total_spaces) {
|
||||
free(sargs);
|
||||
return 0;
|
||||
return -ENOENT;
|
||||
}
|
||||
count = sargs->total_spaces;
|
||||
free(sargs);
|
||||
|
@ -128,7 +129,7 @@ static int get_df(int fd, struct btrfs_ioctl_space_args **sargs_ret)
|
|||
fprintf(stderr, "ERROR: get space info count %llu - %s\n",
|
||||
count, strerror(e));
|
||||
free(sargs);
|
||||
return ret;
|
||||
return -e;
|
||||
}
|
||||
*sargs_ret = sargs;
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue