diff options
author | David Sterba <dsterba@suse.com> | 2021-10-22 17:53:36 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2021-10-29 13:38:43 +0300 |
commit | e77fbf990316d47968a793d8aa920fd62385aec9 (patch) | |
tree | f8bfc770245ccc649b54a16a5d976d64da2986cc /fs/btrfs/ioctl.c | |
parent | 50780d9baa316fa773137d1802005932e9bae215 (diff) | |
download | linux-e77fbf990316d47968a793d8aa920fd62385aec9.tar.xz |
btrfs: send: prepare for v2 protocol
This is preparatory work for send protocol update to version 2 and
higher.
We have many pending protocol update requests but still don't have the
basic protocol rev in place, the first thing that must happen is to do
the actual versioning support.
The protocol version is u32 and is a new member in the send ioctl
struct. Validity of the version field is backed by a new flag bit. Old
kernels would fail when a higher version is requested. Version protocol
0 will pick the highest supported version, BTRFS_SEND_STREAM_VERSION,
that's also exported in sysfs.
The version is still unchanged and will be increased once we have new
incompatible commands or stream updates.
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r-- | fs/btrfs/ioctl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index c474f7e24163..92424a22d8d6 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -82,7 +82,8 @@ struct btrfs_ioctl_send_args_32 { compat_uptr_t clone_sources; /* in */ __u64 parent_root; /* in */ __u64 flags; /* in */ - __u64 reserved[4]; /* in */ + __u32 version; /* in */ + __u8 reserved[28]; /* in */ } __attribute__ ((__packed__)); #define BTRFS_IOC_SEND_32 _IOW(BTRFS_IOCTL_MAGIC, 38, \ |