diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2007-02-12 21:17:37 -0600 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2007-02-12 21:17:37 -0600 |
commit | 06d8bf64ba25db42fcc60d2da2268ac22af94e77 (patch) | |
tree | eb80eebf368957df18c2a4c0ee02897e0a9b06d2 /fs/cifs/file.c | |
parent | 8f68abbfd9703e58920ff07d314a48654ed0bc3b (diff) | |
parent | 5986a2ec35836a878350c54af4bd91b1de6abc59 (diff) | |
download | kernel-crypto-06d8bf64ba25db42fcc60d2da2268ac22af94e77.tar.gz kernel-crypto-06d8bf64ba25db42fcc60d2da2268ac22af94e77.tar.xz kernel-crypto-06d8bf64ba25db42fcc60d2da2268ac22af94e77.zip |
Merge branch 'master' into for_paulus
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 8a49b2e77d3..e9dcf5ee29a 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -1146,7 +1146,7 @@ static int cifs_writepages(struct address_space *mapping, pgoff_t end; pgoff_t index; int range_whole = 0; - struct kvec iov[32]; + struct kvec * iov; int len; int n_iov = 0; pgoff_t next; @@ -1171,15 +1171,21 @@ static int cifs_writepages(struct address_space *mapping, if((cifs_sb->tcon->ses) && (cifs_sb->tcon->ses->server)) if(cifs_sb->tcon->ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) - if(!experimEnabled) + if(!experimEnabled) return generic_writepages(mapping, wbc); + iov = kmalloc(32 * sizeof(struct kvec), GFP_KERNEL); + if(iov == NULL) + return generic_writepages(mapping, wbc); + + /* * BB: Is this meaningful for a non-block-device file system? * If it is, we should test it again after we do I/O */ if (wbc->nonblocking && bdi_write_congested(bdi)) { wbc->encountered_congestion = 1; + kfree(iov); return 0; } @@ -1345,7 +1351,7 @@ retry: mapping->writeback_index = index; FreeXid(xid); - + kfree(iov); return rc; } |