summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmds-receive.c11
-rw-r--r--man/btrfs.8.in15
2 files changed, 19 insertions, 7 deletions
diff --git a/cmds-receive.c b/cmds-receive.c
index ed441076..cce37a7a 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -257,8 +257,15 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid,
O_RDONLY | O_NOATIME);
if (args_v2.fd < 0) {
ret = -errno;
- fprintf(stderr, "ERROR: open %s failed. %s\n",
- parent_subvol->path, strerror(-ret));
+ if (errno != ENOENT)
+ fprintf(stderr, "ERROR: open %s failed. %s\n",
+ parent_subvol->path, strerror(-ret));
+ else
+ fprintf(stderr,
+ "It seems that you have changed your default "
+ "subvolume or you specify other subvolume to\n"
+ "mount btrfs, try to remount this btrfs filesystem "
+ "with fs tree, and run btrfs receive again!\n");
goto out;
}
diff --git a/man/btrfs.8.in b/man/btrfs.8.in
index c11b53ae..8fea115a 100644
--- a/man/btrfs.8.in
+++ b/man/btrfs.8.in
@@ -660,11 +660,16 @@ Receive subvolumes from stdin.
Receives one or more subvolumes that were previously
sent with btrfs send. The received subvolumes are stored
into \fI<mount>\fP.
-btrfs receive will fail in case a receiving subvolume
-already exists. It will also fail in case a previously
-received subvolume was changed after it was received.
-After receiving a subvolume, it is immediately set to
-read only.
+btrfs receive will fail with the following case:
+
+1.a receiving subvolume already exists.
+
+2.a previously received subvolume was changed after it was received.
+
+3.default subvolume is changed or you don't mount btrfs filesystem with
+fs tree.
+
+After receiving a subvolume, it is immediately set to read only.
.RS
\fIOptions\fR