summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* btrfs-progs: autoconf: use config.hKarel Zak2015-01-28
| | | | | | | | | | | | | - the header file is generated by ./configure, the standard autotools way is to use -include config.h on compiler command line rather than include the file directly from code - remove _GNU_SOURCE from code, the macros is already defined in config.h by AC_USE_SYSTEM_EXTENSIONS autoconf macro Signed-off-by: Karel Zak <kzak@redhat.com> [_GNU_SOURCE changes already done] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: autoconf: add ./configure scriptKarel Zak2015-01-28
| | | | | | | | | | | - add ./autogen.sh script (necessary after git clean/clone) - add ./configure.ac - copy autotool helper scripts from automake - modify version.sh to be usable from the configure script - rename Makefile to Makefile.in and use basic variables from configure.ac Signed-off-by: Karel Zak <kzak@redhat.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.18.2David Sterba2015-01-27
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: update wording for qgroup limitsDavid Sterba2015-01-27
| | | | | | | Based on a user report, 'max' in help does not clearly point to the limits that are commonly used as a quota-related term. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: don't output operational status information to stderrXing Gu2015-01-27
| | | | | Signed-off-by: Xing Gu <gux.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: check: Add --readonly flagHugo Mills2015-01-27
| | | | | | | | | | Particularly during support conversations, people get confused about which options to use with btrfs check. Adding a flag, --readonly, which implies the default read-only behaviour and which conflicts with the read-write operations, should help make the behaviour of the tool clear. Signed-off-by: Hugo Mills <hugo@carfax.org.uk> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Make option parsing more robust to code modificationsHugo Mills2015-01-27
| | | | | | | | | | | | | | The current approach to option parsing, where long-only options are selected on the basis of their position in the long_options array is fragile and painful to modify if options are to be inserted into the list, rather than appended. Instead, use the last field of struct option to return a value which cannot be a char (and hence a short option), and simply switch on those within the case statement. Signed-off-by: Hugo Mills <hugo@carfax.org.uk> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: qgroup: make large size alignedFan Chengniang2015-01-27
| | | | | | | | | Problem: when the size is too big, the output format will be unaligned. The __update__columns_max_len function has been updated to fix this problem. Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: drop feature defines from C files, in favour of CFLAGS definesDimitri John Ledkov2015-01-27
| | | | | | | | | | | | | | | | | | | | | | glibc 2.10+ (5+ years old) enables all the desired features: _XOPEN_SOURCE 700, __XOPEN2K8, POSIX_C_SOURCE, DEFAULT_SOURCE; with a single _GNU_SOURCE define in the makefile alone. For portability to other libc implementations (e.g. dietlibc) _XOPEN_SOURCE=700 is also defined. This also resolves Debian bug report filed by Michael Tautschnig - "Inconsistent use of _XOPEN_SOURCE results in conflicting declarations". Whilst I was not able to reproduce the results, the reported fact is that _XOPEN_SOURCE set to 500 in one set of files (e.g. cmds-filesystem.c) generates/defines different struct stat from other files (cmds-replace.c). This patch thus cleans up all feature defines, and sets them at a consistent level. Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747969 Signed-off-by: Dimitri John Ledkov <dimitri.j.ledkov@intel.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: unify getopt table terminatorsDavid Sterba2015-01-21
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: add --human-readable option where applicableDavid Sterba2015-01-21
| | | | | | | Add an alias to -h to 'filesystem usage', 'filesystem df' and 'device usage' commands, same as the traditional 'df'. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: use predefined getopt values for unit suffixesDavid Sterba2015-01-21
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: define common geopt values for unit suffixesDavid Sterba2015-01-21
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: make btrfs qgroups show human readable sizesFan Chengniang2015-01-21
| | | | | | | | | | | | | | | | add --raw, --si, --iec, --kbytes, --mbytes, --gbytes, --tbytes options make columns which show sizes align to right. Others aligned to left. example: qgroupid rfer excl max_rfer max_excl parent child -------- ---- ---- -------- -------- ------ ----- 0/5 299.58MiB 299.58MiB 300.00MiB 300.00MiB 1/1 --- 0/265 299.58MiB 16.00KiB 400.00MiB 0.00B 1/1 --- 0/266 299.58MiB 16.00KiB 350.00MiB 0.00B --- --- 1/1 599.16MiB 299.59MiB 800.00MiB 0.00B --- 0/5,0/265 Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: unify header file inclusion protectionsDavid Sterba2015-01-21
| | | | | | There are missing ifdefs or defines with very generic names. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Doc: Add explain on 'source' and 'target' for btrfs-image.Qu Wenruo2015-01-21
| | | | | | | | | Add explain on 'source' and 'target', which is somewhat confusing for users who want to restore dumped image. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [reworded texts] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Cleanup, use bitshift instead of immediate number in ↵Qu Wenruo2015-01-21
| | | | | | | | | btrfs_open_ctree_flags. Change the immediate number in btrfs_open_ctree_flags to bit shift. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: btrfstune: force to set seeding flagsFan Chengniang2015-01-19
| | | | | | | | | | Now we can use -f with -S option when setting seeding flags or clearing seeding flags Reported-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com> Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> [updated docs] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests, use non-interactive sudo helperDavid Sterba2015-01-19
| | | | | | | | Sudo may not be configured to run without user prompt, in that case the tests would be stuck. Reported-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix check of running scrubDavid Sterba2015-01-19
| | | | | | | | Scrub on multiple devices may report wrong status if scrub finishes early on one of them. Reported-by: Sandy McArthur Jr <sandymac@gmail.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: make getopt tables static constDavid Sterba2015-01-19
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: cleanup, move getop long options close to their useDavid Sterba2015-01-19
| | | | | | Move long_option defintions just before getopt_long everywhere. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests, adjust alignment of the pretty command nameDavid Sterba2015-01-14
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests, use the root helper in 012David Sterba2015-01-14
| | | | | | We need it to mount/umount, to traverse lost+found and stat the results. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: tests, add support for running commands under rootDavid Sterba2015-01-14
| | | | | | | | Most of the checks run fine without root, but some of them may need to do a mount test or access the data. Add the support to selectively run commands under root, hardcoded to sudo for now. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Move extent tree rebuild test to its dirQu Wenruo2015-01-14
| | | | | | | Move extent tree rebuild teset to its dir. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Move leaf-corruption no extent data case and add verification ↵Qu Wenruo2015-01-14
| | | | | | | | | | | | | | | script Move leaf-corruption type no extent data case to its dir, and add verification script in test.sh The verification script is based on manual btrfs-debug-tree check. The image can also be reused to other leaf-corruption type, like corrupted leaf contains regular file extent data case. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Move bad root items test cases to its corresponding dirQu Wenruo2015-01-14
| | | | | | | | Now 006-bad-root-items has two cases, one for default case, and one for skinny metadata case. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Move btrfs-image dump to corresponding dirQu Wenruo2015-01-14
| | | | | | | | Move these obvious btrfs-image to its corresponding dir to use the new infrastructure. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: New btrfsck test infrastructureQu Wenruo2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the old btrfsck test infrastructure (btrfs-image dump or xz raw dump) to the new test infrastructure. 1) Test case layout The new infrastructure is dir based, each dir is one test type, and can contain multiple images/scripts for different corner cases. So layout will be the following: btrfs-progs |-tests |-fsck-tests |-001-SOME-CORRUPT-TYPE |-IMAGE-FOR-CASE1 |-IMAGE-FOR-CASE2 2) Test case image types Only 2 types for test case images. a) btrfs-image dump This one is the simplest case, one only needs to add the image to corresponding dir. b) custom script This one is for all the resting cases which can't fit btrfs-image, like csum error or script can generate the image (this reduces the size obviously and good for review) The old binary dump also belongs to this type, so need to add script to extract them. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove uneccessary subvol name check for subvol deletionGui Hecheng2015-01-14
| | | | | | | | | | When we want to delete a subvol, we first check to see whether it is a subvolume or not. After the check, we are sure that it is a valid subvol, don't have to check its name. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> [removed unused variable 'len'] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: btrfstune: fix multiple options errorFan Chengniang2015-01-14
| | | | | | | | | | | | | | when we use multiple options, error return status will be override by the last option status. example: btrfstune -S 1 -r /dev/loop0 when -S option fails and -r option succeeds, return value is 0, rather than 1, where 1 is the right return status. Reported-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com> Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: add missing options to qgroup limitFan Chengniang2015-01-14
| | | | | | | | btrfs qgroup limit has two options -c and -e,. They were forgotten to add to manpage. Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix wrong return value when executing 'fi show' on umounted device.Qu Wenruo2015-01-14
| | | | | | | | | | | | | | | | When executing 'btrfs fi show' on unmounted device, even no problem happens, the return value is still 1 not 0. The problem lies in search_umounted_fs_uuids(), where when it finds the given uuid, it should return 1, but later uuid copy overwrites the return value, causing it always return 0 under that case. Fix it by pass found as pointer, and return value only indicates whether anything wrong happens, whether found or not is stored in the new parameter. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: restore backtrace functionality on glibcMerlijn Wajer2015-01-14
| | | | | | | | | | | | | Originally broke in commit c2691f807ddd2c6b261c5707f6838a45d9275390 __glibc__ should have been __GLIBC__ We also include features.h ; although most includes (at least stdlib.h) typically already include it -- at least on glibc, where it matters. Signed-off-by: Merlijn Wajer <merlijn@wizzup.org> Reported-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Remove redundant short description from cmd_snapshot_usageMartin Volf2015-01-14
| | | | | | | | cmd_snapshot_usage in cmds-subvolume.c contains the short description twice. Remove the first one. Signed-off-by: Martin Volf <martin.volf.42@gmail.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.18.1David Sterba2015-01-09
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Don't increase error count if the inode can be repaired.Qu Wenruo2015-01-09
| | | | | | | | | | | | | | | | | The original check_inode_recs() will return -1 if found any error in a inode_record. This is OK for original design since there is almost nothing can repair at that time. However more and more error from nlink mismatch to missing inode item can be repaired in try_repair_inode(), check_inode_recs() should not increase the error count if the inode can be repair. With this patch, repair function for leaf-corruption will not return error if all corruption inode can be recovered. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix some format errors in docFan Chengniang2015-01-09
| | | | | Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: doc: fix format of btrfs-replaceTsutomu Itoh2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | Current 'man btrfs-replace' is as follows: ======================================================================== ... ... -f force using and overwriting <targetdev> even if it looks like containing a valid btrfs filesystem. A valid filesystem is assumed if a btrfs superblock is found which contains a correct checksum. Devices which are currently mounted are never allowed to be used as the <targetdev>. -B:::: no background replace. ... ... ======================================================================== The format of 'B' option is wrong. So, fix it. Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix a copy-n-paste bug in btrfs_read_fs_root().Qu Wenruo2015-01-09
| | | | | | | | | Introduced in commit 96ec888aad41969 ("btrfs-progs: add quota group verify code"). Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix a buffer overflow causing segfault in fstests/btrfs/069Qu Wenruo2015-01-09
| | | | | | | | | | | | | | | | | | The newly introduced search_chunk_tree_for_fs_info() won't count devid 0 in fi_arg->num_devices, which will cause buffer overflow since later get_device_info() will fill di_args with devid. This can be trigger by fstests/btrfs/069 and any operations needs to iterate over all the devices like 'fi show' or 'dev stat' while replacing. The fix is do an extra probe specifically for devid 0 after search_chunk_tree_for_fs_info() and change num_devices if needed. Reported-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Documentation: fix broken conversionPeter Wu2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes various formatting issues: Fixes quoting issues in various manpages. Before/After excerpts for mkfs.btrfs(8), btrfs-qgroup(8): mkfs.btrfs [-A|--alloc-start '<alloc-start>'] mkfs.btrfs [-A|--alloc-start <alloc-start>] id 0/<subvolume id>'' id 0/<subvolume id> If multiple '<attr>'s is given, use comma to separate. If multiple <attr>s is given, use comma to separate. The one that is most apparent is the removal of text in btrfs-subvolume(8) and others. Before/After: list [options] [-G <value>] [-C <value>] [--sort=rootid,gen,ogen,path] <path> list [options] [-G [+|-]<value>] [-C [+|-]<value>] [--sort=rootid,gen,ogen,path] <path> create [-i <qgroupid>] <name> create [-i <qgroupid>] [<dest>]<name> This happens because `<foo>` was replaced by `'<foo>'` in the sed expression, which is then treated as a constrained quote. As a result, the `[...]` before the string gets interpreted as "quoted text attributes". In this patch, the sed expression is dropped and asciidoc is configured to recognize `<...>` as a unconstrained quoted string (such that `<attr>s` is correctly emphasized) and to avoid adding quotes in contexts where it is not needed. A remaining problem is that some texts (the one between brackets) do not add the emphasis for `<...>`. While this could be solved by replacing `[` and `]` with `&#91;` and `&#93;` using sed, it introduces formatting problems in btrfs-zero-log(8) because the context is ignored. Signed-off-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix a extent buffer leak in count_csum_range().Qu Wenruo2015-01-09
| | | | | | | | | | | | The commit f495a2ac6611 ("btrfs-progs: fsck: remove unfriendly BUG_ON() for searching tree failure") is causing tons of extent buffer leak if some csum mismatches in btrfsck. This is caused by a misplaced btrfs_release_path(), fix it. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Allow debug-tree to be executed on regular file.Qu Wenruo2015-01-09
| | | | | | | | | | | The commit 1bad43fbe002 ("btrfs-progs: refine btrfs-debug-tree error prompt when a mount point given") add judgement on btrfs-debug-tree to restrict only block device to be executed on, but the command can also be used on regular file, so add regular file support for the judgement. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: convert, handle pwrite error in do_rollbackDavid Sterba2015-01-06
| | | | | Resolves-coverity-id: 1242984 Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: handle orphan creation error in btrfs_unlinkDavid Sterba2015-01-06
| | | | | | | | The error handling is simple and just returns an error upward, no cleanup. Resolves-coverity-id: 1260251 Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix leak of path in reset_balanceDavid Sterba2015-01-03
| | | | | | | A path may leak after an unlikely error condition. Resolves-coverity-id: 1199474 Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: safely copy path in btrfs_scan_lblkidDavid Sterba2015-01-03
| | | | | | | We should terminate the string, let's use the wrapper. Resolves-coverity-id: 1127097 Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: cleanup whitespace in is_same_blk_fileDavid Sterba2015-01-03
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>