summaryrefslogtreecommitdiff
path: root/fs/cifs
AgeCommit message (Collapse)AuthorFilesLines
2006-03-05[CIFS] Always match oplock break (cache notification) to the right tcpSteve French3-4/+4
session when multiply mounted. Fixes slow response when cifs client is mounted to shares on multiple servers and oplock break occurs (usually due to attempt to multiply open a file). When treeids on mutiple mounted shares match and we find the wrong match first, we searched for the wrong cached files to send oplock break response for which usually meant that no matching file was found and thus the server would have to timeout the notification. Oplock break timeout is about 20 seconds on some servers so this could cause significantly slower performance on file open calls in a few cases (in particular when multiple shares are mounted from multiple servers, tree ids match, and we have a cached file which is later opened multiple times). This was the most important of the bugs that was found and fixed at Connectathon (interoperability testing event) this week. Acked-by: Shaggy (shaggy@austin.ibm.com) Signed-off-by: Steve French (sfrench@us.ibm.com)
2006-02-22[PATCH] CIFS: CIFSSMBRead was returning an invalid pointer in buf on socket ↵Steve French2-7/+8
error Thanks to Adrian Bunk for debugging the problem and to Shaggy for helping find the solution. Also added a fix for 64K pages we found in loosely-related testing 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-02-14[PATCH] CIFS: fix cifs_user_read oops when null SMB response on ↵Steve French1-6/+8
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-27[CIFS] Remove compiler warningSteve French1-1/+2
Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-27Signed-off-by: Steve French <sfrench@us.ibm.com>Steve French1-1/+7
2006-01-24[CIFS] Make cifs default wsize match what we actually want to send (52KSteve French1-1/+9
typically - header + 13 pages). Forgetting to set wsize on the mount command costs more than 10% on large write (can be much more) so this makes a saner default. We still shrink this default smaller if server can not support it. Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-23[CIFS] Do not zero non-existent iovec in SendReceive response processing.Steve French1-1/+0
Could cause memory leak in some readpaths depending on what junk followed it in the stack. Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-18[CIFS] Fix oops in cifs_readpages caused by not checking buf_type in anSteve French1-1/+4
error path of new cifs_readpages code. Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-17[CIFS] Remove compiler warningSteve French1-1/+1
Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org> Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-13[CIFS] Fix CIFS to recognize share mode securitySteve French4-15/+41
Fix Samba bugzilla bug 3301 In share mode encrypted password must be sent on tree connection (in our case only the NTLM password is sent, not the older LANMAN one). Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-12[CIFS] Fix typoSteve French1-1/+0
Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-12[CIFS] Add worker function for Get ACL cifs styleSteve French9-20/+292
Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-12Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.gitSteve French4-14/+11
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 French2-2/+25
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-10[PATCH] turn "const static" into "static const"Jesper Juhl1-1/+1
ICC likes to complain about storage class not being first, GCC doesn't care much (except for cases like "inline static"). have a hard time seeing how it could break anything. Thanks to Gabriel A. Devenyi for pointing out http://linuxicc.sourceforge.net/ which is what made me create this patch. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-09[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_semJes Sorensen2-7/+7
This patch converts the inode semaphore to a mutex. I have tested it on XFS and compiled as much as one can consider on an ia64. Anyway your luck with it might be different. Modified-by: Ingo Molnar <mingo@elte.hu> (finished the conversion) Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2006-01-08[PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)OGAWA Hirofumi2-6/+3
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>
2006-01-08[CIFS] Fix cifs trying to write to f_opsSteve French1-6/+11
patch 2ea55c01e0c5dfead8699484b0bae2a375b1f61c fixed CIFS clobbering the global fops structure for some per mount setting, by duplicating and having 2 fops structs. However the write to the fops was left behind, which is a NOP in practice (due to the fact that we KNOW the fops has that field set to NULL already due to the duplication). So remove it... In addition, another instance of the same bug was forgotten in november. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Steve French <sfrench@us.ibm.com>
2006-01-08[CIFS] Minor cleanup to new cifs acl header.Steve French1-0/+2
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-31[CIFS] Fix typos in rfc1002pdu.hSteve French1-2/+2
Pointed out by Leo Comitale Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-12[CIFS] Avoid extra large buffer allocation (and memcpy) in cifs_readpagesSteve French11-108/+156
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-03[CIFS] Display large/small total buffer allocations in /proc/fs/cifs/StatsSteve French1-0/+8
when CONFIG_CIFS_STATS2 is on (helps in debugging performance) Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-03[CIFS] Add extended stats (STATS2) for total buffer allocations forSteve French4-2/+23
better performance debugging. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-02[CIFS] Readpages and readir performance improvements - eliminate extraSteve French6-23/+71
memcpy. Part 1 Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-01[CIFS] Kerberos and CIFS ACL support part 1Steve French4-9/+94
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-12-01[CIFS] Use fsuid (fsgid) more consistently instead of uid/gid inSteve French5-11/+17
assembling smb requests when setuids and Linux protocol extensions enabled and in checking more matching sessions in multiuser mount mode. Pointed out by Shaggy. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-29[CIFS] For previous fix, mode on mkdir needed S_IFDIR left out.Steve French1-0/+1
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-29[CIFS] Missing parenthesis and typo in previous fixSteve French2-2/+3
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-29[CIFS] Fix umount --force to wake up the pending response queue, not justSteve French5-8/+62
the request queue. Also periodically wakeup response_q so threads can check if stuck requests have timed out. Workaround Windows server illegal smb length on transact2 findfirst response. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-29[CIFS] Fix missing permission check on setattr when noperm mount option isSteve French5-13/+60
disabled. Also set mode, uid, gid better on mkdir and create for the case when Unix Extensions is not enabled and setuids is enabled. This is necessary to fix the hole in which chown could be allowed for non-root users in some cases if root mounted, and also to display the mode and uid properly in some cases. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-28[CIFS] When file is deleted locally but later recreated on the serverSteve French3-20/+35
fix cifs negative dentries so they are freed faster (not requiring umount or readdir e.g.) so the client recognizes the new file on the server more quickly. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-19[CIFS] Fix setattr of mode only (e.g. in some chmod cases) to WindowsSteve French1-0/+1
so it does not return EACCESS (unless server really returns that). Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-18[CIFS] Fix mknod of block and chardev over SFU mountsSteve French3-13/+62
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-18[CIFS] Missing part of previous patchSteve French2-0/+3
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-18[CIFS] Fix scheduling while atomic when pending writes at file close timeSteve French2-22/+56
Fix the case in which readdir reset file type when SFU mount option specified. Also fix sfu related functions to not request EAs (xattrs) when not configured in Kconfig Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-17[CIFS] Vectored and async i/o turned on and correct theSteve French1-72/+45
writev and aio_write to flush properly. This is Christoph's patch merged with the new nobrl file operations Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> From: Christoph Hellwig <hch@lst.de> - support vectored and async aio ops unconditionally - this is above the pagecache and transparent to the fs - remove cifs_read_wrapper. it was only doing silly checks and calling generic_file_write in all cases. - use do_sync_read/do_sync_write as read/write operations. They call ->readv/->writev which we now always implemente. - add the filemap_fdatawrite calls to writev/aio_write which were missing previously compared to plain write. no idea what the point behind them is, but let's be consistent at least.. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Steven French <sfrench@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-11-17[CIFS] Recognize properly symlinks and char/blk devices (not justSteve French1-4/+44
FIFOs) created by SFU (part 2 of 2). Thanks to Martin Koeppe for useful analysis. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-16[CIFS] Fix sparse warnings on smb bcc (byte count)Steve French2-3/+3
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-15[CIFS] Fix endian errors (setfacl/getfacl failures) in handling ACLsSteve French1-14/+17
(and a ppc64 compiler warning) Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-15[CIFS] Recognize properly symlinks and char/blk devices (not just FIFOs)Steve French2-10/+66
created by SFU (part 1 of 2). Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-11[CIFS] Cleanup sparse warnings for unicode little endian castsSteve French7-68/+60
Following Shaggy's suggestion, do a better job on the unicode string handling routines in cifs in specifying that the wchar_t are really little endian widechars (__le16). Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-11[CIFS] Fix CIFS "nobrl" mount option so does not disable sending brl requestsSteve French4-17/+75
for all mounts just that particular mount. Found by Arjan Vand de Ven Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-10[CIFS] Reduce sparse endian warningsSteve French1-2/+3
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-10[CIFS] Update CIFS change logSteve French2-1/+38
Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-10[CIFS] Reserve upcall IDX value for CIFS with connector header and addSteve French1-0/+1
Kconfig option for CIFS upcall. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-11-09(no commit message)Steve French1-3/+8
2005-11-09Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.gitSteve French5-92/+45
2005-11-07[PATCH] kfree cleanup: fsJesper Juhl5-92/+45
This is the fs/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in fs/. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-04[CIFS] Update kconfig for cifsSteve French3-5/+1
Add cifs extended stats configure option and reduce experimental code. Signed-off-by: Steve French <sfrench@us.ibm.com>
2005-10-27[CIFS] Change pragma pack(1) to attribute(packed) to allow cifs on arm to accessSteve French3-186/+182
unaligned structures coming in off the wire gcc on arm processors generates very odd code with pragma pack specified - although it does pack the structures in some sense - it does not allow you to access unaligned elements in nested structures at the right offset as other architectures do. Oddly enough though, specifying the structures as packed the long way - one by one with the packed attribute does work. Rather than fighting over whether this is a gcc bug or some obscure side effect of pragma pack, it is easier to do what most (all but 96 other places in the kernel) do - and replace pragma pack with dozens of attribute(packed) structure qualifiers. Much more verbose ... but at least it works. Signed-off-by: David Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com> CG: -----------------------------------------------------------------------