platform/upstream/btrfs-progs.git
7 years agobtrfs-progs: ioctl: fix compilation if ioctl.h is included standalone
David Sterba [Mon, 14 Nov 2016 15:43:15 +0000 (16:43 +0100)]
btrfs-progs: ioctl: fix compilation if ioctl.h is included standalone

Definition of NULL is missing if ioctl.h is included standalone or when
no other include pulls the definition.

Reported-by: Sergei Trofimovich <slyich@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: return best entry, if it is the first one
Goldwyn Rodrigues [Thu, 10 Nov 2016 15:01:46 +0000 (09:01 -0600)]
btrfs-progs: return best entry, if it is the first one

The find_most_right_entry() tends to miss on the best entry if it is the
first one on the list and there are only two entries in the list.  So,
we assign both prev and best to entry.

To do this, the selection process (rather the rejection) has to be
performed earlier to skip on broken==count.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: utils: Fix NULL pointer derefernces in string_is_numerical
Qu Wenruo [Mon, 24 Oct 2016 02:43:34 +0000 (10:43 +0800)]
btrfs-progs: utils: Fix NULL pointer derefernces in string_is_numerical

In get_running_kernel_version() function, we directly pass return
pointer from strtok_r() to string_is_numerical().

Return pointer from strok_r() can be NULL, but string_is_numerical()
can't handle it and will cause NULL pointer derefernces.

Fix it by check if it's a NULL pointer first.

Resolves-Coverity-CID: 1374097
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agoBtrfs progs v4.8.3
David Sterba [Fri, 11 Nov 2016 15:28:18 +0000 (16:28 +0100)]
Btrfs progs v4.8.3

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: update CHANGES for v4.8.3
David Sterba [Wed, 9 Nov 2016 14:07:35 +0000 (15:07 +0100)]
btrfs-progs: update CHANGES for v4.8.3

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: enhance run_mayfail description comment
David Sterba [Fri, 11 Nov 2016 12:36:27 +0000 (13:36 +0100)]
btrfs-progs: tests: enhance run_mayfail description comment

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add quotation around variables in support scripts
David Sterba [Fri, 11 Nov 2016 09:12:05 +0000 (10:12 +0100)]
btrfs-progs: tests: add quotation around variables in support scripts

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add quotation around variables in common.convert
David Sterba [Fri, 11 Nov 2016 09:12:05 +0000 (10:12 +0100)]
btrfs-progs: tests: add quotation around variables in common.convert

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add quotes around variables in common
David Sterba [Fri, 11 Nov 2016 09:04:26 +0000 (10:04 +0100)]
btrfs-progs: tests: add quotes around variables in common

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add path assertions to post-checks
David Sterba [Fri, 11 Nov 2016 07:40:21 +0000 (08:40 +0100)]
btrfs-progs: tests: add path assertions to post-checks

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add assertion helper
David Sterba [Fri, 11 Nov 2016 00:18:49 +0000 (01:18 +0100)]
btrfs-progs: tests: add assertion helper

Helper to extend sanity checks in various functions.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: refactor post-convert check helpers
David Sterba [Fri, 11 Nov 2016 00:27:39 +0000 (01:27 +0100)]
btrfs-progs: tests: refactor post-convert check helpers

Separate checksum test from convert_test_post_check and use it to fix
the broken test 005 as reported.

References: https://bugzilla.kernel.org/show_bug.cgi?id=177141
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: check if kernel has btrfs support
David Sterba [Thu, 10 Nov 2016 17:57:38 +0000 (18:57 +0100)]
btrfs-progs: tests: check if kernel has btrfs support

Add some sanity checks, reported among other issues via bugzilla.

References: https://bugzilla.kernel.org/show_bug.cgi?id=177141
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: print the new UUID
David Sterba [Thu, 10 Nov 2016 17:23:01 +0000 (18:23 +0100)]
btrfs-progs: mkfs: print the new UUID

