Merge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6
This commit is contained in:
commit
8aeba3c62a
@ -1785,7 +1785,16 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||||||
} else if(volume_info.wsize)
|
} else if(volume_info.wsize)
|
||||||
cifs_sb->wsize = volume_info.wsize;
|
cifs_sb->wsize = volume_info.wsize;
|
||||||
else
|
else
|
||||||
cifs_sb->wsize = CIFSMaxBufSize; /* default */
|
cifs_sb->wsize =
|
||||||
|
min_t(const int, PAGEVEC_SIZE * PAGE_CACHE_SIZE,
|
||||||
|
127*1024);
|
||||||
|
/* old default of CIFSMaxBufSize was too small now
|
||||||
|
that SMB Write2 can send multiple pages in kvec.
|
||||||
|
RFC1001 does not describe what happens when frame
|
||||||
|
bigger than 128K is sent so use that as max in
|
||||||
|
conjunction with 52K kvec constraint on arch with 4K
|
||||||
|
page size */
|
||||||
|
|
||||||
if(cifs_sb->rsize < PAGE_CACHE_SIZE) {
|
if(cifs_sb->rsize < PAGE_CACHE_SIZE) {
|
||||||
cifs_sb->rsize = PAGE_CACHE_SIZE;
|
cifs_sb->rsize = PAGE_CACHE_SIZE;
|
||||||
/* Windows ME does this */
|
/* Windows ME does this */
|
||||||
|
@ -1190,7 +1190,6 @@ retry:
|
|||||||
/* BB what if continued retry is
|
/* BB what if continued retry is
|
||||||
requested via mount flags? */
|
requested via mount flags? */
|
||||||
set_bit(AS_EIO, &mapping->flags);
|
set_bit(AS_EIO, &mapping->flags);
|
||||||
SetPageError(page);
|
|
||||||
} else {
|
} else {
|
||||||
cifs_stats_bytes_written(cifs_sb->tcon,
|
cifs_stats_bytes_written(cifs_sb->tcon,
|
||||||
bytes_written);
|
bytes_written);
|
||||||
@ -1198,6 +1197,13 @@ retry:
|
|||||||
}
|
}
|
||||||
for (i = 0; i < n_iov; i++) {
|
for (i = 0; i < n_iov; i++) {
|
||||||
page = pvec.pages[first + i];
|
page = pvec.pages[first + i];
|
||||||
|
/* Should we also set page error on
|
||||||
|
success rc but too little data written? */
|
||||||
|
/* BB investigate retry logic on temporary
|
||||||
|
server crash cases and how recovery works
|
||||||
|
when page marked as error */
|
||||||
|
if(rc)
|
||||||
|
SetPageError(page);
|
||||||
kunmap(page);
|
kunmap(page);
|
||||||
unlock_page(page);
|
unlock_page(page);
|
||||||
page_cache_release(page);
|
page_cache_release(page);
|
||||||
|
@ -498,7 +498,6 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
|
|||||||
else
|
else
|
||||||
*pRespBufType = CIFS_SMALL_BUFFER;
|
*pRespBufType = CIFS_SMALL_BUFFER;
|
||||||
iov[0].iov_len = receive_len + 4;
|
iov[0].iov_len = receive_len + 4;
|
||||||
iov[1].iov_len = 0;
|
|
||||||
|
|
||||||
dump_smb(midQ->resp_buf, 80);
|
dump_smb(midQ->resp_buf, 80);
|
||||||
/* convert the length into a more usable form */
|
/* convert the length into a more usable form */
|
||||||
|
Loading…
Reference in New Issue
Block a user