tests/btrfs.c: accept possible failure of BTRFS_IOC_BALANCE_V2

BTRFS_IOC_BALANCE_V2 ioctl might fail sometimes (for example, if it
decides that it doesn't have enough free space).

* tests/btrfs.c (btrfs_test_balance_ioctls): Print expected output for
the BTRFS_IOC_BALANCE_V2 call based on its return code.
This commit is contained in:
Eugene Syromyatnikov 2018-03-19 03:14:20 +01:00 committed by Dmitry V. Levin
parent 11df7cd070
commit 2b71146c3a

View File

@ -595,6 +595,8 @@ btrfs_test_balance_ioctls(void)
printf("}) = -1 EBADF (%m)\n");
if (write_ok) {
long ret;
args.flags = BTRFS_BALANCE_DATA | BTRFS_BALANCE_METADATA |
BTRFS_BALANCE_SYSTEM;
args.data.flags = 0;
@ -622,20 +624,24 @@ btrfs_test_balance_ioctls(void)
btrfs_print_balance_args(&args.meta);
printf(", sys=");
btrfs_print_balance_args(&args.sys);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args);
printf("} => {flags=");
prfl_btrfs(btrfs_balance_flags, args.flags,
"BTRFS_BALANCE_???");
printf(", state=");
prfl_btrfs(btrfs_balance_state, args.state,
"BTRFS_BALANCE_STATE_???");
printf(", data=");
btrfs_print_balance_args(&args.data);
printf(", meta=");
btrfs_print_balance_args(&args.meta);
printf(", sys=");
btrfs_print_balance_args(&args.sys);
printf("}) = 0\n");
ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args);
if (ret < 0) {
printf("}) = %s\n", sprintrc(ret));
} else {
printf("} => {flags=");
prfl_btrfs(btrfs_balance_flags, args.flags,
"BTRFS_BALANCE_???");
printf(", state=");
prfl_btrfs(btrfs_balance_state, args.state,
"BTRFS_BALANCE_STATE_???");
printf(", data=");
btrfs_print_balance_args(&args.data);
printf(", meta=");
btrfs_print_balance_args(&args.meta);
printf(", sys=");
btrfs_print_balance_args(&args.sys);
printf("}) = %ld\n", ret);
}
}
}