Unless the uuid is specified as the command line option, it's not
printed in the summary.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: add names of matching sysfs feature names
David Sterba [Tue, 9 Feb 2016 22:45:38 +0000 (23:45 +0100)]
btrfs-progs: mkfs: add names of matching sysfs feature names

The mkfs parameters do not match file names exported through sysfs.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: enhance feature table
David Sterba [Thu, 10 Nov 2016 16:23:17 +0000 (17:23 +0100)]
btrfs-progs: mkfs: enhance feature table

Add string and numeric version for later use so we don't have to convert
all the time.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: extend mkfs features with compat, safe and default versions
David Sterba [Tue, 9 Feb 2016 18:36:42 +0000 (19:36 +0100)]
btrfs-progs: mkfs: extend mkfs features with compat, safe and default versions

Enhance the mkfs_features list with the minimum kernel versions that
will allow for turning on compatible and/or safe options.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: add temporary variable for fs features
David Sterba [Thu, 10 Nov 2016 16:11:09 +0000 (17:11 +0100)]
btrfs-progs: mkfs: add temporary variable for fs features

A minor cleanup before other changes.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: Fix memory leak in write_raid56_with_parity
Qu Wenruo [Mon, 24 Oct 2016 02:43:32 +0000 (10:43 +0800)]
btrfs-progs: Fix memory leak in write_raid56_with_parity

Ebs and pointers are allocated, but if any of the allocation failed, we
should free the allocated memory.

Resolves-Coverity-CID: 1374101
Resolves-Coverity-CID: 1374100
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add checking of send multiple clone source option
Tsutomu Itoh [Wed, 9 Nov 2016 04:44:15 +0000 (13:44 +0900)]
btrfs-progs: tests: add checking of send multiple clone source option

Sending stream size of clone-src(-c) option is checked.
Fixed by "btrfs-progs: send: fix handling of -c option".

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: check for output file existence before creating
David Sterba [Mon, 7 Nov 2016 15:51:20 +0000 (16:51 +0100)]
btrfs-progs: send: check for output file existence before creating

In some cases the root might not be able to create the output file (and
streaming to stdout is not an option). Make the output file creation two
step and let it work if the file is already created.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: fix handling of -c option
Tsutomu Itoh [Fri, 4 Nov 2016 08:33:58 +0000 (17:33 +0900)]
btrfs-progs: send: fix handling of -c option

When two or more -c options are specified, cannot find a suitable
parent. So, output stream is bigger than correct one.

[before]
At subvol Snap1
At subvol Snap2
At subvol ../SnapY
-rw------- 1 root root 3153 Oct 19 10:37 /tmp/data1

[after]
At subvol Snap1
At subvol Snap2
At subvol ../SnapY
-rw------- 1 root root 1492 Oct 19 10:39 /tmp/data1

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
[ constify subvol argument, renamed single letter variables ]
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: teach extract_image about packed streams
David Sterba [Wed, 9 Nov 2016 10:39:02 +0000 (11:39 +0100)]
btrfs-progs: tests: teach extract_image about packed streams

Packed streams for testing purposes should be packed with 'xz -9' and
use suffix .stream.xz .

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: use correct type for device id iteration in get_fs_info
David Sterba [Mon, 7 Nov 2016 14:38:24 +0000 (15:38 +0100)]
btrfs-progs: use correct type for device id iteration in get_fs_info

Coverity reports (CID 1374096) that there's return value overflow of
ret from get_device_info, but this most likely cannot happen. There's
another minor issue where we use int to iterate over devids.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: crc32: use fallback implementation for unaligned buffers
David Sterba [Mon, 7 Nov 2016 12:58:51 +0000 (13:58 +0100)]
btrfs-progs: crc32: use fallback implementation for unaligned buffers

ASAN reports that at some point the crc function gets an unaligned
buffer. It's the optimized intel version that casts char to ulong, the
buffer is the embedded filename in the directory items.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: teach scan-results about more errors
David Sterba [Mon, 7 Nov 2016 12:21:34 +0000 (13:21 +0100)]
btrfs-progs: tests: teach scan-results about more errors

