summaryrefslogtreecommitdiffstats
path: root/fs/cifs/file.c
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)OGAWA Hirofumi2006-01-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [CIFS] Missing part of previous patchSteve French2005-11-181-0/+2
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Defer close of file handle slightly if there are pending writes thatSteve French2005-10-201-24/+64
| | | | | | | | 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>
* CIFS: cifs_writepages should not write beyond end of fileSteve French2005-10-121-2/+13
| | | | | Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] CIFS Stats improvementsSteve French2005-10-111-0/+3
| | | | | | 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>
* [CIFS] Fix rsize calculation so that large readx flag is checked.Steve French2005-10-101-2/+3
| | | | Signed-off-by: Steve French (sfrench@us.ibm.com)
* [CIFS] cleanup sparse and compile errors in previous fixSteve French2005-10-051-2/+3
| | | | Signed-off-by: Steve French (sfrench@us.ibm.com)
* CIFS: Allow wsize to exceed CIFSMaxBufSizeSteve French2005-10-051-0/+8
| | | | | | | | 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>
* CIFS: implement cifs_writepages to perform multi-page I/OSteve French2005-10-051-7/+184
| | | | | Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* CIFS: Create routine find_writable_file to reduce redundant codeSteve French2005-10-051-77/+35
| | | | | Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add writepages support to shrink memory usage on writes,Steve French2005-10-031-5/+11
| | | | | | | | | | 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>
* [CIFS] Add support for legacy servers part six. Fix read syntax soSteve French2005-09-151-0/+7
| | | | | | | 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)
* [CIFS] Fix compiler warningsSteve French2005-09-151-2/+2
| | | | | | Fix some compiler warnings noticed on x64 by me and ppc64 by Shaggy Signed-off-by: Steve French (sfrench@us.ibm.com)
* [CIFS] Add support for legacy servers part 5Steve French2005-08-311-54/+4
| | | | | | | Handle small negotiated read sizes (under 4K) and finish up read and write support. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add support for legacy servers part 4Steve French2005-08-301-18/+48
| | | | | | | Fix WriteX support for old servers which do not support large files. Signed-off-by: Steve French <sfrench@us.ibm.com>
* Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.gitSteve French2005-08-301-1/+1
|\
| * [PATCH] Fix oops in fs/locks.c on close of file with pending locksSteve French2005-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | [CIFS] Remove cifs_sb argument from *build_path_from_dentrySteve French2005-08-301-2/+2
| | | | | | | | | | | | | | | | 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>
* | [CIFS] Support for legacy servers part 3 - Add support for Open and mostSteve French2005-08-241-2/+27
| | | | | | | | | | | | of Read support. Signed-off-by: Steve French <sfrench@us.ibm.com>
* | CIFS: Reduce CONFIG_CIFS_STATS ifdefsSteve French2005-08-241-29/+5
| | | | | | | | | | | | | | | | 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>
* | [CIFS] Make CIFS statistics more accurate and add some stats that wereSteve French2005-08-201-5/+0
| | | | | | | | | | | | missing. Most importantly SMB reads were undercounted. Signed-off-by: Steve French (sfrench@us.ibm.com)
* | [CIFS] Performance improvement, finish up adding CIFSSMBWrite2Steve French2005-06-231-4/+3
| | | | | | | | Signed-off-by: Steve French (sfrench@us.ibm.com)
* | Merge with ↵Steve French2005-06-221-2/+2
|\ \ | | | | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
| * | [CIFS] POSIX extensions, SetFSInfo addedJeremy Allison2005-06-221-2/+2
| |/ | | | | | | | | Signed-off-by: Steve French@sfrench@us.ibm.com Signed-off-by: Jeremy Allison (jra@samba.org)
* | Merge with ↵Steve French2005-06-131-0/+2
|\ \ | |/ | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
| * [CIFS] Fix cifs update of page cache. Write at correct offset when out of memorySteve French2005-06-091-0/+2
| | | | | | | | | | | | | | | | | | | | 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)
* | [CIFS] CIFS writepage improvements - eliminate double copySteve French2005-06-131-4/+17
|/ | | | Signed-off-by: Steve French (sfrench@us.ibm.com)
* [PATCH] cifs: Do not init smb requests or block when sending requestsSteve French2005-04-281-1/+2
| | | | | | | | | | 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>
* [PATCH] cifs: character mapping of special characters (part 3 of 3)Steve French2005-04-281-3/+7
| | | | | Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] cifs: fix rare oops in cifs_closeSteve French2005-04-281-0/+2
| | | | | | | 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>
* Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds2005-04-161-0/+1675
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!
OpenPOWER on IntegriCloud