diff options
author | Steve French <sfrench@us.ibm.com> | 2005-06-13 13:24:43 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-06-13 13:24:43 -0500 |
commit | d6e04ae64c6b06ef76a5d4fb49106b393b7fa50a (patch) | |
tree | 0ae0d4e7c94ccbba95e55d7512eb628d845eff20 /fs/cifs/file.c | |
parent | 2830077f7ae93ef2f7a312e3e489110963612e77 (diff) | |
download | lwn-d6e04ae64c6b06ef76a5d4fb49106b393b7fa50a.tar.gz lwn-d6e04ae64c6b06ef76a5d4fb49106b393b7fa50a.zip |
[CIFS] CIFS writepage improvements - eliminate double copy
Signed-off-by: Steve French (sfrench@us.ibm.com)
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index dde2d251fc3d..ca74c1151be9 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -791,9 +791,8 @@ static ssize_t cifs_write(struct file *file, const char *write_data, pTcon = cifs_sb->tcon; - /* cFYI(1, - (" write %d bytes to offset %lld of %s", write_size, - *poffset, file->f_dentry->d_name.name)); */ + cFYI(1,(" write %d bytes to offset %lld of %s", write_size, + *poffset, file->f_dentry->d_name.name)); /* BB removeme BB */ if (file->private_data == NULL) return -EBADF; @@ -846,7 +845,21 @@ static ssize_t cifs_write(struct file *file, const char *write_data, if (rc != 0) break; } - +#ifdef CIFS_EXPERIMENTAL + /* BB FIXME We can not sign across two buffers yet */ + cERROR(1,("checking signing")); /* BB removeme BB */ + if(pTcon->ses->server->secMode & + (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED) == 0) + rc = CIFSSMBWrite2(xid, pTcon, + open_file->netfid, + min_t(const int, cifs_sb->wsize, + write_size - total_written), + *poffset, &bytes_written, + write_data + total_written, + long_op); + } else + /* BB FIXME fixup indentation of line below */ +#endif rc = CIFSSMBWrite(xid, pTcon, open_file->netfid, min_t(const int, cifs_sb->wsize, |