The BTRFS_BALANCE_* flags are used by struct btrfs_ioctl_balance_args.flags and btrfs_ioctl_balance_args.{data,meta,sys}.flags in the BTRFS_IOC_BALANCE ioctl.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -317,6 +317,70 @@ struct btrfs_balance_progress { · 316 unmodified lines | ||
| 317 | 317 | __u64 completed; /* # of chunks relocated so far */ |
| 318 | 318 | }; |
| 319 | 319 | |
| 320 | +/* | |
| 321 | + * flags definition for balance | |
| 322 | + * | |
| 323 | + * Restriper's general type filter | |
| 324 | + * | |
| 325 | + * Used by: | |
| 326 | + * btrfs_ioctl_balance_args.flags | |
| 327 | + * btrfs_balance_control.flags (internal) | |
| 328 | + */ | |
| 329 | +#define BTRFS_BALANCE_DATA (1ULL << 0) | |
| 330 | +#define BTRFS_BALANCE_SYSTEM (1ULL << 1) | |
| 331 | +#define BTRFS_BALANCE_METADATA (1ULL << 2) | |
| 332 | + | |
| 333 | +#define BTRFS_BALANCE_TYPE_MASK (BTRFS_BALANCE_DATA | \ | |
| 334 | + BTRFS_BALANCE_SYSTEM | \ | |
| 335 | + BTRFS_BALANCE_METADATA) | |
| 336 | + | |
| 337 | +#define BTRFS_BALANCE_FORCE (1ULL << 3) | |
| 338 | +#define BTRFS_BALANCE_RESUME (1ULL << 4) | |
| 339 | + | |
| 340 | +/* | |
| 341 | + * flags definitions for per-type balance args | |
| 342 | + * | |
| 343 | + * Balance filters | |
| 344 | + * | |
| 345 | + * Used by: | |
| 346 | + * struct btrfs_balance_args | |
| 347 | + */ | |
| 348 | +#define BTRFS_BALANCE_ARGS_PROFILES (1ULL << 0) | |
| 349 | +#define BTRFS_BALANCE_ARGS_USAGE (1ULL << 1) | |
| 350 | +#define BTRFS_BALANCE_ARGS_DEVID (1ULL << 2) | |
| 351 | +#define BTRFS_BALANCE_ARGS_DRANGE (1ULL << 3) | |
| 352 | +#define BTRFS_BALANCE_ARGS_VRANGE (1ULL << 4) | |
| 353 | +#define BTRFS_BALANCE_ARGS_LIMIT (1ULL << 5) | |
| 354 | +#define BTRFS_BALANCE_ARGS_LIMIT_RANGE (1ULL << 6) | |
| 355 | +#define BTRFS_BALANCE_ARGS_STRIPES_RANGE (1ULL << 7) | |
| 356 | +#define BTRFS_BALANCE_ARGS_USAGE_RANGE (1ULL << 10) | |
| 357 | + | |
| 358 | +#define BTRFS_BALANCE_ARGS_MASK \ | |
| 359 | + (BTRFS_BALANCE_ARGS_PROFILES | \ | |
| 360 | + BTRFS_BALANCE_ARGS_USAGE | \ | |
| 361 | + BTRFS_BALANCE_ARGS_DEVID | \ | |
| 362 | + BTRFS_BALANCE_ARGS_DRANGE | \ | |
| 363 | + BTRFS_BALANCE_ARGS_VRANGE | \ | |
| 364 | + BTRFS_BALANCE_ARGS_LIMIT | \ | |
| 365 | + BTRFS_BALANCE_ARGS_LIMIT_RANGE | \ | |
| 366 | + BTRFS_BALANCE_ARGS_STRIPES_RANGE | \ | |
| 367 | + BTRFS_BALANCE_ARGS_USAGE_RANGE) | |
| 368 | + | |
| 369 | +/* | |
| 370 | + * Profile changing flags. When SOFT is set we won't relocate chunk if | |
| 371 | + * it already has the target profile (even though it may be | |
| 372 | + * half-filled). | |
| 373 | + */ | |
| 374 | +#define BTRFS_BALANCE_ARGS_CONVERT (1ULL << 8) | |
| 375 | +#define BTRFS_BALANCE_ARGS_SOFT (1ULL << 9) | |
| 376 | + | |
| 377 | + | |
| 378 | +/* | |
| 379 | + * flags definition for balance state | |
| 380 | + * | |
| 381 | + * Used by: | |
| 382 | + * struct btrfs_ioctl_balance_args.state | |
| 383 | + */ | |
| 320 | 384 | #define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0) |
| 321 | 385 | #define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1) |
| 322 | 386 | #define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2) |