NTSTATUS status;
struct odb_lock *lck = NULL;
+ /* strangely, this gives a sharing violation, not invalid
+ parameter */
if (info->rename_information.in.new_name[0] != ':') {
- return NT_STATUS_INVALID_PARAMETER;
+ return NT_STATUS_SHARING_VIOLATION;
}
status = pvfs_access_check_simple(pvfs, req, name, SEC_FILE_WRITE_ATTRIBUTE);
status = pvfs_stream_rename(pvfs, name, fd,
- info->rename_information.in.new_name+1);
+ info->rename_information.in.new_name+1,
+ info->rename_information.in.overwrite);
return status;
}
}
/* resolve the new name */
- status = pvfs_resolve_name(pvfs, name, new_name, 0, &name2);
+ status = pvfs_resolve_name(pvfs, req, new_name, 0, &name2);
if (!NT_STATUS_IS_OK(status)) {
return status;
}