btrfs: send: update command for protocol version check
authorDavid Sterba <dsterba@suse.com>
Fri, 7 Oct 2022 15:10:02 +0000 (17:10 +0200)
committerDavid Sterba <dsterba@suse.com>
Tue, 11 Oct 2022 12:47:06 +0000 (14:47 +0200)
For a protocol and command compatibility we have a helper that hasn't
been updated for v3 yet. We use it for verity so update where necessary.

Fixes: 38622010a6de ("btrfs: send: add support for fs-verity")
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/send.c

index 178347666235836ae390bc8aa28d4aedde2f0a79..ec6e1752af2caeab62074616de6f5d13c1cd79e4 100644 (file)
@@ -348,6 +348,7 @@ static bool proto_cmd_ok(const struct send_ctx *sctx, int cmd)
        switch (sctx->proto) {
        case 1:  return cmd <= BTRFS_SEND_C_MAX_V1;
        case 2:  return cmd <= BTRFS_SEND_C_MAX_V2;
+       case 3:  return cmd <= BTRFS_SEND_C_MAX_V3;
        default: return false;
        }
 }
@@ -6469,7 +6470,9 @@ static int finish_inode_if_needed(struct send_ctx *sctx, int at_end)
                if (ret < 0)
                        goto out;
        }
-       if (sctx->proto >= 3 && sctx->cur_inode_needs_verity) {
+
+       if (proto_cmd_ok(sctx, BTRFS_SEND_C_ENABLE_VERITY)
+           && sctx->cur_inode_needs_verity) {
                ret = process_verity(sctx);
                if (ret < 0)
                        goto out;