mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
Tools: hv: Handle the case when the target file exists correctly
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>
This commit is contained in:
parent
177581faf2
commit
314672a2c2
2 changed files with 4 additions and 1 deletions
|
@ -305,6 +305,7 @@ enum hv_kvp_exchg_pool {
|
||||||
#define HV_ERROR_DEVICE_NOT_CONNECTED 0x8007048F
|
#define HV_ERROR_DEVICE_NOT_CONNECTED 0x8007048F
|
||||||
#define HV_INVALIDARG 0x80070057
|
#define HV_INVALIDARG 0x80070057
|
||||||
#define HV_GUID_NOTFOUND 0x80041002
|
#define HV_GUID_NOTFOUND 0x80041002
|
||||||
|
#define HV_ERROR_ALREADY_EXISTS 0x80070050
|
||||||
|
|
||||||
#define ADDR_FAMILY_NONE 0x00
|
#define ADDR_FAMILY_NONE 0x00
|
||||||
#define ADDR_FAMILY_IPV4 0x01
|
#define ADDR_FAMILY_IPV4 0x01
|
||||||
|
|
|
@ -82,8 +82,10 @@ static int hv_start_fcopy(struct hv_start_fcopy *smsg)
|
||||||
|
|
||||||
if (!access(target_fname, F_OK)) {
|
if (!access(target_fname, F_OK)) {
|
||||||
syslog(LOG_INFO, "File: %s exists", target_fname);
|
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;
|
goto done;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
target_fd = open(target_fname, O_RDWR | O_CREAT | O_CLOEXEC, 0744);
|
target_fd = open(target_fname, O_RDWR | O_CREAT | O_CLOEXEC, 0744);
|
||||||
|
|
Loading…
Add table
Reference in a new issue