platform/upstream/btrfs-progs.git
7 years agobtrfs-progs: remove unused argument from btrfs_add_system_chunk
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from btrfs_add_system_chunk

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from set_extent_bits
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from set_extent_bits

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from clear_extent_bits
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from clear_extent_bits

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused function wait_on_tree_block_writeback
David Sterba [Thu, 9 Feb 2017 17:01:31 +0000 (18:01 +0100)]
btrfs-progs: remove unused function wait_on_tree_block_writeback

This used to be a kernel stub but has been removed from kernel long time
ago.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from btrfs_lookup_inode_ref
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from btrfs_lookup_inode_ref

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from free_chunk_item
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from free_chunk_item

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from write_and_map_eb
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from write_and_map_eb

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from setup_inline_extent_backref
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from setup_inline_extent_backref

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from extent_data_ref_count
David Sterba [Thu, 9 Feb 2017 16:42:02 +0000 (17:42 +0100)]
btrfs-progs: remove unused argument from extent_data_ref_count

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused argument from btrfs_csum_data
David Sterba [Thu, 9 Feb 2017 16:39:44 +0000 (17:39 +0100)]
btrfs-progs: remove unused argument from btrfs_csum_data

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused parameter from truncate_one_csum
David Sterba [Thu, 9 Feb 2017 16:32:05 +0000 (17:32 +0100)]
btrfs-progs: remove unused parameter from truncate_one_csum

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: opencode trivial helper btrfs_free_transaction
David Sterba [Thu, 9 Feb 2017 16:24:50 +0000 (17:24 +0100)]
btrfs-progs: opencode trivial helper btrfs_free_transaction

It also does not exist in kernel code.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: remove unused helpers from ctree.h
David Sterba [Thu, 9 Feb 2017 16:23:05 +0000 (17:23 +0100)]
btrfs-progs: remove unused helpers from ctree.h

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: shared: cleanup includes in ulist.c
David Sterba [Thu, 9 Feb 2017 15:54:17 +0000 (16:54 +0100)]
btrfs-progs: shared: cleanup includes in ulist.c

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: shared: remove debug code from ulist
David Sterba [Thu, 9 Feb 2017 15:21:04 +0000 (16:21 +0100)]
btrfs-progs: shared: remove debug code from ulist

Sync with kernel sources, we don't define CONFIG_BTRFS_DEBUG in
userspace anyway.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: shared: copy ulist_del from kernel
David Sterba [Thu, 9 Feb 2017 15:16:02 +0000 (16:16 +0100)]
btrfs-progs: shared: copy ulist_del from kernel

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move ulist.[ch] to kernel-shared
David Sterba [Thu, 9 Feb 2017 15:13:14 +0000 (16:13 +0100)]
btrfs-progs: move ulist.[ch] to kernel-shared

The implementation of ulist_* is same for kernel and userspace, without
dependencies, so we can keep it separately for code sync.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move prefixcmp helper to utils
David Sterba [Thu, 9 Feb 2017 14:20:16 +0000 (15:20 +0100)]
btrfs-progs: move prefixcmp helper to utils

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: Remove unused function arg in delete_extent_records
Goldwyn Rodrigues [Fri, 3 Feb 2017 16:15:32 +0000 (10:15 -0600)]
btrfs-progs: Remove unused function arg in delete_extent_records

new_len is not used in delete_extent_records().

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: better document btrfs receive security
Austin S. Hemmelgarn [Fri, 3 Feb 2017 19:38:05 +0000 (14:38 -0500)]
btrfs-progs: better document btrfs receive security

This adds some extra documentation to the btrfs-receive manpage that
explains some of the security related aspects of btrfs-receive.  The
first part covers the fact that the subvolume being received is writable
until the receive finishes, and the second covers the current lack of
sanity checking of the send stream.

