btrfs-progs/common
Boris Burkov cf269aa47b btrfs-progs: receive: support v2 send stream larger tlv_len
An encoded extent can be up to 128K in length, which exceeds the largest
value expressible by the current send stream format's 16 bit tlv_len
field. Since encoded writes cannot be split into multiple writes by
btrfs send, the send stream format must change to accommodate encoded
writes.

Supporting this changed format requires retooling how we store the
commands we have processed. We currently store pointers to the struct
btrfs_tlv_headers in the command buffer. This is not sufficient to
represent the new BTRFS_SEND_A_DATA format. Instead, parse the attribute
headers and store them in a new struct btrfs_send_attribute which has a
32bit length field. This is transparent to users of the various TLV_GET
macros.

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
2022-06-06 19:21:39 +02:00
..
box.h
defs.h
device-scan.c btrfs-progs: remove temporary buffer for super block 2021-11-05 12:50:03 +01:00
device-scan.h
device-utils.c btrfs-progs: fix discard support check 2021-11-18 10:17:21 +01:00
device-utils.h btrfs-progs: introduce btrfs_pread wrapper for pread 2021-10-20 18:59:23 +02:00
extent-cache.c
extent-cache.h btrfs-progs: libbtrfs: drop ifdef BTRFS_FLAT_INCLUDES where not necessary 2022-06-06 15:48:52 +02:00
format-output.c
format-output.h
fsfeatures.c btrfs-progs: common: allow users to select extent-tree-v2 option 2021-11-30 19:07:34 +01:00
fsfeatures.h btrfs-progs: drop ZONED flag from BTRFS_CONVERT_ALLOWED_FEATURES 2021-10-08 20:47:04 +02:00
help.c
help.h
internal.h
messages.c
messages.h
open-utils.c
open-utils.h
parse-utils.c btrfs-progs: make "btrfs filesystem df" command show upper case profile 2021-11-05 12:50:03 +01:00
parse-utils.h
path-utils.c
path-utils.h
rbtree-utils.c
rbtree-utils.h btrfs-progs: remove c++ protection from internal headers 2021-10-08 20:47:04 +02:00
repair.c btrfs-progs: check: handle the block group tree properly 2022-03-09 18:07:12 +01:00
repair.h btrfs-progs: search all extent roots for marking used space 2021-11-30 19:00:12 +01:00
send-stream.c btrfs-progs: receive: support v2 send stream larger tlv_len 2022-06-06 19:21:39 +02:00
send-stream.h btrfs-progs: remove BTRFS_FLAT_INCLUDES from internal send headers 2021-10-08 20:46:34 +02:00
send-utils.c btrfs-progs: remove unused subvol_uuid_search_add 2021-10-08 20:47:04 +02:00
send-utils.h btrfs-progs: remove unused subvol_uuid_search_add 2021-10-08 20:47:04 +02:00
string-table.c
string-table.h
task-utils.c
task-utils.h
units.c
units.h
utils.c btrfs-progs: make device add and paused balance work together 2022-05-03 22:48:14 +02:00
utils.h btrfs-progs: make device add and paused balance work together 2022-05-03 22:48:14 +02:00