[SCM] Samba Shared Repository - branch master updated
David Disseldorp
ddiss at samba.org
Tue Jun 9 20:10:02 MDT 2015
The branch, master has been updated
via 728cfa5 s3: libsmbclient: Use cache targetcli in SMBC_splice_ctx calls also.
from 0615b72 smbd/trans2: add a useful diagnostic for files with bad encoding
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 728cfa5d3983c545f2a09947c8aabc90da3b5bc5
Author: Jeremy Allison <jra at samba.org>
Date: Mon Jun 8 10:07:49 2015 -0700
s3: libsmbclient: Use cache targetcli in SMBC_splice_ctx calls also.
Bug 11295 - Excessive cli_resolve_path() usage can slow down transmission.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11295
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
Autobuild-User(master): David Disseldorp <ddiss at samba.org>
Autobuild-Date(master): Wed Jun 10 04:09:36 CEST 2015 on sn-devel-104
-----------------------------------------------------------------------
Summary of changes:
source3/libsmb/libsmb_file.c | 62 ++------------------------------------------
1 file changed, 2 insertions(+), 60 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/libsmb/libsmb_file.c b/source3/libsmb/libsmb_file.c
index 29a6a0f..6b43676 100644
--- a/source3/libsmb/libsmb_file.c
+++ b/source3/libsmb/libsmb_file.c
@@ -299,12 +299,6 @@ SMBC_splice_ctx(SMBCCTX *context,
void *priv)
{
off_t written;
- char *server = NULL, *share = NULL, *user = NULL, *password = NULL;
- char *path = NULL;
- char *targetpath = NULL;
- struct cli_state *srccli = NULL;
- struct cli_state *dstcli = NULL;
- uint16_t port = 0;
TALLOC_CTX *frame = talloc_stackframe();
NTSTATUS status;
@@ -330,64 +324,12 @@ SMBC_splice_ctx(SMBCCTX *context,
return -1;
}
- if (SMBC_parse_path(frame,
- context,
- srcfile->fname,
- NULL,
- &server,
- &port,
- &share,
- &path,
- &user,
- &password,
- NULL)) {
- errno = EINVAL;
- TALLOC_FREE(frame);
- return -1;
- }
-
- status = cli_resolve_path(frame, "", context->internal->auth_info,
- srcfile->srv->cli, path,
- &srccli, &targetpath);
- if (!NT_STATUS_IS_OK(status)) {
- d_printf("Could not resolve %s\n", path);
- errno = ENOENT;
- TALLOC_FREE(frame);
- return -1;
- }
-
- if (SMBC_parse_path(frame,
- context,
- dstfile->fname,
- NULL,
- &server,
- &port,
- &share,
- &path,
- &user,
- &password,
- NULL)) {
- errno = EINVAL;
- TALLOC_FREE(frame);
- return -1;
- }
-
- status = cli_resolve_path(frame, "", context->internal->auth_info,
- dstfile->srv->cli, path,
- &dstcli, &targetpath);
- if (!NT_STATUS_IS_OK(status)) {
- d_printf("Could not resolve %s\n", path);
- errno = ENOENT;
- TALLOC_FREE(frame);
- return -1;
- }
-
- status = cli_splice(srccli, dstcli,
+ status = cli_splice(srcfile->targetcli, dstfile->targetcli,
srcfile->cli_fd, dstfile->cli_fd,
count, srcfile->offset, dstfile->offset, &written,
splice_cb, priv);
if (!NT_STATUS_IS_OK(status)) {
- errno = SMBC_errno(context, srccli);
+ errno = SMBC_errno(context, srcfile->targetcli);
TALLOC_FREE(frame);
return -1;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list