Signed-off-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>
Suggested-by: Graham Cobb <g.btrfs@cobb.uk.net>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: drop unused argument from btrfs_del_ptr
David Sterba [Thu, 2 Feb 2017 12:38:44 +0000 (13:38 +0100)]
btrfs-progs: drop unused argument from btrfs_del_ptr

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: drop unused argument from btrfs_extend_item
David Sterba [Thu, 2 Feb 2017 12:38:44 +0000 (13:38 +0100)]
btrfs-progs: drop unused argument from btrfs_extend_item

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: drop unused argument from btrfs_truncate_item
David Sterba [Thu, 2 Feb 2017 12:38:44 +0000 (13:38 +0100)]
btrfs-progs: drop unused argument from btrfs_truncate_item

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: docs: fix typo in receive man page
Jonathan Boulle [Fri, 27 Jan 2017 17:08:26 +0000 (18:08 +0100)]
btrfs-progs: docs: fix typo in receive man page

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move message helpers implementation out of header
David Sterba [Wed, 1 Feb 2017 15:20:23 +0000 (16:20 +0100)]
btrfs-progs: move message helpers implementation out of header

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move message helpers out of utils
David Sterba [Wed, 1 Feb 2017 15:14:06 +0000 (16:14 +0100)]
btrfs-progs: move message helpers out of utils

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move utils code out of header
David Sterba [Wed, 1 Feb 2017 15:09:47 +0000 (16:09 +0100)]
btrfs-progs: move utils code out of header

There are not performance critical static inlines, we can do the normal
declaration/definition split for various helpers.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: improve assert in make_convert_btrfs
David Sterba [Wed, 1 Feb 2017 14:41:06 +0000 (15:41 +0100)]
btrfs-progs: convert: improve assert in make_convert_btrfs

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: rename members that clash with other functions
David Sterba [Wed, 1 Feb 2017 14:06:04 +0000 (15:06 +0100)]
btrfs-progs: convert: rename members that clash with other functions

Rename 'free' and also 'used' for consistency.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: use const char for label
David Sterba [Wed, 1 Feb 2017 13:27:24 +0000 (14:27 +0100)]
btrfs-progs: mkfs: use const char for label

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: make make_cfg::blocks an internal member
David Sterba [Wed, 1 Feb 2017 13:25:18 +0000 (14:25 +0100)]
btrfs-progs: mkfs: make make_cfg::blocks an internal member

The caller of make_btrfs does not need to set it, it's for internal use
and can be read after mkfs ends.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: describe fields of btrfs_mkfs_config
David Sterba [Wed, 1 Feb 2017 13:17:12 +0000 (14:17 +0100)]
btrfs-progs: mkfs: describe fields of btrfs_mkfs_config

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: clear whole mkfs_cfg at once
David Sterba [Wed, 1 Feb 2017 13:15:08 +0000 (14:15 +0100)]
btrfs-progs: mkfs: clear whole mkfs_cfg at once

Zero out the structure and set only the requested fields.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: remove unused variables from docs makefile
David Sterba [Wed, 1 Feb 2017 12:37:42 +0000 (13:37 +0100)]
btrfs-progs: build: remove unused variables from docs makefile

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: use MAKEOPTS where missing
David Sterba [Wed, 1 Feb 2017 12:23:04 +0000 (13:23 +0100)]
btrfs-progs: build: use MAKEOPTS where missing

$(MAKE) should also use MAKEOPTS.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: drop deprecated utility from test dependencies
David Sterba [Wed, 1 Feb 2017 10:53:21 +0000 (11:53 +0100)]
btrfs-progs: build: drop deprecated utility from test dependencies

Standalone btrfs-debug-tree has been superseded by
'btrfs inspect-internal dump-tree'.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move internal bg size definition
David Sterba [Wed, 1 Feb 2017 10:42:01 +0000 (11:42 +0100)]
btrfs-progs: convert: move internal bg size definition

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: rename ext2 function to create a symlink
David Sterba [Tue, 31 Jan 2017 10:08:09 +0000 (11:08 +0100)]
btrfs-progs: convert: rename ext2 function to create a symlink

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move mkfs helper implementation out of utils
David Sterba [Tue, 31 Jan 2017 22:13:54 +0000 (23:13 +0100)]
btrfs-progs: move mkfs helper implementation out of utils

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move more mkfs declarations to the common header
David Sterba [Tue, 31 Jan 2017 22:13:54 +0000 (23:13 +0100)]
btrfs-progs: move more mkfs declarations to the common header

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: kerncompat: print trace from ASSERT, if enabled
David Sterba [Tue, 31 Jan 2017 19:34:27 +0000 (20:34 +0100)]
btrfs-progs: kerncompat: print trace from ASSERT, if enabled

