diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index ec3db315f561..cfbd3ab67911 100644 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c @@ -720,7 +720,12 @@ static int begin_cmd(struct send_ctx *sctx, int cmd) if (WARN_ON(!sctx->send_buf)) return -EINVAL; - BUG_ON(sctx->send_size); + if (unlikely(sctx->send_size != 0)) { + btrfs_err(sctx->send_root->fs_info, + "send: command header buffer not empty cmd %d offset %llu", + cmd, sctx->send_off); + return -EINVAL; + } sctx->send_size += sizeof(*hdr); hdr = (struct btrfs_cmd_header *)sctx->send_buf;