summaryrefslogtreecommitdiff
path: root/cmds-receive.c
diff options
context:
space:
mode:
authorQu Wenruo <quwenruo@cn.fujitsu.com>2014-07-23 13:47:35 +0800
committerDavid Sterba <dsterba@suse.cz>2014-08-22 15:07:02 +0200
commitde22c28ef31d9721606ba05965a093a8044be0de (patch)
tree2c5e2c942d927463160bf8c2b46e1c76d548d7be /cmds-receive.c
parent10c8f34f519451d763ae6b40bd388d11f4d3d42f (diff)
btrfs-progs: Check fstype in find_mount_root()
When calling find_mount_root(), caller in fact wants to find the mount point of *BTRFS*. So also check ent->fstype in find_mount_root() and do special error string output in caller. This will suppress a lot of "Inapproiate ioctl for device" error message. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'cmds-receive.c')
-rw-r--r--cmds-receive.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/cmds-receive.c b/cmds-receive.c
index 20b3db09..03d21e90 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -848,6 +848,13 @@ static int do_receive(struct btrfs_receive *r, const char *tomnt, int r_fd,
ret = -EINVAL;
goto out;
}
+ if (ret > 0) {
+ fprintf(stderr,
+ "ERROR: %s doesn't belong to btrfs mount point\n",
+ dest_dir_full_path);
+ ret = -EINVAL;
+ goto out;
+ }
r->mnt_fd = open(r->root_path, O_RDONLY | O_NOATIME);
if (r->mnt_fd < 0) {
ret = -errno;