Commit Graph

1869 Commits

Author SHA1 Message Date
David Sterba 38ce4bef83 btrfs-progs: doc, undocument old balance syntax
Standalone balance subcommand has been around since 3.3.

Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:38 +01:00
David Sterba 963f2c0a47 btrfs-progs: doc balance, sort subcommands alphabetically
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:38 +01:00
David Sterba 9c46986700 btrfs-progs: doc filesystem, sort subcommands alphabetically
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba 3bf2e2e867 btrfs-progs: doc btrfs, sort subcommands alphabetically
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba c0da6346c6 btrfs-progs: doc restore, cleanups for wiki conversion
Properly format the patch regex and add a line break.

Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba 786aa4fa74 btrfs-progs: doc filesystem, cleanups for wiki conversion
Remove trailing space, add line break before NOTE.

Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba e516e4fd77 btrfs-progs: doc balance, cleanups for wiki conversion
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba b63fe003fe btrfs-progs: doc mkfs, cleanups for wiki conversion
- remove trailing whitespace
- use +mono+ formatting for command line example

Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba 1dbcb0f80c btrfs-progs: doc mkfs, mark leafsize deprecated
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
Tsutomu Itoh 15541064ed btrfs-progs: doc: fix incorrect format of 'l' option in mkfs.btrfs
The format of 'l' option in mkfs.btrfs.txt is wrong.
And, when the head of the character string is 65536, the following warning
is displayed.

    $ make
    Making all in Documentation
        [ASCII]  mkfs.btrfs.xml
    asciidoc: WARNING: mkfs.btrfs.xml.tmp1: line 67: list item index: expected 1 got 65536
        [XMLTO]  mkfs.btrfs.8
        [GZ]     mkfs.btrfs.8.gz
    rm mkfs.btrfs.8 mkfs.btrfs.xml

So, fix it.

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:37 +01:00
David Sterba 18bf3f15a3 btrfs-progs: doc filesystem, add unit suffixes to option descriptions
Reported-by: Chris Murphy <lists@colorremedies.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:36 +01:00
David Sterba b4d03be635 btrfs-progs: doc filesystem, fix quoting of size suffixes
Escape the first quote of two to cancel effects of ordinary '...' .

Reported-by: Chris Murphy <lists@colorremedies.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-03 02:30:36 +01:00
David Sterba 186ec29394
Btrfs progs v3.18
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 17:23:12 +01:00
David Sterba f8a24717b1 btrfs-progs: fix minor leak of dev_info in btrfs_scan_kernel
Resolves-coverity-id: 1127098
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 15:48:55 +01:00
David Sterba 08dfef4fbd btrfs-progs: fix overflow check in btrfs_insert_inode_ref
Resolves-coverity-id: 1260247
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 15:48:55 +01:00
David Sterba 01a9f4308b btrfs-progs: check, missing parens around compound block in find_normal_file_extent
Resolves-coverity-id: 1260248
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 15:48:55 +01:00
David Sterba 8499af3484 btrfs-progs: fi show, don't leak canonical path
Resolves-coverity-id: 1260252
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 15:48:54 +01:00
David Sterba 0665aaf5a3 btrfs-progs: check, fix path leak in error branch
Resolves-coverity-id: 1260250
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 15:48:54 +01:00
Gui Hecheng d4ef1a06f8 btrfs-progs: Documentation: add T/P/E description for resize cmd
Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-30 15:48:54 +01:00
Gui Hecheng 1bad43fbe0 btrfs-progs: refine btrfs-debug-tree error prompt when a mount point given
Now, if exec:
	# btrfs-debug-tree <mount_point>
it echos:
	: Superblock bytenr is larger than device size

But it is quite misleading, because it is a valid btrfs.
In this case, we should tell the developer to provide a block device.

After apply:
	: '<mount_point>' is not a block device

Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-29 18:10:59 +01:00
Gui Hecheng 280434ebde btrfs-progs: move check_arg_type() to util.c
The check_arg_type() function does quite generic thing, move it to
utils.c.

Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-29 18:10:58 +01:00
Justin Maggard 7d83db5bae btrfs-progs: Fix btrfs fi show by uuid and label
Commit 8be2fff (btrfs-progs: apply realpath for btrfs fi
show when mount point is given) changed the behavior of
btrfs fi show to return an error if the call to realpath()
failed.  This broke the ability to specify a filesystem by
uuid or label.

