diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2014-07-23 13:47:35 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-08-22 15:07:02 +0200 |
commit | de22c28ef31d9721606ba05965a093a8044be0de (patch) | |
tree | 2c5e2c942d927463160bf8c2b46e1c76d548d7be /cmds-receive.c | |
parent | 10c8f34f519451d763ae6b40bd388d11f4d3d42f (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.c | 7 |
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; |