You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
David Sterba 3fc2326d34
Btrfs progs v5.4.1
3 years ago
Documentation btrfs-progs: docs: Don't erase XMLTO_EXTRA contents, fix docbook5 build 3 years ago
check btrfs-progs: check/original: Detect invalid extent generation 3 years ago
ci btrfs-progs: ci: setup GitLab-CI 3 years ago
cmds btrfs-progs: qgroup: Check for ENOTCONN error on create/assign/limit 3 years ago
common btrfs-progs: add support for raid1c3 and raid1c4 3 years ago
convert btrfs-progs: Remove convert param from btrfs_alloc_data_chunk 3 years ago
crypto btrfs-progs: add BLAKE2 to hash-speedtest 3 years ago
image btrfs-progs: Replace btrfs_block_group_cache::item with dedicated members 3 years ago
kernel-lib btrfs-progs: move crc32c implementation to crypto/ 3 years ago
kernel-shared btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
libbtrfsutil libbtrfsutil: Convert to designated initialization for SubvolumeIterator_type 3 years ago
m4 btrfs-progs: build: detect whether -std=gnu90 is supported 4 years ago
mkfs btrfs-progs: add support for raid1c3 and raid1c4 3 years ago
tests btrfs-progs: tests: check: detect bad extent item generation 3 years ago
.gitignore btrfs-progs: gitignore: Ignore hidden files 3 years ago
.gitlab-ci.yml btrfs-progs: ci: setup GitLab-CI 3 years ago
.travis.yml btrfs-progs: ci: use newer image base on travis 3 years ago
64-btrfs-dm.rules btrfs-progs: udev: add rules for dm devices 6 years ago
Android.mk btrfs-progs: move crc32c implementation to crypto/ 3 years ago
CHANGES btrfs-progs: update CHANGES for 5.4.1 3 years ago
COPYING fix COPYING 15 years ago
INSTALL btrfs-progs: build: optional dependencies for html doc target 3 years ago
Makefile btrfs-progs: build: document install targets 3 years ago
Makefile.extrawarn btrfs-progs: build: disable -Waddress-of-packed-member by default 3 years ago
Makefile.inc.in btrfs-progs: build: add --disable-shared and --disable-static 4 years ago
README.md btrfs-progs: README: add gitlab CI/CD status badge 3 years ago
VERSION Btrfs progs v5.4.1 3 years ago
androidcompat.h btrfs-progs: add compat header for android 7 years ago
autogen.sh btrfs-progs: build: simplify version tracking 5 years ago
backref.c btrfs-progs: move internal.h to common/ 3 years ago
backref.h btrfs-progs: move ulist.[ch] to kernel-shared 6 years ago
bcp Btrfs-progs: Correct path munging in bcp 11 years ago
btrfs-completion btrfs-progs: completion: let dump-tree/dump-super/inode-resolve accept any file 4 years ago
btrfs-corrupt-block.c btrfs-progs: corrupt-block: Refactor tree block corruption code 3 years ago
btrfs-crc.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
btrfs-debugfs btrfs-progs: right-align number columns in btrfs-debugfs output 5 years ago
btrfs-find-root.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
btrfs-fragments.c btrfs-progs: Fix printf formats 3 years ago
btrfs-list.c btrfs-progs: move rbtree-utils.[ch] to common/ 3 years ago
btrfs-list.h btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
btrfs-map-logical.c btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
btrfs-sb-mod.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
btrfs-select-super.c btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
btrfs.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
btrfsck.h btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
btrfstune.c btrfs-progs: build most common tools into one binary (busybox style) 3 years ago
common-defs.h btrfs-progs: move some common definitions to own header 6 years ago
configure.ac btrfs-progs: fix typos in user-visible strings 4 years ago
ctree.c btrfs-progs: add blake2b support 3 years ago
ctree.h btrfs-progs: Sync the comment for btrfs_file_extent_item 3 years ago
delayed-ref.c btrfs-progs: Handle error properly in btrfs_commit_transaction() 3 years ago
delayed-ref.h btrfs-progs: delayed-ref: Fix memory leak and use-after-free caused by wrong condition to free delayed ref/head. 3 years ago
dir-item.c btrfs-progs: check: lowmem: Add ability to repair dir item with mismatched hash 4 years ago
disk-io.c btrfs-progs: disk-io: Remove duplicated ASSERT() call 3 years ago
disk-io.h btrfs-progs: update checksumming api 3 years ago
extent-cache.c btrfs-progs: move rbtree-utils.[ch] to common/ 3 years ago
extent-cache.h btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
extent-tree.c btrfs-progs: fix superblock range exclusion check 3 years ago
extent_io.c btrfs-progs: disk-io: Verify the bytenr passed in is mapped for read_tree_block() 3 years ago
extent_io.h btrfs-progs: disk-io: Verify the bytenr passed in is mapped for read_tree_block() 3 years ago
file-item.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
file.c btrfs-progs: move utils.[ch] to common/ 3 years ago
find-root.c btrfs-progs: move utils.[ch] to common/ 3 years ago
find-root.h btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
free-space-cache.c btrfs-progs: Replace btrfs_block_group_cache::item with dedicated members 3 years ago
free-space-cache.h btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
free-space-tree.c btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
free-space-tree.h btrfs-progs: Pull free space tree related code from kernel 4 years ago
fsck.btrfs btrfs-progs: fsck.btrfs: Fix bashism and bad getopts processing 7 years ago
hash.h btrfs-progs: move crc32c implementation to crypto/ 3 years ago
hasher.c Unaligned access fixes 15 years ago
inode-item.c btrfs-progs: remove unused argument from btrfs_lookup_inode_ref 6 years ago
inode-map.c btrfs-progs: move internal.h to common/ 3 years ago
inode.c btrfs-progs: move messages.[ch] to common/ 3 years ago
ioctl-test.c btrfs-progs: tests: make the ioctl-test actually useful 6 years ago
ioctl.h btrfs-progs: add support for raid1c3 and raid1c4 3 years ago
kerncompat.h btrfs-progs: Fix printf formats 3 years ago
libbtrfs.sym btrfs-progs: libbtrfs: add list of exported symbols 3 years ago
library-test.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
print-tree.c btrfs-progs: add support for raid1c3 and raid1c4 3 years ago
print-tree.h btrfs-progs: print-tree: Use BFS as default traversal method 3 years ago
props.c btrfs-progs: props: convert to C99 initializers 3 years ago
props.h btrfs-progs: unify header file inclusion protections 8 years ago
qgroup.c btrfs-progs: move utils.[ch] to common/ 3 years ago
qgroup.h btrfs-progs: qgroups: introduce btrfs_qgroup_query 3 years ago
quick-test.c btrfs-progs: Fix printf formats 3 years ago
random-test.c btrfs-progs: Fix printf formats 3 years ago
repair.c btrfs-progs: move utils.[ch] to common/ 3 years ago
repair.h btrfs-progs: factor out repair mode 6 years ago
root-tree.c btrfs-progs: Use more strict check to read out tree root 5 years ago
send-dump.c btrfs-progs: move utils.[ch] to common/ 3 years ago
send-dump.h btrfs-progs: introduce new send-dump object 6 years ago
send-stream.c btrfs-progs: move crc32c implementation to crypto/ 3 years ago
send-stream.h btrfs-progs: add missing includes to header files 7 years ago
send-utils.c btrfs-progs: send: add gcc9 workaround for root item reset 3 years ago
send-utils.h btrfs-progs: build: drop kernel-lib from -I and update paths 3 years ago
send.h btrfs-progs: Introduce kernel sizes to cleanup large intermediate number 6 years ago
show-blocks btrfs-progs: Remove btrfs-debug-tree command 4 years ago
transaction.c btrfs-progs: Exhaust delayed refs and dirty block groups to prevent delayed refs lost 3 years ago
transaction.h btrfs-progs: Avoid nested chunk allocation call 3 years ago
utils-lib.c btrfs-progs: move utils.[ch] to common/ 3 years ago
uuid-tree.c btrfs-progs: move utils.[ch] to common/ 3 years ago
version.h.in btrfs-progs: re-introduce BTRFS_BUILD_VERSION in version.h 8 years ago
volumes.c btrfs-progs: do proper error handling in btrfs_chunk_readonly() 3 years ago
volumes.h btrfs-progs: add support for raid1c3 and raid1c4 3 years ago