Commit bc2d4ccc46e2807964c74ce805fb6405ca2bc842 "btrfs-progs:
kerncompat: disconnect assert and warning messages" forgot to add the
print_trace call to assert_trace.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: build library by default
David Sterba [Mon, 30 Jan 2017 17:15:31 +0000 (18:15 +0100)]
btrfs-progs: build: build library by default

Add a convenience rule and build the library by default, not just at the
installation phase.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: add stub makefile to convert
David Sterba [Mon, 30 Jan 2017 17:00:39 +0000 (18:00 +0100)]
btrfs-progs: build: add stub makefile to convert

A shortcut to compile btrfs-convert from inside the directory.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use bit field for convert flags
David Sterba [Mon, 30 Jan 2017 16:52:15 +0000 (17:52 +0100)]
btrfs-progs: convert: use bit field for convert flags

Use one flag field instead of several variables. The change cascades
down to the callchain and modifies several functions.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use helper for special inode number check
David Sterba [Mon, 30 Jan 2017 16:14:03 +0000 (17:14 +0100)]
btrfs-progs: convert: use helper for special inode number check

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: better error handling in ext2_read_used_space
David Sterba [Mon, 30 Jan 2017 15:58:57 +0000 (16:58 +0100)]
btrfs-progs: convert: better error handling in ext2_read_used_space

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: remove unused includes
David Sterba [Mon, 30 Jan 2017 15:52:07 +0000 (16:52 +0100)]
btrfs-progs: convert: remove unused includes

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use on-stack buffer for subvol name dir
David Sterba [Mon, 30 Jan 2017 13:20:30 +0000 (14:20 +0100)]
btrfs-progs: convert: use on-stack buffer for subvol name dir

Get rid of dynamic allocation.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use fixed lenght array for source fs name
David Sterba [Mon, 30 Jan 2017 13:11:19 +0000 (14:11 +0100)]
btrfs-progs: convert: use fixed lenght array for source fs name

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move struct initialization to the init function
David Sterba [Mon, 30 Jan 2017 12:41:36 +0000 (13:41 +0100)]
btrfs-progs: convert: move struct initialization to the init function

The context is zeroed in convert_open_fs after and overwrites the rbtree
initialization, which accidentally is the same (NULL).

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: add rule for building cscope index
David Sterba [Mon, 30 Jan 2017 12:29:22 +0000 (13:29 +0100)]
btrfs-progs: build: add rule for building cscope index

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: split makefile to generated and stable parts
David Sterba [Mon, 30 Jan 2017 10:04:16 +0000 (11:04 +0100)]
btrfs-progs: build: split makefile to generated and stable parts

It's not really necessary to configure and regenerate Makefiles in cases
like adding a new source file. The build environment and optional
features are not affected by that.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: add rule for ctags
David Sterba [Mon, 30 Jan 2017 09:49:55 +0000 (10:49 +0100)]
btrfs-progs: build: add rule for ctags

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: update some forward declarations
David Sterba [Mon, 30 Jan 2017 09:36:16 +0000 (10:36 +0100)]
btrfs-progs: convert: update some forward declarations

Add missing and reorder so they come next to the structures using them.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use wider types types for inode counts for progress reports
David Sterba [Mon, 30 Jan 2017 09:33:01 +0000 (10:33 +0100)]
btrfs-progs: convert: use wider types types for inode counts for progress reports

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: make list of source fs more visible
David Sterba [Mon, 30 Jan 2017 09:11:22 +0000 (10:11 +0100)]
btrfs-progs: mkfs: make list of source fs more visible

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: remove directory-specific include paths
David Sterba [Fri, 27 Jan 2017 18:12:08 +0000 (19:12 +0100)]
btrfs-progs: build: remove directory-specific include paths

The convert and image utilities used include, but we specify the headers
by path relative to the toplevel directory for clarity. The compiler
option is not needed.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: use target deps on commandline via automatic variable
David Sterba [Fri, 27 Jan 2017 18:09:05 +0000 (19:09 +0100)]
btrfs-progs: build: use target deps on commandline via automatic variable

