From 14de97259be14d8c0f384dd24c5b1f85a66c0936 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Thu, 11 Jun 2015 19:31:01 +0200 Subject: [PATCH] btrfs-progs: receive: implement the update_extent callback The callback for the NO_FILE_DATA send flag is missing and would crash if such stream is received. Signed-off-by: David Sterba --- cmds-receive.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmds-receive.c b/cmds-receive.c index 67e066ce..61d7ed89 100644 --- a/cmds-receive.c +++ b/cmds-receive.c @@ -876,6 +876,20 @@ out: return ret; } +static int process_update_extent(const char *path, u64 offset, u64 len, + void *user) +{ + if (g_verbose >= 2) + fprintf(stderr, "update_extent %s: offset=%llu, len=%llu\n", + path, (unsigned long long)offset, + (unsigned long long)len); + + /* + * Sent with BTRFS_SEND_FLAG_NO_FILE_DATA, nothing to do. + */ + + return 0; +} static struct btrfs_send_ops send_ops = { .subvol = process_subvol, @@ -898,6 +912,7 @@ static struct btrfs_send_ops send_ops = { .chmod = process_chmod, .chown = process_chown, .utimes = process_utimes, + .update_extent = process_update_extent, }; static int do_receive(struct btrfs_receive *r, const char *tomnt,