README.md

Btrfs-progs build status coverity status gitlab CI/CD

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)
  • all-in-one binary in the busybox style with mkfs.btrfs, btrfs-image and other tools built-in (standalone tools)

The C and python 3 bindings are provided by a LGPL library libbtrfsutil see libbtrfsutil/README.md for more.

See INSTALL for build instructions and tests/README.md for testing information.

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 bug fixes or minor useful improvements queued.

The release tags are signed with a GPG key ID F2B4 1200 C54E FB30 380C 1756 C565 D5F9 D76D 583B, release tarballs are hosted at kernel.org. See file CHANGES or changelogs on wiki.

Reporting bugs

There are several ways, each has its own specifics and audience that can give feedback or work on a fix. The following list is sorted in the order of preference:

  • github issue tracker
  • to the mailing list linux-btrfs@vger.kernel.org -- (not required to subscribe), beware that the mail might get overlooked in other traffic
  • IRC (irc.freenode.net #btrfs) -- good for discussions eg. if a bug is already known, but reports could miss developers' attention
  • bugzilla.kernel.org -- (requires registration), set the product to Filesystems and component Btrfs, please put 'btrfs-progs' into the subject so it's clear that it's not a kernel bug report

Development

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

The GitHub pull requests will not be accepted directly, the preferred way is to send patches to the mailinglist instead. You can link to a branch in any git repository if the mails do not make it to the mailinglist or just for convenience (makes it easier to test).

The development model of btrfs-progs shares a lot with the kernel model. The github way is different in some ways. We, the upstream community, expect that the patches meet some criteria (often lacking in github contributions):

  • one logical change per patch: eg. not mixing bugfixes, cleanups, features etc., sometimes it's not clear and will be usually pointed out during reviews
  • proper subject line: eg. prefix with btrfs-progs: subpart, ... , descriptive yet not too long, see git log --oneline for some inspiration
  • proper changelog: the changelogs are often missing or lacking explanation why the change was made, or how is something broken, what are user-visible effects of the bug or the fix, how does an improvement help or the intended usecase
  • the Signed-off-by line: this documents who authored the change, you can read more about the The Developer's Certificate of Origin (chapter 11)
    • if you are not used to the signed-off style, your contributions won't be rejected just because of it's missing, the Author: tag will be added as a substitute in order to allow contributions without much bothering with formalities

Documentation updates

Documentation fixes or updates do not need much explanation so sticking to the code rules in the previous section is not necessary. GitHub pull requests are OK, patches could be sent to me directly and not required to be also in the mailinglist. Pointing out typos via IRC also works, although might get accidentally lost in the noise.

References