aboutsummaryrefslogtreecommitdiff
path: root/fs/cifs/file.c
AgeCommit message (Collapse)Author
2006-02-14[PATCH] CIFS: fix cifs_user_read oops when null SMB response on ↵Steve French
forcedirectio mount This patch fixes an oops reported by Adrian Bunk in cifs_user_read when a null read response is returned on a forcedirectio mount. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-27Signed-off-by: Steve French <sfrench@us.ibm.com>Steve French
2006-01-18[CIFS] Fix oops in cifs_readpages caused by not checking buf_type in anSteve French
error path of new cifs_readpages code. Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-12Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.gitSteve French
Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-12[CIFS] Allow local filesize for file that is open for write to be updatedSteve French
from server when mount forcedirectio. Allowing update of file size with non forcedirectio mounts should be allowed in the fiture but requires carefully writing out the last page in the local file if it is a partial page in order to avoid corruption and careful serialization Thanks to Maximiliano Curia who suggested similar changes and provided a testcase. Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-08[PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)OGAWA Hirofumi
This patch add EXPORT_SYMBOL(filemap_write_and_wait) and use it. See mm/filemap.c: And changes the filemap_write_and_wait() and filemap_write_and_wait_range(). Current filemap_write_and_wait() doesn't wait if filemap_fdatawrite() returns error. However, even if filemap_fdatawrite() returned an error, it may have submitted the partially data pages to the device. (e.g. in the case of -ENOSPC) <quotation> Andrew Morton writes, If filemap_fdatawrite() returns an error, this might be due to some I/O problem: dead disk, unplugged cable, etc. Given the generally crappy quality of the kernel's handling of such exceptions, there's a good chance that the filemap_fdatawait() will get stuck in D state forever. </quotation> So, this patch doesn't wait if filemap_fdatawrite() returns the -EIO. Trond, could you please review the nfs part? Especially I'm not sure, nfs must use the "filemap_fdatawrite(inode->i_mapping) == 0", or not. Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12[CIFS] Avoid extra large buffer allocation (and memcpy) in cifs_readpagesSteve French
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-02[CIFS] Readpages and readir performance improvements - eliminate extraSteve French
memcpy. Part 1 Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-18[CIFS] Missing part of previous patchSteve French
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-20[CIFS] Defer close of file handle slightly if there are pending writes thatSteve French
need to get in ahead of it that depend on that file handle. Fixes occassional bad file handle errors on write with heavy use multiple process cases. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-12CIFS: cifs_writepages should not write beyond end of fileSteve French
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-11[CIFS] CIFS Stats improvementsSteve French
New cifs_writepages routine was not updated bytes written in cifs stats. Also added ability to clear /proc/fs/cifs/Stats by writing (0 or 1) to it. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-10[CIFS] Fix rsize calculation so that large readx flag is checked.Steve French
Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-10-05[CIFS] cleanup sparse and compile errors in previous fixSteve French
Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-10-05CIFS: Allow wsize to exceed CIFSMaxBufSizeSteve French
This allows cifs_writepages to send data in larger chunks from the page cache, without requiring larger memory allocations in other cases. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-05CIFS: implement cifs_writepages to perform multi-page I/OSteve French
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-05CIFS: Create routine find_writable_file to reduce redundant codeSteve French
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-03[CIFS] Add writepages support to shrink memory usage on writes,Steve French
eliminate the double copy, and improve cifs write performance and help the server by upping the typical write size from 4K to 16K (or even larger if wsize set explicitly) for servers which support this. Part 1 of 2 Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-09-15[CIFS] Add support for legacy servers part six. Fix read syntax soSteve French
we do not request more than negotiated buffer size even if buffer size is small (smaller than one page) Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-09-15[CIFS] Fix compiler warningsSteve French
Fix some compiler warnings noticed on x64 by me and ppc64 by Shaggy Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-08-31[CIFS] Add support for legacy servers part 5Steve French
Handle small negotiated read sizes (under 4K) and finish up read and write support. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-08-30[CIFS] Add support for legacy servers part 4Steve French
Fix WriteX support for old servers which do not support large files. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-08-30Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.gitSteve French
2005-08-30[CIFS] Remove cifs_sb argument from *build_path_from_dentrySteve French
This argument was added in a recent patch, but is unnecessary, since the superblock is easily obtained from the dentry. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-08-26[PATCH] Fix oops in fs/locks.c on close of file with pending locksSteve French
The recent change to locks_remove_flock code in fs/locks.c changes how byte range locks are removed from closing files, which shows up a bug in cifs. The assumption in the cifs code was that the close call sent to the server would remove any pending locks on the server on this file, but that is no longer safe as the fs/locks.c code on the client wants unlock of 0 to PATH_MAX to remove all locks (at least from this client, it is not possible AFAIK to remove all locks from other clients made to the server copy of the file). Note that cifs locks are different from posix locks - and it is not possible to map posix locks perfectly on the wire yet, due to restrictions of the cifs network protocol, even to Samba without adding a new request type to the network protocol (which we plan to do for Samba 3.0.21 within a few months), but the local client will have the correct, posix view, of the lock in most cases. The correct fix for cifs for this would involve a bigger change than I would like to do this late in the 2.6.13-rc cycle - and would involve cifs keeping track of all unmerged (uncoalesced) byte range locks for each remote inode and scanning that list to remove locks that intersect or fall wholly within the range - locks that intersect may have to be reaquired with the smaller, remaining range. Signed-off-by: Steve French <sfrench@us.ibm.com> Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-24[CIFS] Support for legacy servers part 3 - Add support for Open and mostSteve French
of Read support. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-08-24CIFS: Reduce CONFIG_CIFS_STATS ifdefsSteve French
Make cifs_stats code conditional in the header files to avoid ifdefs in the main code. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-08-20[CIFS] Make CIFS statistics more accurate and add some stats that wereSteve French
missing. Most importantly SMB reads were undercounted. Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-06-23[CIFS] Performance improvement, finish up adding CIFSSMBWrite2Steve French
Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-06-22Merge with ↵Steve French
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
2005-06-22[CIFS] POSIX extensions, SetFSInfo addedJeremy Allison
Signed-off-by: Steve French@sfrench@us.ibm.com Signed-off-by: Jeremy Allison (jra@samba.org)
2005-06-13Merge with ↵Steve French
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
2005-06-13[CIFS] CIFS writepage improvements - eliminate double copySteve French
Signed-off-by: Steve French (sfrench@us.ibm.com)
2005-06-09[CIFS] Fix cifs update of page cache. Write at correct offset when out of memorySteve French
and add_to_page_cache fails. Thanks to Shaggy for pointing out the fix. Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Shaggy (shaggy@us.ibm.com)
2005-04-28[PATCH] cifs: Do not init smb requests or block when sending requestsSteve French
if cifsd thread is no longer running to demultixplex responses. Do not send FindClose request when FindFirst failed without reaching end of search. Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-28[PATCH] cifs: character mapping of special characters (part 3 of 3)Steve French
Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-28[PATCH] cifs: fix rare oops in cifs_closeSteve French
Protect access to cifs file list in cifs_close path Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16Linux-2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!