ASAN detects use after free.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: fix search tree v2 ioctl detection
David Sterba [Mon, 7 Nov 2016 12:02:00 +0000 (13:02 +0100)]
btrfs-progs: fix search tree v2 ioctl detection

The result of the test applies per-filesystem, so we can't simply cache
it. The function hasn't been used yet.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: fix unaligned u64 access in btrfs_alloc_data_chunk
David Sterba [Fri, 4 Nov 2016 14:11:54 +0000 (15:11 +0100)]
btrfs-progs: fix unaligned u64 access in btrfs_alloc_data_chunk

The key.offset member is not well-aligned as the key is packed, use a
temporary variable to pass the argument. Reported by ASAN in misc test
002.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: docs: update mkfs help string and manual page
David Sterba [Fri, 4 Nov 2016 13:13:15 +0000 (14:13 +0100)]
btrfs-progs: docs: update mkfs help string and manual page

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: simplify checks in directory_select
David Sterba [Fri, 4 Nov 2016 13:12:43 +0000 (14:12 +0100)]
btrfs-progs: mkfs: simplify checks in directory_select

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: btrfstune: use on-stack path buffer in change_devices_uuid
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: btrfstune: use on-stack path buffer in change_devices_uuid

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: btrfstune: use on-stack path buffer in change_extents_uuid
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: btrfstune: use on-stack path buffer in change_extents_uuid

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: chunk-recover: use on-stack path buffer in rebuild_block_group
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: chunk-recover: use on-stack path buffer in rebuild_block_group

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: remove unused variable in record_extent
David Sterba [Fri, 4 Nov 2016 10:54:46 +0000 (11:54 +0100)]
btrfs-progs: check: remove unused variable in record_extent

In a similar code, it's used for a message. Not used in this code since
the beggingin, safe to remove.

Resolves-coverity-id: 1364085
Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in find_first_dir
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in find_first_dir

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in do_list_roots
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in do_list_roots

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in search_dir
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in search_dir

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in copy_symlink
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in copy_symlink

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in copy_file
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in copy_file

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in copy_metadata
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in copy_metadata

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: restore: use on-stack path buffer in set_file_xattrs
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: restore: use on-stack path buffer in set_file_xattrs

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tree-stats: use on-stack path buffer in calc_root_size
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: tree-stats: use on-stack path buffer in calc_root_size

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in repair_root_items
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in repair_root_items

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in build_roots_info_cache
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in build_roots_info_cache

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_extent
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_extent

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_fs
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_fs

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_one_fs_root
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_one_fs_root

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in delete_bad_item
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in delete_bad_item

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in recow_extent_buffer
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in recow_extent_buffer

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in reset_balance
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in reset_balance

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in reset_block_groups
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in reset_block_groups

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in fixup_extent_flags
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in fixup_extent_flags

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in fixup_extent_refs
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in fixup_extent_refs

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in record_orphan_data_extents
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in record_orphan_data_extents

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in delete_duplicate_records
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in delete_duplicate_records

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in check_extent_exists
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in check_extent_exists

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in check_extent_csums
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in check_extent_csums

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in verify_space_cache
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in verify_space_cache

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in try_to_fix_bad_block
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in try_to_fix_bad_block

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in repair_btree
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in repair_btree

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in try_repair_inode
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in try_repair_inode

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in find_normal_file_extent
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in find_normal_file_extent

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in delete_dir_index
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in delete_dir_index

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: use on-stack path buffer in add_missing_dir_index
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: check: use on-stack path buffer in add_missing_dir_index

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert bitfield to separate variables in btrfs_path
David Sterba [Thu, 3 Nov 2016 16:09:16 +0000 (17:09 +0100)]
btrfs-progs: convert bitfield to separate variables in btrfs_path

