diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index a5ed01d49..a9e72f42e 100755 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c @@ -685,7 +685,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;