The dependencies are duplicated in many targets, but we can use the $^
variable to simplify the command line.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: replace target names with automatic variable
David Sterba [Fri, 27 Jan 2017 18:00:10 +0000 (19:00 +0100)]
btrfs-progs: build: replace target names with automatic variable

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: reorder target dependencies
David Sterba [Fri, 27 Jan 2017 17:50:56 +0000 (18:50 +0100)]
btrfs-progs: build: reorder target dependencies

Reorder target dependencies:

1) target-specific objects
2) common objects
3) library objects
4) static libraries

1-3 are for faster detection of build failures, the specific objects
reflect changes to the source, but otherwise is only a cosmetic change.
The 4 is for correct order during linking, if we'd use the $^ variable.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: split LIBS
David Sterba [Fri, 27 Jan 2017 17:34:51 +0000 (18:34 +0100)]
btrfs-progs: build: split LIBS

Not all the build targets use all libs listed in LIBS, separate the
common and compression ones.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: list mkfs.btrfs build objects in a variable
David Sterba [Fri, 27 Jan 2017 16:55:25 +0000 (17:55 +0100)]
btrfs-progs: build: list mkfs.btrfs build objects in a variable

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: build: list convert build objects in a variable
David Sterba [Fri, 27 Jan 2017 16:55:25 +0000 (17:55 +0100)]
btrfs-progs: build: list convert build objects in a variable

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move implementation for interal conversion API to own file
David Sterba [Fri, 27 Jan 2017 14:47:17 +0000 (15:47 +0100)]
btrfs-progs: convert: move implementation for interal conversion API to own file

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move ext2 conversion out of main.c
David Sterba [Fri, 27 Jan 2017 15:56:37 +0000 (16:56 +0100)]
btrfs-progs: convert: move ext2 conversion out of main.c

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move ext2 definitions out of main
David Sterba [Fri, 27 Jan 2017 15:51:03 +0000 (16:51 +0100)]
btrfs-progs: convert: move ext2 definitions out of main

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move definitions for interal conversion API to own file
David Sterba [Fri, 27 Jan 2017 14:47:17 +0000 (15:47 +0100)]
btrfs-progs: convert: move definitions for interal conversion API to own file

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move fs features implementation to own file
David Sterba [Thu, 26 Jan 2017 12:27:58 +0000 (13:27 +0100)]
btrfs-progs: move fs features implementation to own file

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move fs features declarations to own header from utils
David Sterba [Thu, 26 Jan 2017 12:13:36 +0000 (13:13 +0100)]
btrfs-progs: move fs features declarations to own header from utils

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: move common api implementation to own file
David Sterba [Wed, 25 Jan 2017 16:21:02 +0000 (17:21 +0100)]
btrfs-progs: convert: move common api implementation to own file

Lots of moved code but no actual changes.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: move common api implementation to own file
David Sterba [Wed, 25 Jan 2017 16:21:02 +0000 (17:21 +0100)]
btrfs-progs: mkfs: move common api implementation to own file

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move convert definitions to own header
David Sterba [Wed, 25 Jan 2017 16:09:10 +0000 (17:09 +0100)]
btrfs-progs: move convert definitions to own header

Create a header for filesystem conversion API, the config and the main
entry function.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move mkfs definitions to own header
David Sterba [Wed, 25 Jan 2017 15:54:35 +0000 (16:54 +0100)]
btrfs-progs: move mkfs definitions to own header

Create a header for filesystem creation API, the config and the main
entry function.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move some common definitions to own header
David Sterba [Wed, 25 Jan 2017 15:54:35 +0000 (16:54 +0100)]
btrfs-progs: move some common definitions to own header

Start a header for various defines that are supposed to be used in any
context or subpart.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move help implemetnation to own file
David Sterba [Wed, 25 Jan 2017 15:35:00 +0000 (16:35 +0100)]
btrfs-progs: move help implemetnation to own file

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: move help defines to own header
David Sterba [Wed, 25 Jan 2017 15:35:00 +0000 (16:35 +0100)]
btrfs-progs: move help defines to own header

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: find-root: rename usage helper
David Sterba [Wed, 25 Jan 2017 15:23:24 +0000 (16:23 +0100)]
btrfs-progs: find-root: rename usage helper

