summaryrefslogtreecommitdiff
path: root/source3/libsmb/clireadwrite.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-11-06 14:12:38 -0800
committerJeremy Allison <jra@samba.org>2007-11-06 14:12:38 -0800
commit7498e1b8c09abef2db0658c6bfd6d42891c9690d (patch)
tree09e8445c981d1d0f60e174a3ee8ebc754ffbd4eb /source3/libsmb/clireadwrite.c
parent7d899b5e7b7cd26d33fb1e9c9c8a63efabc4b093 (diff)
downloadsamba-7498e1b8c09abef2db0658c6bfd6d42891c9690d.tar.gz
samba-7498e1b8c09abef2db0658c6bfd6d42891c9690d.tar.bz2
samba-7498e1b8c09abef2db0658c6bfd6d42891c9690d.zip
Ensure we don't use massive writes in pipe mode.
Jeremy. (This used to be commit 47640fb20e42f226e7ea104076fd52547bfe1abb)
Diffstat (limited to 'source3/libsmb/clireadwrite.c')
-rw-r--r--source3/libsmb/clireadwrite.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 0c79da9f84..d77875bae5 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -402,11 +402,12 @@ ssize_t cli_write(struct cli_state *cli,
mpx = 1;
}
- if (!client_is_signing_on(cli) &&
+ if (write_mode == 0 &&
+ !client_is_signing_on(cli) &&
(cli->posix_capabilities & CIFS_UNIX_LARGE_WRITE_CAP) &&
(cli->capabilities & CAP_LARGE_FILES)) {
/* Only do massive writes if we can do them direct
- * with no signing. */
+ * with no signing - not on a pipe. */
writesize = CLI_SAMBA_MAX_POSIX_LARGE_WRITEX_SIZE;
} else if (cli->capabilities & CAP_LARGE_READX) {
if (cli->is_samba) {