We don't have that many bitfields that would save space.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroup: use on-stack path buffer in repair_qgroup_status
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: qgroup: use on-stack path buffer in repair_qgroup_status

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: qgroup: use on-stack path buffer in repair_qgroup_info
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: qgroup: use on-stack path buffer in repair_qgroup_info

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: utils: remove useless check in make_btrfs
David Sterba [Thu, 3 Nov 2016 15:27:04 +0000 (16:27 +0100)]
btrfs-progs: utils: remove useless check in make_btrfs

A leftover when fs_uuid was dynamically allocated, the condition was
always true, no functional change.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: fi du: don't redefine standard macro/function
David Sterba [Thu, 3 Nov 2016 15:24:05 +0000 (16:24 +0100)]
btrfs-progs: fi du: don't redefine standard macro/function

The macro dprintf is defined in stdio.h, rename it.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: dump-tree: use new names for obsoleted keys
David Sterba [Thu, 3 Nov 2016 12:21:19 +0000 (13:21 +0100)]
btrfs-progs: dump-tree: use new names for obsoleted keys

The DEV_STATS and BALANCE_ITEM have been deprecated in favor of more
general items, print the new names in the dump.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: image: use embedded array for metadump cluster buffer
David Sterba [Thu, 3 Nov 2016 00:23:18 +0000 (01:23 +0100)]
btrfs-progs: image: use embedded array for metadump cluster buffer

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: image: use fixed-size array for worker thread pointers
David Sterba [Wed, 2 Nov 2016 23:57:43 +0000 (00:57 +0100)]
btrfs-progs: image: use fixed-size array for worker thread pointers

No need to dynamically allocate the thread pointers.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: image: add symbolic constant for max thread count
David Sterba [Wed, 2 Nov 2016 23:53:43 +0000 (00:53 +0100)]
btrfs-progs: image: add symbolic constant for max thread count

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: image: use on-stack path buffer in fixup_devices
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: image: use on-stack path buffer in fixup_devices

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: image: use on-stack path buffer in create_metadump
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: image: use on-stack path buffer in create_metadump

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use on-stack path buffer in link_subvol
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: convert: use on-stack path buffer in link_subvol

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use on-stack path buffer in create_image
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: convert: use on-stack path buffer in create_image

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: convert: use on-stack path buffer in record_file_blocks
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: convert: use on-stack path buffer in record_file_blocks

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: use on-stack path buffer in cleanup_temp_chunks
David Sterba [Wed, 2 Nov 2016 23:37:51 +0000 (00:37 +0100)]
btrfs-progs: mkfs: use on-stack path buffer in cleanup_temp_chunks

We don't need to conserve stack space too much unlike kernel, also
remove one error condition.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: reduce size of btrfs_path::lowest_level
David Sterba [Thu, 3 Nov 2016 15:55:35 +0000 (16:55 +0100)]
btrfs-progs: reduce size of btrfs_path::lowest_level

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: reduce size of btrfs_path::reada
David Sterba [Thu, 3 Nov 2016 15:55:35 +0000 (16:55 +0100)]
btrfs-progs: reduce size of btrfs_path::reada

We use only a few values, reada accessed not in performance critical
contexts.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: reduce size of btrfs_path, locks are not used
David Sterba [Thu, 3 Nov 2016 15:49:30 +0000 (16:49 +0100)]
btrfs-progs: reduce size of btrfs_path, locks are not used

Size of btrfs_path can be reduced by 32 bytes as we don't use the locks
array, down to 112 from 144 bytes.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: constify some char parameters
David Sterba [Wed, 2 Nov 2016 23:02:29 +0000 (00:02 +0100)]
btrfs-progs: mkfs: constify some char parameters

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: mkfs: use const char for unmodified members of directory_name_entry
David Sterba [Wed, 2 Nov 2016 23:01:51 +0000 (00:01 +0100)]
btrfs-progs: mkfs: use const char for unmodified members of directory_name_entry

We never modify the members, just point them to other strings.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: reorder fields in inode_backref for better packing
David Sterba [Wed, 2 Nov 2016 15:50:47 +0000 (16:50 +0100)]
btrfs-progs: check: reorder fields in inode_backref for better packing