So let's not consider a failed call to realpath() as an
error.  If the user really specified a bad device, just
return nothing like we did before.

Signed-off-by: Justin Maggard <jmaggard10@gmail.com>
Reviewed-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-29 17:13:58 +01:00
Qu Wenruo 0f38766b8f btrfs-progs: Fix a bug in reset_nlink() which may deletes the recovered file
In reset_nlink(), we believe rec->found_link as accurate number of the
valid links. However it only records the number of found DIR_ITEM, so we
can't use it as reliable value.

Before this patch, in some case, leaf corruption recovery will believe
there is a valid backref but don't add_link() since it can't find any
valid one and don't put it into the lost+found dir.
So the recovered inode will be considered as an orphan item without
orphan item and repair_inode_orphan_item() will add orphan item for it,
causing all the filename/filetype we recovered being a waste of time.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-29 17:13:41 +01:00
Satoru Takeuchi 44d3ee3e1f btrfs-progs fix wrong memory free on check_is_root
When "/" is Btrfs, "btrfs property <subcommand> /" regards it
as non-root by mistake.

check_is_root() regards @object as a file system root if
the following two conditions are satisfied.

 a) Both @object and its parent directory are Btrfs object
    (file system root, subvolume, inode, and device
    used for Btrfs).
 b) fsid of the above mentioned two objects are different.

