diff options
author | Omar Sandoval <osandov@fb.com> | 2022-03-17 18:25:43 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-07-25 17:45:32 +0200 |
commit | d6815592806f481244d0e3435ca1f5383d90a14c (patch) | |
tree | 798ac449b7ce2037e322d9abcc704d199ddee8b3 /fs/btrfs/send.c | |
parent | btrfs: send: send compressed extents with encoded writes (diff) | |
download | linux-d6815592806f481244d0e3435ca1f5383d90a14c.tar.xz linux-d6815592806f481244d0e3435ca1f5383d90a14c.zip |
btrfs: send: enable support for stream v2 and compressed writes
Now that the new support is implemented, allow the ioctl to accept v2
and the compressed flag, and update the version in sysfs.
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/send.c')
-rw-r--r-- | fs/btrfs/send.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index bc00393c1233..6d01dc26d408 100644 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c @@ -701,8 +701,7 @@ static int send_header(struct send_ctx *sctx) struct btrfs_stream_header hdr; strcpy(hdr.magic, BTRFS_SEND_STREAM_MAGIC); - hdr.version = cpu_to_le32(BTRFS_SEND_STREAM_VERSION); - + hdr.version = cpu_to_le32(sctx->proto); return write_buf(sctx->send_filp, &hdr, sizeof(hdr), &sctx->send_off); } @@ -7755,6 +7754,10 @@ long btrfs_ioctl_send(struct inode *inode, struct btrfs_ioctl_send_args *arg) } else { sctx->proto = 1; } + if ((arg->flags & BTRFS_SEND_FLAG_COMPRESSED) && sctx->proto < 2) { + ret = -EINVAL; + goto out; + } sctx->send_filp = fget(arg->send_fd); if (!sctx->send_filp) { |