Skip to content

Commit

Permalink
Tools: hv: Handle the case when the target file exists correctly
Browse files Browse the repository at this point in the history
Return the appropriate error code and handle the case when the target
file exists correctly. This fixes a bug.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Cc: <stable@vger.kernel.org> [3.14]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
kattisrinivasan authored and gregkh committed Apr 16, 2014
1 parent 177581f commit 314672a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
1 change: 1 addition & 0 deletions include/uapi/linux/hyperv.h
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ enum hv_kvp_exchg_pool {
#define HV_ERROR_DEVICE_NOT_CONNECTED 0x8007048F
#define HV_INVALIDARG 0x80070057
#define HV_GUID_NOTFOUND 0x80041002
#define HV_ERROR_ALREADY_EXISTS 0x80070050

#define ADDR_FAMILY_NONE 0x00
#define ADDR_FAMILY_IPV4 0x01
Expand Down
4 changes: 3 additions & 1 deletion tools/hv/hv_fcopy_daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,10 @@ static int hv_start_fcopy(struct hv_start_fcopy *smsg)

if (!access(target_fname, F_OK)) {
syslog(LOG_INFO, "File: %s exists", target_fname);
if (!smsg->copy_flags & OVER_WRITE)
if (!(smsg->copy_flags & OVER_WRITE)) {
error = HV_ERROR_ALREADY_EXISTS;
goto done;
}
}

target_fd = open(target_fname, O_RDWR | O_CREAT | O_CLOEXEC, 0744);
Expand Down

0 comments on commit 314672a

Please sign in to comment.