[linux-cifs-client] [PATCH] cifs: cleanup initialization of bytes_written
Jeff Layton
jlayton at samba.org
Tue Mar 30 05:42:35 MDT 2010
On Tue, 30 Mar 2010 14:53:25 +0530
Suresh Jayaraman <sjayaraman at suse.de> wrote:
> Initialize bytes_written at the callers uniformly so that CIFSSMBWrite2() and
> CIFSSMBWrite() do not have to worry about it.
>
> Signed-off-by: Suresh Jayaraman <sjayaraman at suse.de>
> ---
> fs/cifs/cifssmb.c | 3 ---
> fs/cifs/dir.c | 2 +-
> fs/cifs/file.c | 2 +-
> fs/cifs/inode.c | 4 ++--
> 4 files changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
> index 7cc7f83..bbf2afa 100644
> --- a/fs/cifs/cifssmb.c
> +++ b/fs/cifs/cifssmb.c
> @@ -1512,7 +1512,6 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
> cifs_stats_inc(&tcon->num_writes);
> if (rc) {
> cFYI(1, ("Send error in write = %d", rc));
> - *nbytes = 0;
> } else {
> *nbytes = le16_to_cpu(pSMBr->CountHigh);
> *nbytes = (*nbytes) << 16;
> @@ -1539,8 +1538,6 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon,
> int smb_hdr_len;
> int resp_buf_type = 0;
>
> - *nbytes = 0;
> -
> cFYI(1, ("write2 at %lld %d bytes", (long long)offset, count));
>
> if (tcon->ses->capabilities & CAP_LARGE_FILES) {
> diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
> index e9f7ecc..6d4e7e9 100644
> --- a/fs/cifs/dir.c
> +++ b/fs/cifs/dir.c
> @@ -560,7 +560,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode,
> /* BB Do not bother to decode buf since no
> local inode yet to put timestamps in,
> but we can reuse it safely */
> - unsigned int bytes_written;
> + unsigned int bytes_written = 0;
> struct win_dev *pdev;
> pdev = (struct win_dev *)buf;
> if (S_ISCHR(mode)) {
> diff --git a/fs/cifs/file.c b/fs/cifs/file.c
> index ca2ba7a..6af4fbd 100644
> --- a/fs/cifs/file.c
> +++ b/fs/cifs/file.c
> @@ -1341,7 +1341,7 @@ static int cifs_writepages(struct address_space *mapping,
> {
> struct backing_dev_info *bdi = mapping->backing_dev_info;
> unsigned int bytes_to_write;
> - unsigned int bytes_written;
> + unsigned int bytes_written = 0;
> struct cifs_sb_info *cifs_sb;
> int done = 0;
> pgoff_t end;
> diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
> index 723daac..af0b0d4 100644
> --- a/fs/cifs/inode.c
> +++ b/fs/cifs/inode.c
> @@ -1674,7 +1674,7 @@ cifs_set_file_size(struct inode *inode, struct iattr *attrs,
> cifsFileInfo_put(open_file);
> cFYI(1, ("SetFSize for attrs rc = %d", rc));
> if ((rc == -EINVAL) || (rc == -EOPNOTSUPP)) {
> - unsigned int bytes_written;
> + unsigned int bytes_written = 0;
> rc = CIFSSMBWrite(xid, pTcon, nfid, 0, attrs->ia_size,
> &bytes_written, NULL, NULL, 1);
> cFYI(1, ("Wrt seteof rc %d", rc));
> @@ -1703,7 +1703,7 @@ cifs_set_file_size(struct inode *inode, struct iattr *attrs,
> cifs_sb->mnt_cifs_flags &
> CIFS_MOUNT_MAP_SPECIAL_CHR);
> if (rc == 0) {
> - unsigned int bytes_written;
> + unsigned int bytes_written = 0;
> rc = CIFSSMBWrite(xid, pTcon, netfid, 0,
> attrs->ia_size,
> &bytes_written, NULL,
Would it be better to just zero out *nbytes at the beginning of
CIFSSMBWrite like Write2 does? Whatever value is in that field should
always be overwritten before those functions return, so I'm not sure I
see the value in pushing the initialization of it out to the callers.
--
Jeff Layton <jlayton at samba.org>
More information about the linux-cifs-client
mailing list