It doesn't work if @object is "/" because, in this case,
fsid of "/" and its parent (it's also "/"), are the same.

* Test environment

Two Btrfs file system (not subvolume) "/" and "/home/sat/mnt".

* How to reproduce

Submit "btrfs prop get" against the above mentioned file systems.

* Test Result

** Actual result (without my patch)

==========================
ro=false
label=                 # label is displayed because it's a file system root
ro=false               # label is not displayed even if it's a file system root
==========================
** Expected result (with my patch)

==========================
ro=false
label=
ro=false
label=foo            # label is displayed
===========================

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Reported-by: Naohiro Aota <naota@elisp.net>
Reviewed-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-22 18:34:23 +01:00
David Sterba fb7ddc498f btrfs-progs: let btrfs_free_path accept NULL
Same in kernel and matches semantics of free().

Resolves-Coverity-CID: 1054881
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 18:04:28 +01:00
David Sterba c4ca5c5f3f btrfs-progs: check allocation result in add_clone_source
Resolves-Coverity-CID: 1054894
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 18:04:25 +01:00
David Sterba 34350d11c1 btrfs-progs: check result of first_cache_extent
If the tree's empty, we'll get NULL and dereference it.

Resolves-Coverity-CID: 1248828
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 18:04:23 +01:00
David Sterba db0981936c btrfs-progs: fragments, close output file on error
Resolves-Coverity-CID: 1258794
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 18:04:21 +01:00
David Sterba fbd8e04f4b btrfs-progs: corrupt block, add break after option U
Resolves-Coverity-CID: 1258793
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 18:04:18 +01:00
David Sterba 814857f9e1 btrfs-progs: corrupt block, add missing break to option I
Using -I would imply -d.

Resolves-Coverity-CID: 1258792
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 18:04:15 +01:00
David Sterba 3f22699030 btrfs-progs: move contents of math.h to utils.h and delete
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 15:31:00 +01:00
Satoru Takeuchi 0e4e1b1ed9 btrfs-progs: cleanup: avoid to use literal for getopt val
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 15:07:02 +01:00
Satoru Takeuchi ca8638eae3 btrfs-progs: Enhance the document of btrfs property
Enhance the document of btrfs property as follows.

- Add the description about the candidates of <name>.
- Enrich the description of <object>.
- Fix typos and some redundancy.

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Reported-by: Naohiro Aota <naota@elisp.net>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 15:06:26 +01:00
Qu Wenruo 08efa54a6e btrfs-progs: Remove deprecated _BSD_SOURCE macro.
Fix the following gcc(>4.9) and clang warning:

In file included from cmds-receive.c:24:
In file included from ./kerncompat.h:22:
In file included from /usr/include/stdio.h:27:
/usr/include/features.h:148:3: warning: "_BSD_SOURCE and _SVID_SOURCE
are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
  ^
1 warning generated.

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>
2014-12-19 15:05:06 +01:00
Qu Wenruo 97bf00f595 btrfs-progs: Remove a unused function offset_to_bitmap()
Fix the following clang warning:

free-space-cache.c:464:19: warning: unused function 'offset_to_bitmap'
[-Wunused-function]
static inline u64 offset_to_bitmap(struct btrfs_free_space_ctl *ctl,
                  ^
1 warning generated.

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>
2014-12-19 15:05:01 +01:00
Qu Wenruo fc42d7f1df btrfs-progs: Remove a unused function root_gtp_mask().
Fix the following clang warning when compiling btrfs-progs:

radix-tree.c:78:21: warning: unused function 'root_gfp_mask'
[-Wunused-function]
static inline gfp_t root_gfp_mask(struct radix_tree_root *root)
                    ^
1 warning generated.

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>
2014-12-19 15:04:56 +01:00
Qu Wenruo e363f6ba09 btrfs-progs: Fix a clang dead-judgement warning in disk-io.c.
When compiled with clang, the following warning is outputted.

disk-io.c:1017:15: warning: comparison of unsigned expression < 0 is
always false [-Wtautological-compare]
        if (dev_size < 0)
            ~~~~~~~~ ^ ~
1 warning generated.

This is because dev_size is defined as unsigned type, but lseek() will
return singed valued.
So the judgement will always to false.

Use temporary off_t return value to solve 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>
2014-12-19 15:04:50 +01:00
Qu Wenruo 040b3f11ba btrfs-progs: Makefile: Move linker only option to LDFLAGS
Move the linker only option -rdynamic to LDFLAGS.
This resolve lots of the following warning if using clang as CC:
clang: warning: argument unused during compilation: '-rdynamic'

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>
2014-12-19 15:04:43 +01:00
David Sterba bae5edfde8 btrfs-progs: remove false dependency on libm
It ends up in the final binary, but there are not math functions used.

Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-19 14:59:22 +01:00
Merlijn Wajer c2691f807d btrfs-progs: disable backtrace and define __always_inline
Disable backtrace and define __always_inline when glibc is not used as
libc. This, together with some header changes allows btrfs-progs to
compile with musl-libc.

Signed-off-by: Merlijn Wajer <merlijn@wizzup.org>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 18:28:34 +01:00
Merlijn Wajer c69854247b btrfs-progs: include headers required for musl-libc
This fixes various compilation errors where PATH_MAX and XATTR_SIZE_MAX
were missing. To my knowledge, this should have no bad side effects.

Signed-off-by: Merlijn Wajer <merlijn@wizzup.org>
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 18:22:06 +01:00
Qu Wenruo 501c8eeda2 btrfs-progs: Add testcase for leaf-corrupted btrfsck repairing.
Add testcase for leaf-corrupted btrfsck repairing using the new
generate_image.sh method.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
2014-12-18 17:30:53 +01:00
Josef Bacik 2ac6d5a76b Btrfs-progs: add two new test images
This adds two new test images

1) 008-bad-offset-snapshots.  This has a corrupt item with multiple snapshots
pointing to it, to make sure the bad block repair stuff doesn't loop and
actually repairs stuff.  It also requires the dir index repair stuff to pass our
built in tests which is why it's not tied to the same commit.

2) 009-bad-dir-index-name.img. This has a corrupt name in a dir index to make
sure our dir index repair stuff is working properly.

Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
2014-12-18 17:28:02 +01:00
David Sterba a6b4a7aea0 btrfs-progs: check, update documentation
Add recently added options to manpage, a few other rewordings.

Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 16:04:10 +01:00
David Sterba 182f41909f btrfs-progs: unify unit mode parameters and variables
Use unsigned type and a common name everywhere.

Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 15:24:45 +01:00
David Sterba 50662b3100 btrfs-progs: dev usage, update manpage
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 15:24:45 +01:00
David Sterba abef6fd343 btrfs-progs: dev usage, add switches to set output units
Same set of options as 'fi df': binary and decimal bases, human readable
options etc.

Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 15:24:45 +01:00
David Sterba 488c53a0e5 btrfs-progs: fi usage, update manpage
Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 15:24:45 +01:00
David Sterba 14e5f687fb btrfs-progs: fi usage, add switches to set output units
Same set of options as 'fi df': binary and decimal bases, human readable
options etc.

Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-18 15:23:57 +01:00
David Sterba 8e27f8ee91 btrfs-progs: fi usage, change option for tabular output to T
We're going to use -t for tera- units prefix, same as 'fi df' does.

Signed-off-by: David Sterba <dsterba@suse.cz>
2014-12-17 18:13:48 +01:00