The structure size went from 56 bytes to 48, which could save some bytes
in larger scale.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: unify type for inode_backref::itemtype
David Sterba [Wed, 2 Nov 2016 15:37:09 +0000 (16:37 +0100)]
btrfs-progs: check: unify type for inode_backref::itemtype

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: check: unify type for inode_backref::filetype
David Sterba [Wed, 2 Nov 2016 15:37:09 +0000 (16:37 +0100)]
btrfs-progs: check: unify type for inode_backref::filetype

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: cleanup use of ctransid delta temporary variable in find_good_parent
David Sterba [Wed, 2 Nov 2016 13:59:07 +0000 (14:59 +0100)]
btrfs-progs: send: cleanup use of ctransid delta temporary variable in find_good_parent

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: cleanup, rename send context variables
David Sterba [Wed, 2 Nov 2016 13:14:56 +0000 (14:14 +0100)]
btrfs-progs: send: cleanup, rename send context variables

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: cleanup, rename some variables in dump_thread
David Sterba [Wed, 2 Nov 2016 13:07:53 +0000 (14:07 +0100)]
btrfs-progs: send: cleanup, rename some variables in dump_thread

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: clean types in write_buf
David Sterba [Wed, 2 Nov 2016 13:04:06 +0000 (14:04 +0100)]
btrfs-progs: send: clean types in write_buf

Use matching types for buffer, return value and buffer sizes.

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: use proper type for read result, and rename the variable
David Sterba [Wed, 2 Nov 2016 13:00:07 +0000 (14:00 +0100)]
btrfs-progs: send: use proper type for read result, and rename the variable

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: increase size of transfer buffer
David Sterba [Wed, 2 Nov 2016 12:27:45 +0000 (13:27 +0100)]
btrfs-progs: send: increase size of transfer buffer

4K is quite small, increase it to 64K. This reduces number of
context switches and calls to read. Kernel sends us about 50K of data
per read, so increasing the buffer further does not make any
improvement.

Example run on tests/cli-tests/004-send-parent-multi-subvol:
4K:
  - ~800 context switches
  - ~5000 calls to read

64K:
  - ~450 context switches
  - ~500 calls to read

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: send: constify some arugments
David Sterba [Wed, 2 Nov 2016 12:17:31 +0000 (13:17 +0100)]
btrfs-progs: send: constify some arugments

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: tests: add test for multi-subvolume send from parent
David Sterba [Wed, 2 Nov 2016 12:07:15 +0000 (13:07 +0100)]
btrfs-progs: tests: add test for multi-subvolume send from parent

Fixed by "btrfs-progs: send: fix handling of multiple snapshots (-p
option)".

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: dump-tree: convert dir-item-to-string to table
David Sterba [Wed, 2 Nov 2016 10:16:12 +0000 (11:16 +0100)]
btrfs-progs: dump-tree: convert dir-item-to-string to table

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: dump-tree: convert key-to-string to table
David Sterba [Wed, 2 Nov 2016 10:16:12 +0000 (11:16 +0100)]
btrfs-progs: dump-tree: convert key-to-string to table

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: dump-tree: cleanup types for item number iteration
David Sterba [Wed, 2 Nov 2016 09:52:25 +0000 (10:52 +0100)]
btrfs-progs: dump-tree: cleanup types for item number iteration

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: dump-tree: move remaining item variables to the scope of use
David Sterba [Wed, 2 Nov 2016 09:50:40 +0000 (10:50 +0100)]
btrfs-progs: dump-tree: move remaining item variables to the scope of use

Signed-off-by: David Sterba <dsterba@suse.com>
7 years agobtrfs-progs: dump-tree: move variable declarations closer to their use
David Sterba [Wed, 2 Nov 2016 09:48:08 +0000 (10:48 +0100)]
btrfs-progs: dump-tree: move variable declarations closer to their use

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