This would clash with the generic usage from commands.h.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: Introduce macro to calculate backup superblock offset
Qu Wenruo [Tue, 24 Jan 2017 03:03:06 +0000 (11:03 +0800)]
btrfs-progs: Introduce macro to calculate backup superblock offset

Introduce a new macro, BTRFS_SB_OFFSET() to calculate backup superblock
offset, this is handy if one wants to initialize static array at
declaration time.

Suggested-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: Introduce kernel sizes to cleanup large intermediate number
Qu Wenruo [Tue, 24 Jan 2017 03:03:05 +0000 (11:03 +0800)]
btrfs-progs: Introduce kernel sizes to cleanup large intermediate number

Large numbers like (1024 * 1024 * 1024) may cost reader/reviewer to
waste one second to convert to 1G.

Introduce kernel include/linux/sizes.h to replace any intermediate
number larger than 4096 (not including 4096) to SZ_*.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: introduce global config
David Sterba [Mon, 21 Nov 2016 12:52:01 +0000 (13:52 +0100)]
btrfs-progs: introduce global config

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agoBtrfs progs v4.9.1
David Sterba [Fri, 27 Jan 2017 14:15:59 +0000 (15:15 +0100)]
Btrfs progs v4.9.1

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: update CHANGES for v4.9.1
David Sterba [Wed, 25 Jan 2017 09:14:32 +0000 (10:14 +0100)]
btrfs-progs: update CHANGES for v4.9.1

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs/convert: separate the convert part from make_btrfs
David Sterba [Tue, 24 Jan 2017 18:36:15 +0000 (19:36 +0100)]
btrfs-progs: mkfs/convert: separate the convert part from make_btrfs

The regulare mkfs_btrfs does not anything special about convert and just
passes the arguments. Make that two functions.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: use built binaries for 004-send-parent-multi-subvol
David Sterba [Tue, 24 Jan 2017 17:19:27 +0000 (18:19 +0100)]
btrfs-progs: tests: use built binaries for 004-send-parent-multi-subvol

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add variable quotation to cli-tests
David Sterba [Tue, 24 Jan 2017 16:59:47 +0000 (17:59 +0100)]
btrfs-progs: tests: add variable quotation to cli-tests

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add test for --sync option of qgroup show
Tsutomu Itoh [Thu, 15 Dec 2016 04:33:05 +0000 (13:33 +0900)]
btrfs-progs: tests: add test for --sync option of qgroup show

Simple test script for the following patch.

   btrfs-progs: qgroup: add sync option to 'qgroup show'

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroup show: do not error if sync fails
David Sterba [Tue, 24 Jan 2017 16:46:10 +0000 (17:46 +0100)]
btrfs-progs: qgroup show: do not error if sync fails

The sync call is unlikely to fail so we optimistically turn it to a
warning if that happens so we return inaccurate numbers instead of a
hard exit.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroup: change the value of sort option
Tsutomu Itoh [Thu, 15 Dec 2016 04:30:55 +0000 (13:30 +0900)]
btrfs-progs: qgroup: change the value of sort option

The value of sort option ('S') is not used for option letter.
Therefore, I'll change the single letter to non-character.

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroup: add sync option to 'qgroup show'
Tsutomu Itoh [Thu, 15 Dec 2016 04:29:28 +0000 (13:29 +0900)]
btrfs-progs: qgroup: add sync option to 'qgroup show'

The 'qgroup show' command does not synchronize filesystem.
Therefore, 'qgroup show' may not display the correct value unless
synchronized with 'filesystem sync' command etc.

So add the '--sync' option so that we can choose whether or not
to synchronize when executing the command.

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: kerncompat: simplify warning_trace
David Sterba [Tue, 24 Jan 2017 15:05:24 +0000 (16:05 +0100)]
btrfs-progs: kerncompat: simplify warning_trace

The value of assertion is always set.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: kerncompat: disconnect assert and warning messages
David Sterba [Tue, 24 Jan 2017 15:02:44 +0000 (16:02 +0100)]
btrfs-progs: kerncompat: disconnect assert and warning messages

The assertion and warn/bug have reversed condition checks, using the
same helpers drops the exact value, so we'll print the message directly
without the helpers.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: kerncompat: pass exact condition value from ASSERT
David Sterba [Tue, 24 Jan 2017 12:17:25 +0000 (13:17 +0100)]
btrfs-progs: kerncompat: pass exact condition value from ASSERT

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: kerncompat: add separate trace print for BUG_ON
David Sterba [Tue, 24 Jan 2017 12:15:41 +0000 (13:15 +0100)]
btrfs-progs: kerncompat: add separate trace print for BUG_ON

