Development of userspace BTRFS tools
Find a file
David Sterba 123a2a0850 btrfs-progs: receive: restore capabilities after chown
Capabilities are cleared after chown, and the btrfs-stream encodes the
CHOWN command after any SET_XATTR command. So the capabilites are not
always preserved.

This could be fixed in kernel to emit the instructions in the right
order, but fix in userspace will make it work for older kernels.

If we see the capabilities among xattrs, cache the value and apply it
again in case it's followed by chown on that file.

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=68891
Reported-by: Juan Orti Alcaine <j.orti.alcaine@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-05-27 18:49:59 +02:00
Documentation btrfs-progs: Documentation: uuid change 2015-05-26 17:21:47 +02:00
tests btrfs-progs: tests: add script to clean intermediate images 2015-05-25 16:10:58 +02:00
.gitignore btrfs-progs: autoconf: generate documentation makefile as well 2015-02-03 15:42:34 +01:00
autogen.sh btrfs-progs: build, make autogen.sh work on older systems 2015-01-28 19:03:23 +01:00
backref.c btrfs-progs: read_tree_block() and read_node_slot() cleanup. 2015-02-02 19:21:24 +01:00
backref.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
bcp Btrfs-progs: Correct path munging in bcp 2011-10-25 09:18:58 -04:00
bitops.h Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
btrfs-calc-size.c Btrfs-progs: fix compile warnings 2015-04-14 15:11:24 +02:00
btrfs-completion btrfs-progs: completion: add fi and dev usage commands 2015-03-23 23:07:32 +01:00
btrfs-convert.c btrfs-progs: convert: drop dependency on sys/acl.h 2015-05-14 15:41:06 +02:00
btrfs-corrupt-block.c Btrfs-progs: corrupt-block: add the ability to remove csums 2015-05-26 16:38:32 +02:00
btrfs-crc.c btrfs-progs: use check_argc_* to check arg number for all tools 2014-08-22 15:07:02 +02:00
btrfs-debug-tree.c btrfs-progs: Fix 2 extent buffer leak in btrfs-debug-tree 2015-02-11 19:08:43 +01:00
btrfs-debugfs btrfs-progs: Add simple python front end to the search ioctl 2014-12-04 17:03:49 +01:00
btrfs-find-root.c btrfs-progs: find-root, add option to search through all the metadata extents 2015-02-11 18:34:06 +01:00
btrfs-fragments.c btrfs-progs: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
btrfs-image.c Btrfs-progs: skip opening all devices with restore 2015-02-09 14:53:15 -05:00
btrfs-list.c btrfs-progs: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
btrfs-list.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
btrfs-map-logical.c btrfs-progs: getopt, use symbolic name for argument requirements 2015-04-08 17:39:51 +02:00
btrfs-select-super.c btrfs-progs: autoconf: use standard PACKAGE_* macros 2015-01-28 18:00:58 +01:00
btrfs-show-super.c btrfs-progs: show-super: print human readable text for super flags 2015-05-14 15:41:07 +02:00
btrfs-zero-log.c btrfs-progs: autoconf: use standard PACKAGE_* macros 2015-01-28 18:00:58 +01:00
btrfs.c btrfs-progs: autoconf: use standard PACKAGE_* macros 2015-01-28 18:00:58 +01:00
btrfsck.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
btrfstune.c btrfs-progs: btrfstune: add '-U' and '-u' option to change fsid 2015-05-26 17:21:47 +02:00
chunk-recover.c Btrfs-progs: skip opening all devices with restore 2015-02-09 14:53:15 -05:00
cmds-balance.c btrfs-progs: cleanup option index argument from getopt_long 2015-04-08 17:33:55 +02:00
cmds-check.c btrfs-progs: fsck: Fix a shallow copy which will leads to segfault. 2015-05-14 15:41:06 +02:00
cmds-device.c btrfs-progs: use the correct variable 2015-05-14 15:41:07 +02:00
cmds-fi-usage.c btrfs-progs: cleanup, rename *disk_usage* files to usage 2015-04-22 18:21:48 +02:00
cmds-fi-usage.h btrfs-progs: cleanup, rename *disk_usage* files to usage 2015-04-22 18:21:48 +02:00
cmds-filesystem.c btrfs-progs: report failure when resize ioctl fails 2015-04-24 15:42:04 +02:00
cmds-inspect.c Btrfs-progs: fix some build warnings on 32bit platform 2014-08-22 15:07:03 +02:00
cmds-property.c btrfs-progs fix wrong memory free on check_is_root 2014-12-22 18:34:23 +01:00
cmds-qgroup.c btrfs-progs: getopt, use symbolic name for argument requirements 2015-04-08 17:39:51 +02:00
cmds-quota.c btrfs-progs: fix btrfs quota rescan failed on PPC64 arch 2015-04-24 15:41:59 +02:00
cmds-receive.c btrfs-progs: receive: restore capabilities after chown 2015-05-27 18:49:59 +02:00
cmds-replace.c btrfs-progs: add new dev replace result 2014-11-25 18:50:58 +01:00
cmds-rescue.c btrfs-progs: add zero-log to rescue command 2015-04-22 18:21:48 +02:00
cmds-restore.c btrfs-progs: restore: add more long option variants 2015-05-14 15:41:06 +02:00
cmds-scrub.c btrfs-progs: fix check of running scrub 2015-01-19 18:53:41 +01:00
cmds-send.c btrfs-progs: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
cmds-subvolume.c btrfs-progs: getopt, use symbolic name for argument requirements 2015-04-08 17:39:51 +02:00
commands.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
configure.ac btrfs-progs: Fix autoconf handling of --enable-convert 2015-03-25 02:52:48 +01:00
COPYING fix COPYING 2007-06-12 15:41:08 -04:00
crc32c.c btrfs-progs: make many private symbols static 2013-09-03 19:41:08 +02:00
crc32c.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
ctree.c btrfs-progs: read_tree_block() and read_node_slot() cleanup. 2015-02-02 19:21:24 +01:00
ctree.h btrfs-progs: Remove non-exist csum size. 2015-05-14 15:41:08 +02:00
dir-item.c Btrfs-progs: delete bogus dir indexes 2014-10-14 10:45:03 +02:00
dir-test.c Btrfs-progs: fix magic return value in dir-test.c 2013-10-16 08:20:42 -04:00
disk-io.c btrfs-progs: Enhance read_tree_block to avoid memory corruption 2015-05-25 14:58:58 +02:00
disk-io.h btrfs-progs: Export write_tree_block 2015-05-14 15:41:07 +02:00
extent-cache.c btrfs-progs: Add last_cache_extent() for extent-cache. 2014-12-10 11:54:10 +01:00
extent-cache.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
extent-tree.c btrfs-progs: check for matching free space in cache 2015-04-24 15:42:04 +02:00
extent_io.c btrfs-progs: Move (set/clear_)extent_buffer_uptodate() to extent_io.h. 2015-02-27 17:44:11 +01:00
extent_io.h btrfs-progs: Move (set/clear_)extent_buffer_uptodate() to extent_io.h. 2015-02-27 17:44:11 +01:00
file-item.c btrfs-progs: remove btrfs_release_path before btrfs_free_path 2014-09-14 19:06:12 +02:00
file.c btrfs-progs: Add btrfs_get_extent() and btrfs_punch_hole(). 2015-02-02 14:16:38 +01:00
find-root.c btrfs-progs: Add new find-root.[ch] infrastructure 2015-02-11 18:34:04 +01:00
find-root.h btrfs-progs: Add new find-root.[ch] infrastructure 2015-02-11 18:34:04 +01:00
free-space-cache.c btrfs-progs: check for matching free space in cache 2015-04-24 15:42:04 +02:00
free-space-cache.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
fsck.btrfs btrfs-progs: fsck.btrfs: Fix bashism and bad getopts processing 2015-05-21 16:53:44 +02:00
hash.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
hasher.c Unaligned access fixes 2008-02-15 11:19:58 -05:00
help.c btrfs-progs: include headers required for musl-libc 2014-12-18 18:22:06 +01:00
inode-item.c btrfs-progs: fix overflow check in btrfs_insert_inode_ref 2014-12-30 15:48:55 +01:00
inode-map.c btrfs-progs: remove btrfs_release_path before btrfs_free_path 2014-09-14 19:06:12 +02:00
inode.c btrfs-progs: handle orphan creation error in btrfs_unlink 2015-01-06 18:46:03 +01:00
INSTALL btrfs-progs: convert: drop dependency on sys/acl.h 2015-05-14 15:41:06 +02:00
ioctl-test.c btrfs-progs: mark static & remove unused from non-kernel code 2013-09-03 19:40:54 +02:00
ioctl.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
kerncompat.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
library-test.c btrfs-progs: build, add basic build test for library 2014-11-07 17:52:57 +01:00
list.h Btrfs-progs: introduce list_{first, next}_entry/list_splice_tail{_init} 2013-07-03 14:06:55 -04:00
list_sort.c btrfs-progs: add list_sort and use it to sort devices by id 2013-10-16 08:22:26 -04:00
list_sort.h btrfs-progs: add list_sort and use it to sort devices by id 2013-10-16 08:22:26 -04:00
Makefile.in btrfs-progs: tests: add script to clean intermediate images 2015-05-25 16:10:58 +02:00
mkfs.c btrfs-progs: getopt, use symbolic name for argument requirements 2015-04-08 17:39:51 +02:00
print-tree.c btrfs-progs: Allow btrfs-debug-tree to print human readable qgroup status flag. 2015-03-24 00:11:26 +01:00
print-tree.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
props.c btrfs-progs: Introduce change_header_uuid function 2015-05-14 15:41:07 +02:00
props.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
qgroup-verify.c btrfs-progs: read_tree_block() and read_node_slot() cleanup. 2015-02-02 19:21:24 +01:00
qgroup-verify.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
qgroup.c btrfs-progs: Print warning message if qgroup data is inconsistent 2015-03-24 00:29:59 +01:00
qgroup.h btrfs-progs: Move parse_qgroupid() to utils.c 2015-03-24 00:16:09 +01:00
quick-test.c Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
radix-tree.c btrfs-progs: Remove a unused function root_gtp_mask(). 2014-12-19 15:04:56 +01:00
radix-tree.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
raid6.c btrfs-progs: give raid6.c its exported prototypes 2013-09-03 19:41:11 +02:00
random-test.c Btrfs-progs: fix magic return value in random-test.c 2013-10-16 08:20:42 -04:00
rbtree-utils.c Btrfs-progs: break out rbtree util functions 2014-10-14 10:39:39 +02:00
rbtree-utils.h btrfs-progs: libbtrfs, make exported headers compatible with C++ 2014-11-03 23:50:50 +01:00
rbtree.c Btrfs-progs: update rbtree libs 2014-10-14 10:39:40 +02:00
rbtree.h btrfs-progs: libbtrfs, make exported headers compatible with C++ 2014-11-03 23:50:50 +01:00
rbtree_augmented.h btrfs-progs: libbtrfs, make exported headers compatible with C++ 2014-11-03 23:50:50 +01:00
repair.c Btrfs-progs: introduce common insert/search/delete functions for rb-tree 2013-07-03 14:06:54 -04:00
repair.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
root-tree.c Btrfs-progs: free path if we don't find root item 2014-03-21 06:23:32 -07:00
send-stream.c btrfs-progs: fix compiler warning 2014-11-07 18:14:38 +01:00
send-stream.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
send-test.c btrfs-progs: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
send-utils.c btrfs-progs: fix spacing in error messages 2014-11-25 19:50:12 +01:00
send-utils.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
send.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
show-blocks Fix showblocks to display different colors for different metadata roots 2009-03-09 13:00:44 -04:00
string-table.c btrfs-progs: Add helpers functions to handle the printing of data in tabular format 2014-12-04 16:48:09 +01:00
string-table.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
super-recover.c Btrfs-progs: skip opening all devices with restore 2015-02-09 14:53:15 -05:00
task-utils.c btrfs-progs: convert: use task for progress indication of metadata creation 2014-12-04 17:13:44 +01:00
task-utils.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
transaction.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
ulist.c btrfs-progs: import ulist 2014-08-22 14:39:33 +02:00
ulist.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
utils-lib.c btrfs-progs: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
utils.c btrfs-progs: btrfs_scan_block_devices is unused function delete it 2015-05-14 15:41:06 +02:00
utils.h btrfs-progs: btrfs_scan_block_devices is unused function delete it 2015-05-14 15:41:06 +02:00
uuid-tree.c btrfs-progs: fix in-place byte swapping 2013-09-03 19:41:06 +02:00
version.h.in btrfs-progs: re-introduce BTRFS_BUILD_VERSION in version.h 2015-03-16 18:40:06 +01:00
version.sh Btrfs progs v4.0.1 2015-05-20 15:12:44 +02:00
volumes.c btrfs-progs: btrfstune: fix a bug which makes unfinished fsid change unrecoverable 2015-05-26 17:25:10 +02:00
volumes.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00