cli_resolve_path() is invoked in every SMBC_read_ctx() and SMBC_write_ctx() that slows down transmission dramatically if DFS client and root are located on geographically distant locations(high RTT between them).
(from the samba-tecnhical mailing list). Hmmm. This seems to be done inside : SMBC_read_ctx(SMBCCTX *context, SMBCFILE *file, void *buf, size_t count) where it's doing: status = cli_resolve_path(frame, "", context->internal->auth_info, file->srv->cli, path, &targetcli, &targetpath); before each call to cli_read(), which does seem rather excessive.
Created attachment 11101 [details] git-am fix for master. Can you test this patch ? I think it both fixes your issue and fixes a correctness problem with the code. Cheers, Jeremy.
The patch resolves the issue. Thx for the effort. Regards, Szilard
I appreciate the confidence, but the work to get it into the code now starts :-). It needs a second Team reviewer to get into master, and then this bug report needs to remain open to hold the patches for 4.2.x (and 4.1.x if we back-port) until the change is committed to the git repo. Thanks ! Jeremy.
Created attachment 11124 [details] git-am fix cherry-picked from master for 4.2.next, 4.1.next.
Does this need to be done for SMBC_splice_ctx as well?
Karolin, please pick for 4.2.next and 4.1.next. THanks - Michael
(In reply to Ross Lagerwall from comment #6) Yes - good catch ! But SMBC_splice_ctx doesn't exist in 4.2.x, so that will be a master only fix and doesn't affect Karolin pushing the 4.2.x/4.1.x patches and closing out this bug. I'll post a new patch for master-only on samba-technical.
(In reply to Michael Adam from comment #7) Pushed to autobuild-v4-[1|2]-test.
(In reply to Karolin Seeger from comment #9) Pushed to both branches. CLosing out bug report. Thanks!