We want to pass unmodified condition down to the handlers so we can't
use assert_trace for that purpose.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: Fix disable backtrace assert error
Qu Wenruo [Thu, 19 Jan 2017 04:00:03 +0000 (12:00 +0800)]
btrfs-progs: Fix disable backtrace assert error

Due to commit 00e769d04c2c83029d6c71(btrfs-progs: Correct value printed
by assertions/BUG_ON/WARN_ON), which changed the assert_trace()
parameter, the condition passed to assert/WARN_ON/BUG_ON are logical
notted for backtrace enabled and disabled case.

Such behavior makes us easier to pass value wrong, and in fact it did
cause us to pass wrong condition for ASSERT().

Instead of passing different conditions for ASSERT/WARN_ON/BUG_ON()
manually, this patch will use ASSERT() to implement the resting
ASSERT/WARN_ON/BUG() for disable backtrace case, and use assert_trace()
to implement ASSERT() and BUG_ON(), to allow them to print correct
value.

Also, move WARN_ON() out of the ifdef branch, as it's completely the
same for both branches.

Cc: Goldwyn Rodrigues <rgoldwyn@suse.de>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: quota: fix printing during wait mode
Jeff Mahoney [Wed, 18 Jan 2017 01:56:39 +0000 (20:56 -0500)]
btrfs-progs: quota: fix printing during wait mode

If we call "btrfs quota rescan -w", it will attempt to start the rescan
operation, wait for it, and then print the "quota rescan started" message.
The wait could last an arbitrary amount of time, so printing it after
the wait isn't very helpful.

This patch reworks how we print the rescan started message as well as the
printing of the messages, including adding an error message for status
query failures (which could be EPERM/EFAULT/ENOMEM, not just no rescan
in progress) and wait failures.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: sanitize - Use correct source for memcpy
Goldwyn Rodrigues [Fri, 20 Jan 2017 19:03:33 +0000 (13:03 -0600)]
btrfs-progs: sanitize - Use correct source for memcpy

While performing a memcpy, we are copying from uninitialized dst
as opposed to src->data. Though using eb->len is correct, I used
src->len to make it more readable.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: fix false alert on dropped leaf in lowmem mode
Qu Wenruo [Wed, 18 Jan 2017 05:21:07 +0000 (13:21 +0800)]
btrfs-progs: check: fix false alert on dropped leaf in lowmem mode

For btrfs-progs test case 021-partially-dropped-snapshot-case, if the
first leaf is already dropped, btrfs check low-memory mode will report
false alert:

checking fs roots
checksum verify failed on 29917184 found E4E3BDB6 wanted 00000000
checksum verify failed on 29917184 found E4E3BDB6 wanted 00000000
checksum verify failed on 29917184 found E4E3BDB6 wanted 00000000
checksum verify failed on 29917184 found E4E3BDB6 wanted 00000000

This is caused by we are calling check_fs_first_inode() function,
unlike the rest part of check_fs_root_v2(), it doesn't have enough check
on dropping progress, and caused the false alert.

Fix it by checking dropping progress before searching slot.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: 005-qgroup-show
David Sterba [Fri, 20 Jan 2017 16:54:04 +0000 (17:54 +0100)]
btrfs-progs: tests: 005-qgroup-show

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroup show: refine error messages
David Sterba [Fri, 20 Jan 2017 16:52:12 +0000 (17:52 +0100)]
btrfs-progs: qgroup show: refine error messages

When qgroup show is called on a filesystem that does not have quotas
enabled, the error message is very unclear:

  ERROR: can't perform the search - No such file or directory
  ERROR: can't list qgroups: No such file or director

Remove the error from low level helper and let the command handler
decide what to print.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroups show: clean up errno passing
David Sterba [Fri, 20 Jan 2017 16:41:55 +0000 (17:41 +0100)]
btrfs-progs: qgroups show: clean up errno passing

We should use return value for errors, not errno.

Signed-off-by: David Sterba <dsterba@suse.com>