btrfs-progs: balance: enhance the usage filter with range

We can do more with the balance usage filter. Enhance it so we can
specify also the minimum usage of the block groups to process. The
'usage' filter now accepts a range (a..b, can be partial) and needs
kernel support.

The 'usage=value' filter is equivalent to 'limit=..value' but works on
older kernels as well.

The min/max values are 32bit, unlike the single-value limit which is
64bit.

Signed-off-by: David Sterba <dsterba@suse.com>
1 file changed
tree: 807f18f10b7cf38c24bbd31e2e04795c4244c9b8
  1. Documentation/
  2. tests/
  3. .gitignore
  4. Android.mk
  5. androidcompat.h
  6. autogen.sh
  7. backref.c
  8. backref.h
  9. bcp
  10. bitops.h
  11. btrfs-calc-size.c
  12. btrfs-completion
  13. btrfs-convert.c
  14. btrfs-corrupt-block.c
  15. btrfs-crc.c
  16. btrfs-debug-tree.c
  17. btrfs-debugfs
  18. btrfs-find-root.c
  19. btrfs-fragments.c
  20. btrfs-image.c
  21. btrfs-list.c
  22. btrfs-list.h
  23. btrfs-map-logical.c
  24. btrfs-select-super.c
  25. btrfs-show-super.c
  26. btrfs-zero-log.c
  27. btrfs.c
  28. btrfsck.h
  29. btrfstune.c
  30. chunk-recover.c
  31. cmds-balance.c
  32. cmds-check.c
  33. cmds-device.c
  34. cmds-fi-usage.c
  35. cmds-fi-usage.h
  36. cmds-filesystem.c
  37. cmds-inspect.c
  38. cmds-property.c
  39. cmds-qgroup.c
  40. cmds-quota.c
  41. cmds-receive.c
  42. cmds-replace.c
  43. cmds-rescue.c
  44. cmds-restore.c
  45. cmds-scrub.c
  46. cmds-send.c
  47. cmds-subvolume.c
  48. commands.h
  49. configure.ac
  50. COPYING
  51. crc32c.c
  52. crc32c.h
  53. ctree.c
  54. ctree.h
  55. dir-item.c
  56. dir-test.c
  57. disk-io.c
  58. disk-io.h
  59. extent-cache.c
  60. extent-cache.h
  61. extent-tree.c
  62. extent_io.c
  63. extent_io.h
  64. file-item.c
  65. file.c
  66. find-root.c
  67. find-root.h
  68. free-space-cache.c
  69. free-space-cache.h
  70. fsck.btrfs
  71. hash.h
  72. hasher.c
  73. help.c
  74. inode-item.c
  75. inode-map.c
  76. inode.c
  77. INSTALL
  78. ioctl-test.c
  79. ioctl.h
  80. kerncompat.h
  81. library-test.c
  82. list.h
  83. list_sort.c
  84. list_sort.h
  85. Makefile.extrawarn
  86. Makefile.in
  87. mkfs.c
  88. print-tree.c
  89. print-tree.h
  90. props.c
  91. props.h
  92. qgroup-verify.c
  93. qgroup-verify.h
  94. qgroup.c
  95. qgroup.h
  96. quick-test.c
  97. radix-tree.c
  98. radix-tree.h
  99. raid6.c
  100. random-test.c
  101. rbtree-utils.c
  102. rbtree-utils.h
  103. rbtree.c
  104. rbtree.h
  105. rbtree_augmented.h
  106. README.md
  107. repair.c
  108. repair.h
  109. root-tree.c
  110. send-stream.c
  111. send-stream.h
  112. send-test.c
  113. send-utils.c
  114. send-utils.h
  115. send.h
  116. show-blocks
  117. string-table.c
  118. string-table.h
  119. super-recover.c
  120. task-utils.c
  121. task-utils.h
  122. transaction.h
  123. ulist.c
  124. ulist.h
  125. utils-lib.c
  126. utils.c
  127. utils.h
  128. uuid-tree.c
  129. version.h.in
  130. version.sh
  131. volumes.c
  132. volumes.h
README.md

Btrfs-progs

Userspace utilities to manage btrfs filesystems. License: GPLv2.

Btrfs is a copy on write (COW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.

This repository hosts following utilities:

  • btrfs — the main administration tool (manual page)
  • mkfs.btrfs — utility to create the filesystem (manual page)

See INSTALL for build instructions.

Release cycle

The major version releases are time-based and follow the cycle of the linux kernel releases. The cycle usually takes 2 months. A minor version releases may happen in the meantime if there are queued bug fixes or minor useful improvements.

Development

The patch submissions, development or general discussions take place at linux-btrfs@vger.kernel.org mailinglist, subsciption not required.

References