summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* btrfs-progs: fi resize: accept only directories as pathsDavid Sterba2015-04-22
| | | | | | | | Resize of a filesystem image does not work as expected. This has been confusing and can have bad consequences as people have reported, resizing the wrong filesystem. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Documentaion: rename to .asciidocDavid Sterba2015-04-14
| | | | | | | | | | | | | A few minor benefits: * editors set highliting according to the extensions * web access to the git repository (github) renders the .asciidoc files: * we can link to them from the wiki * the files are editable via browser and such editations can be submitted for merge easily Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: improve troubleshooting avoid duplicate error stringsAnand Jain2015-04-14
| | | | | | | | | | | | | | | | my troubleshooting experience says have unique error string per module. In the below eg, its one additional step to know error line, cat -n cmds-device.c | egrep "error removing the device" 185 "ERROR: error removing the device '%s' - %s\n", 190 "ERROR: error removing the device '%s' - %s\n", which is completely avoidable. Signed-off-by: Anand Jain <anand.jain@oracle.com> [merged the two messages into one] Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs-progs: fix compile warningsAnand Jain2015-04-14
| | | | | | | | | | | simple compile time warning fixes. btrfs-calc-size.c: In function ‘print_seek_histogram’: btrfs-calc-size.c:221: warning: ‘group_start’ may be used uninitialized in this function btrfs-calc-size.c:223: warning: ‘group_end’ may be used uninitialized in this function Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: use local btrfs-image in leaf corruption testWorMzy Tykashi2015-04-09
| | | | | | | | | | Currently this test uses the system btrfs-image. If there isn't a btrfs-image on $PATH, the test fails. The test should be using the locally compiled btrfs-image, not the system one. Signed-off-by: WorMzy Tykashi <wormzy.tykashi@gmail.com> Reviewed-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: getopt, use symbolic name for argument requirementsDavid Sterba2015-04-08
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: cleanup option index argument from getopt_longDavid Sterba2015-04-08
| | | | | | | We're not using it anywhere. The best practice is to add enums with values > 255 for the long options, option index counting is error prone. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: print fs features filtered by a maskDavid Sterba2015-04-07
| | | | | | | mkfs and convert will not support the same features, -O will print only the list according to the given mask. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: move feature parsing from mkfs to utilsDavid Sterba2015-04-07
| | | | | | | We'll use them in convert as well. Move defines and the interface functions to utils.*. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: mkfs, deprecate leafsize and clean up the codeDavid Sterba2015-04-07
| | | | | | | Using the --leafsize will issue a warning. Replace leafsize with nodesize in the mkfs-related code. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert: use exact size for reading superblockDavid Sterba2015-04-07
| | | | | | | | | We've passed blocksize to prepare_system_chunk and used it to read and write superblock. While this does not cause a bug (SUPER_INFO is blocksize ie. page size on most arches), we should really use the correct size. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests: remove duplicate output for fsck test 013David Sterba2015-04-07
| | | | | | The test name is logged since it lives in it's own directory. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests: split make rule for fsck and convert tests, fix ↵David Sterba2015-04-07
| | | | | | | | | | prerequisities We'd like to run each class of tests separately. There were some missing prerequisities that should be/are verified by the tests, makefile rules have been synced. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert tests: preserve test image permissionsDavid Sterba2015-04-07
| | | | | | | If the test image is eg. on NFS it's not writable for root, so chmod 0777 fixes that but then we must not delete the file. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Doc: Add warning and note on btrfs-convert.Qu Wenruo2015-04-07
| | | | | | | | | | | | | | | Although btrfs-convert can rollback converted btrfs, it still has some limitation to ensure rollback. Add a warning on the limitations. Also add a note for users who decides to go on with btrfs and don't need the rollback ability. Reported-by: Vytautas D <vytdau@gmail.com> Reported-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert-tests: Add check for converted btrfs with regular file ↵Qu Wenruo2015-04-07
| | | | | | | | | | extent. Regression test for previous patch "btrfs-progs: convert: Make ext*_image file obey datacsum setting." Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert-tests: Update to use test framework infrastructure.Qu Wenruo2015-04-07
| | | | | | | | Also change the test() to convert_test(), to avoid conflict name with bash test function. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fsck-tests: Add fallback TEST_DEV for test case 013Qu Wenruo2015-04-07
| | | | | | | | | | Add fallback TEST_DEV for test case 013. Fallback to $TOP/tests/test.img. Now all test cases of btrfs-progs need no extra setting except sudo. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fsck-tests: Update 013-extent-tree-rebuild to use more test ↵Qu Wenruo2015-04-07
| | | | | | | | | | | | | framework infrastructure. Update 013-extent-tree-rebuild to use more framework infrastructure, including: 1) Use run_check other than open-coded redirect 2) Add root privillege 3) Add dependency on 'btrfs-debug-tree' command Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fsck-tests: Remove duplicatesd TEST_MNT setup.Qu Wenruo2015-04-07
| | | | | | | | Since we have already had TEST_MNT fallback setup to $TOP/tests/mnt, just remove duplicated setting in 012-leaf-corruption/test.sh Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: test-frame: Update variant namesQu Wenruo2015-04-07
| | | | | | | | | | | | Use upper case variant name for the following variants: 1) top -> TOP 2) script_dir -> SCRIPT_DIR And change the following variant name: 1) RESULT -> RESULTS Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert: Make ext*_image file obey datacsum setting.Qu Wenruo2015-04-02
| | | | | | | | | | | | | | | | | | Before this patch, ext*_image is always set NODATACSUM inode flag. However btrfs-convert will set normal file with DATACUSM flag by default, and generate checksum for regular file extent. Now, a regular file extent is shared by a btrfs file inode with DATACSUM and ext*_image with NODATACSUM, and it has checksum in csum tree. This will cause btrfsck complain about odd checksum, since ext*_image is set NODATACSUM but has checksum generated from regular file extent. This patch makes convert completely obey datacsum setting, meaning btrfs-convert will generate csum for every file extent by default. Reported-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs doc: emphasis that only mounted device works for btrfs device statsChen Hanxiao2015-04-02
| | | | | | | | | | We provided format <path>|<device> in command line. But btrfs device stats doesn't work if device is not mounted. Also fix some tailing whitespace. Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: silence fake fsckZach Brown2015-04-02
| | | | | | | | | | | | | | | | | | | | Harald suggested that we remove the message from the fake fsck.btrfs that some distros run at boot: https://bugzilla.redhat.com/show_bug.cgi?id=1206502 "This output does not add anything, but is a disturbing element of booting up a system. It's the only message I get, when starting my system, before gdm is started." I'm inclined to agree. This makes the tiniest change to remove the message that's output for an auto invocation. My guess is that it was just copied from the xfs fsck.xfs and that no one actually cares about it. Signed-off-by: Zach Brown <zab@zabbo.net> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.19.1David Sterba2015-03-25
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix autoconf handling of --enable-convertMike Gilbert2015-03-25
| | | | | | | AC_ARG_ENABLE(convert) sets $enable_convert, not $enable_btrfsconvert. Signed-off-by: Mike Gilbert <floppym@gentoo.org> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.19.1-rc1David Sterba2015-03-24
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: mkfs, add required arguments to help stringsDavid Sterba2015-03-24
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: mkfs, align help stringsDavid Sterba2015-03-24
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert, add long options for all short optionsDavid Sterba2015-03-24
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Print warning message if qgroup data is inconsistentQu Wenruo2015-03-24
| | | | | | | | | | | | | | | | | Before this patch, qgroup show won't check btrfs qgroup status, so even the INCONSISTENT flags is set, user is not aware of it. This patch will include BTRFS_QGROUP_STATUS_ITEM in the search range and check the flag, if there is any flag meaning the inconsistence of qgroup data, info user. NOTE: There is several kernel bugs from INCONSISTENT flags is always set to RUNNING flags is not cleared until umount. So this warning will always be here if using a newer kernel fixing these bugs. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Add stack get/set functions for btrfs_qgroup_status_itemQu Wenruo2015-03-24
| | | | | | | This provides the basis for later qgroup related changes. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Allow parse_qgroupid() to resolve subvolume path into qgroupidQu Wenruo2015-03-24
| | | | | | | | | | Now parse_qgroupid() can resolve subvolume path into qgroupid. This is quite handy for handling level 0 qgroupid, and user don't need to resolve rootid by hand now. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [constify string in __is_subvol] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Move parse_qgroupid() to utils.cQu Wenruo2015-03-24
| | | | | | Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [constified strings in parse_qgroupid] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Allow btrfs-debug-tree to print human readable qgroup status flag.Qu Wenruo2015-03-24
| | | | | | | | | | | | Now btrfs-debug-tree can print qgroup status flag as ON|INCONSISTENT instead of 0x5. BTW, this patch helped us to find a bug that INCONSISTENT flag is never cleared in kernel. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [renamed to qgroup_flags_to_str] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Update qgroup status flags and replace qgroup level/subvid ↵Qu Wenruo2015-03-24
| | | | | | | | | | | | | | calculation with inline function Ctree.h of btrfs-progs contains wrong flags for btrfs_qgroup_status. Update it with the one in kernel. Also, introduce the inline function btrfs_qgroup_(level/subvid) to get the level/subvolid of qgroup, to replace the old open-coded bit operations. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: restore, fix page alignment issue for lzo compressionGui Hecheng2015-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When runing restore under lzo compression, "bad compress length" problems are encountered. It is because there is a page alignment problem with the @decompress_lzo, as follows: |------| |----|-| |------|...|------| page ^ page page | 3 bytes left When lzo pages are compressed in memory, we will ensure that the 4 bytes length header will not cross a page boundary. There is a situation that 3 (or less) bytes are left at the end of a page, and then the 4 bytes len is stored at the start of the next page. But the @decompress_lzo doesn't go to the start of the next page and continue to read the next 4 bytes which crosses two pages, so a random value is fetched as a "bad compress length". So we check page alignment every time before we are going to fetch the next @len and after the former piece of data is decompressed. If the current page that we reach has less than 4 bytes left, then we should fetch the next @len at the start of next page. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> [simplifed and moved into decompress_lzo] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: completion: add fi and dev usage commandsDavid Sterba2015-03-23
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert, fix typo in getopt valueDavid Sterba2015-03-23
| | | | | | | Unfortunatelly GETOPT_VAL_IEC is not equal to GETOPT_VAL_NO_PROGRESS so --no-progress had no effect. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert tests: add remaining supported nodesizesDavid Sterba2015-03-23
| | | | | | That's 8k, 32k and 64k. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Add nodesize test for btrfs-convertSebastian Thorarensen2015-03-23
| | | | | | | convert-tests now test both 4096 and 16384 nodesizes. Signed-off-by: Sebastian Thorarensen <sebth@naju.se> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: btrfs-convert: Allow setting nodesizeSebastian Thorarensen2015-03-23
| | | | | | | | Allow btrfs-convert to use nodesizes other than 4096. It defaults to max(16384, pagesize), like mkfs. Signed-off-by: Sebastian Thorarensen <sebth@naju.se> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix msgs in check_node_or_leaf_sizeSebastian Thorarensen2015-03-23
| | | | | | | | | | check_node_or_leaf_size in utils.c now prints 'nodesize (or leafsize)' instead of 'leafsize (or nodesize)' in the error messages, in order to be less confusing for the user, as leafsize in mkfs is deprecated. 'ERROR: ' is also prepended to be consistent with other error messages. Signed-off-by: Sebastian Thorarensen <sebth@naju.se> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: mkfs: Move out some nodesize codeSebastian Thorarensen2015-03-23
| | | | | | | | | | | Move the constant DEFAULT_MKFS_LEAF_SIZE to utils.h and rename it to BTRFS_MKFS_DEFAULT_NODE_SIZE for consistency. Move the function check_leaf_or_node_size to utils.c and rename it to btrfs_check_node_or_leaf_size. Signed-off-by: Sebastian Thorarensen <sebth@naju.se> [added btrfs_ prefix] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fi usage, fix reporting space for degraded mountsDavid Sterba2015-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | The total size of devices was summed from raw partition size which is wrong in two ways: - if the device is missing, the size is 0 and it mismatches the size summed from chunks, leading to bogus numbers like Device unallocated: 16.00EiB Used: 1.88TiB Free (estimated): 8.00EiB (min: 8.00EiB) - we should really account the device size that's occupied by btrfs, not the real partition size altough it's the same most of the time The sum of missing devices is now printed in the summary and any missing device path is replaced with 'missing' instead of blank: Data,RAID1: Size:972.00GiB, Used:962.15GiB 972.00GiB /dev/sdb1 972.00GiB Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94911 Reported-by: <raffix@web.de> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: re-introduce BTRFS_BUILD_VERSION in version.hLokesh Mandvekar2015-03-16
| | | | | | | | The macro is in a public header and breaks build of some applications. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org> [edit changelog] Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.19David Sterba2015-03-11
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests, common: fix typo after cleanupDavid Sterba2015-03-10
| | | | | | | The previous value for unknown was -1. Reported-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.19-rc3David Sterba2015-03-09
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests, clean up scriptsDavid Sterba2015-03-09
| | | | | | | Rename variables, use caps, call true by full path, add quotation to variables and a few wording fixes. Signed-off-by: David Sterba <dsterba@suse.cz>