• Boris Burkov's avatar
    btrfs: send: add support for fs-verity · 38622010
    Boris Burkov authored
    Preserve the fs-verity status of a btrfs file across send/recv.
    
    There is no facility for installing the Merkle tree contents directly on
    the receiving filesystem, so we package up the parameters used to enable
    verity found in the verity descriptor. This gives the receive side
    enough information to properly enable verity again. Note that this means
    that receive will have to re-compute the whole Merkle tree, similar to
    how compression worked before encoded_write.
    
    Since the file becomes read-only after verity is enabled, it is
    important that verity is added to the send stream after any file writes.
    Therefore, when we process a verity item, merely note that it happened,
    then actually create the command in the send stream during
    'finish_inode_if_needed'.
    
    This also creates V3 of the send stream format, without any format
    changes besides adding the new commands and attributes.
    Signed-off-by: default avatarBoris Burkov <boris@bur.io>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    38622010
verity.c 22.5 KB