summaryrefslogtreecommitdiffstats
path: root/fs/cifs/README
Commit message (Collapse)AuthorAgeFilesLines
* Don't compile in unused reparse point symlink codeSteve French2011-05-191-12/+0
| | | | | | | | | | | | | | | | Recent Windows versions now create symlinks more frequently and they do use this "reparse point" symlink mechanism. We can of course do symlinks nicely to Samba and other servers which support the CIFS Unix Extensions and we can also do SFU symlinks and "client only" "MF" symlinks optionally, but for recent Windows we currently can not handle the common "reparse point" symlinks fully, removing the caller for this. We will need to extend and reenable this "reparse point" worker code in cifs and fix cifs_symlink to call this. In the interim this code has been moved to its own config option so it is not compiled in by default until cifs_symlink fixed up (and tested) to use this. CC: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* cifs: replace /proc/fs/cifs/Experimental with a module parmJeff Layton2011-04-121-16/+0
| | | | | | | | | | | | | | | | | | | | | This flag currently only affects whether we allow "zero-copy" writes with signing enabled. Typically we map pages in the pagecache directly into the write request. If signing is enabled however and the contents of the page change after the signature is calculated but before the write is sent then the signature will be wrong. Servers typically respond to this by closing down the socket. Still, this can provide a performance benefit so the "Experimental" flag was overloaded to allow this. That's really not a good place for this option however since it's not clear what that flag does. Move that flag instead to a new module parameter that better describes its purpose. That's also better since it can be set at module insertion time by configuring modprobe.d. Reviewed-by: Suresh Jayaraman <sjayaraman@suse.de> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* CIFS: Add strictcache mount optionPavel Shilovsky2011-01-251-0/+5
| | | | | | | | | | | | Use for switching on strict cache mode. In this mode the client reads from the cache all the time it has Oplock Level II, otherwise - read from the server. As for write - the client stores a data in the cache in Exclusive Oplock case, otherwise - write directly to the server. Signed-off-by: Pavel Shilovsky <piastryyy@gmail.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* cifs: add attribute cache timeout (actimeo) tunableSuresh Jayaraman2010-12-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the attribute cache timeout for CIFS is hardcoded to 1 second. This means that the client might have to issue a QPATHINFO/QFILEINFO call every 1 second to verify if something has changes, which seems too expensive. On the other hand, if the timeout is hardcoded to a higher value, workloads that expect strict cache coherency might see unexpected results. Making attribute cache timeout as a tunable will allow us to make a tradeoff between performance and cache metadata correctness depending on the application/workload needs. Add 'actimeo' tunable that can be used to tune the attribute cache timeout. The default timeout is set to 1 second. Also, display actimeo option value in /proc/mounts. It appears to me that 'actimeo' and the proposed (but not yet merged) 'strictcache' option cannot coexist, so care must be taken that we reset the other option if one of them is set. Changes since last post: - fix option parsing and handle possible values correcly Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de> Signed-off-by: Steve French <sfrench@us.ibm.com>
* cifs: add "mfsymlinks" mount optionStefan Metzmacher2010-09-291-0/+5
| | | | | | | | This is the start for an implementation of "Minshall+French Symlinks" (see http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks). Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Steve French <sfrench@us.ibm.com>
* cifs: update README to include details about 'fsc' optionSuresh Jayaraman2010-08-111-0/+10
| | | | | Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de> Signed-off-by: Steve French <sfrench@us.ibm.com>
* cifs: update READMESuresh Jayaraman2010-08-051-2/+3
| | | | | | | | | | | | Update the README file to reflect that now DebugData shows all the features enabled. Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de> Cc: Jeff Layton <jlayton@redhat.com> -- fs/cifs/README | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Signed-off-by: Steve French <sfrench@us.ibm.com>
* tree-wide: fix assorted typos all over the placeAndré Goddard Rosa2009-12-041-1/+1
| | | | | | | | | | That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others. Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* [CIFS] Update readme to reflect forceuid mount parmsSteve French2009-08-041-13/+12
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add mention of new mount parm (forceuid) to cifs readmeSteve French2009-06-061-1/+8
| | | | | | Also update fs/cifs/CHANGES Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Update readme to indicate change to default mount (serverino)Steve French2009-05-281-1/+6
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Allow raw ntlmssp code to be enabled with sec=ntlmsspSteve French2009-05-061-1/+9
| | | | | | | | | On mount, "sec=ntlmssp" can now be specified to allow "rawntlmssp" security to be enabled during CIFS session establishment/authentication (ntlmssp used to require specifying krb5 which was counterintuitive). Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flushSteve French2009-03-121-4/+18
| | | | | | | | | | | | | | | | | | If this mount option is set, when an application does an fsync call then the cifs client does not send an SMB Flush to the server (to force the server to write all dirty data for this file immediately to disk), although cifs still sends all dirty (cached) file data to the server and waits for the server to respond to the write write. Since SMB Flush can be very slow, and some servers may be reliable enough (to risk delaying slightly flushing the data to disk on the server), turning on this option may be useful to improve performance for applications that fsync too much, at a small risk of server crash. If this mount option is not set, by default cifs will send an SMB flush request (and wait for a response) on every fsync call. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] add mount option to send mandatory rather than advisory locksSteve French2008-12-261-1/+11
| | | | | | | | | | | | | | | | | | | | | | Some applications/subsystems require mandatory byte range locks (as is used for Windows/DOS/OS2 etc). Sending advisory (posix style) byte range lock requests (instead of mandatory byte range locks) can lead to problems for these applications (which expect that other clients be prevented from writing to portions of the file which they have locked and are updating). This mount option allows mounting cifs with the new mount option "forcemand" (or "forcemandatorylock") in order to have the cifs client use mandatory byte range locks (ie SMB/CIFS/Windows/NTFS style locks) rather than posix byte range lock requests, even if the server would support posix byte range lock requests. This has no effect if the server does not support the CIFS Unix Extensions (since posix style locks require support for the CIFS Unix Extensions), but for mounts to Samba servers this can be helpful for Wine and applications that require mandatory byte range locks. Acked-by: Jeff Layton <jlayton@redhat.com> CC: Alexander Bokovoy <ab@samba.org> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] improve setlease handlingSteve French2008-10-231-0/+16
| | | | | | | | | | | | | fcntl(F_SETLEASE) currently is not exported by cifs (nor by local file systems) so cifs grants leases based on how other local processes have opened the file not by whether the file is cacheable (oplocked). This adds the check to make sure that the file is cacheable on the client before checking whether we can grant the lease locally (generic_setlease). It also adds a mount option for cifs (locallease) if the user wants to override this and try to grant leases even if the server did not grant oplock. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add nodfs mount optionSteve French2008-10-161-0/+3
| | | | | | | | | | | | | | | | Older samba server (eg. 3.0.24 from Debian etch) don't work correctly, if DFS paths are used. Such server claim that they support DFS, but fail to process some requests with DFS paths. Starting with Linux 2.6.26, the cifs clients starts sending DFS paths in such situations, rendering it unuseable with older samba servers. The nodfs mount options forces a share to be used with non DFS paths, even if the server claims, that it supports it. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Acked-by: Jeff Layton <jlayton@redhat.com> Acked-by: Igor Mammedov <niallain@gmail.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] update cifs change logSteve French2008-08-281-2/+12
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Kerberos support not considered experimental anymoreSteve French2008-08-191-4/+26
| | | | | Acked-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] enable parsing for transport encryption mount parmSteve French2008-05-151-0/+5
| | | | | | | | | Samba now supports transport encryption on particular exports (mounted tree ids can be encrypted for servers which support the unix extensions). This adds parsing support to cifs mount option parsing for this. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add various missing flags and defintionsSteve French2008-04-171-1/+8
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] reduce checkpatch warningsSteve French2008-02-071-1/+1
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] fix checkpatch warnings in fs/cifs/inode.cSteve French2008-01-081-11/+17
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix potential data corruption when writing out cached dirty pagesJeff Layton2007-11-201-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix RedHat bug 329431 The idea here is separate "conscious" from "unconscious" flushes. Conscious flushes are those due to a fsync() or close(). Unconscious ones are flushes that occur as a side effect of some other operation or due to memory pressure. Currently, when an error occurs during an unconscious flush (ENOSPC or EIO), we toss out the page and don't preserve that error to report to the user when a conscious flush occurs. If after the unconscious flush, there are no more dirty pages for the inode, the conscious flush will simply return success even though there were previous errors when writing out pages. This can lead to data corruption. The easiest way to reproduce this is to mount up a CIFS share that's very close to being full or where the user is very close to quota. mv a file to the share that's slightly larger than the quota allows. The writes will all succeed (since they go to pagecache). The mv will do a setattr to set the new file's attributes. This calls filemap_write_and_wait, which will return an error since all of the pages can't be written out. Then later, when the flush and release ops occur, there are no more dirty pages in pagecache for the file and those operations return 0. mv then assumes that the file was written out correctly and deletes the original. CIFS already has a write_behind_rc variable where it stores the results from earlier flushes, but that value is only reported in cifs_close. Since the VFS ignores the return value from the release operation, this isn't helpful. We should be reporting this error during the flush operation. This patch does the following: 1) changes cifs_fsync to use filemap_write_and_wait and cifs_flush and also sync to check its return code. If it returns successful, they then check the value of write_behind_rc to see if an earlier flush had reported any errors. If so, they return that error and clear write_behind_rc. 2) sets write_behind_rc in a few other places where pages are written out as a side effect of other operations and the code waits on them. 3) changes cifs_setattr to only call filemap_write_and_wait for ATTR_SIZE changes. 4) makes cifs_writepages accurately distinguish between EIO and ENOSPC errors when writing out pages. Some simple testing indicates that the patch works as expected and that it fixes the reproduceable known problem. Acked-by: Dave Kleikamp <shaggy@austin.rr.com> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Check return code on failed allocCyrill Gorcunov2007-08-181-0/+6
| | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix hang in find_writable_fileSteve French2007-07-261-0/+7
| | | | | | | | | | | | Caused by unneeded reopen during reconnect while spinlock held. Fixes kernel bugzilla bug #7903 Thanks to Lin Feng Shen for testing this, and Amit Arora for some nice problem determination to narrow this down. Acked-by: Dave Kleikamp <shaggy@us.ibm.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix oops in cifs_create when nfsd server exports cifs mountSteve French2007-07-111-7/+6
| | | | | | | | | | | nfsd is passing null nameidata (probably the only one doing that) on call to create - cifs was missing one check for this. Note that running nfsd over a cifs mount requires specifying fsid on the nfs exports entry and requires mounting cifs with serverino mount option. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Add in some missing flags and cifs README and TODO correctionsSteve French2007-06-241-7/+18
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix typo in cifs readme from previous commitSteve French2007-05-051-2/+2
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Make sec=none force an anonymous mountJeff Layton2007-05-051-3/+17
| | | | | | | | | | | | | | | | We had a customer report that attempting to make CIFS mount with a null username (i.e. doing an anonymous mount) doesn't work. Looking through the code, it looks like CIFS expects a NULL username from userspace in order to trigger an anonymous mount. The mount.cifs code doesn't seem to ever pass a null username to the kernel, however. It looks also like the kernel can take a sec=none option, but it only seems to look at it if the username is already NULL. This seems redundant and effectively makes sec=none useless. The following patch makes sec=none force an anonymous mount. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] UID/GID override on CIFS mounts to SambaSteve French2007-04-301-9/+14
| | | | | | | | | | | | | | | | | | When CIFS Unix Extensions are negotiated we get the Unix uid and gid owners of the file from the server (on the Unix Query Path Info levels), but if the server's uids don't match the client uid's users were having to disable the Unix Extensions (which turned off features they still wanted). The changeset patch allows users to override uid and/or gid for file/directory owner with a default uid and/or gid specified at mount (as is often done when mounting from Linux cifs client to Windows server). This changeset also displays the uid and gid used by default in /proc/mounts (if applicable). Also cleans up code by adding some of the missing spaces after "if" keywords per-kernel style guidelines (as suggested by Randy Dunlap when he reviewed the patch). Signed-off-by: Steve French <sfrench@us.ibm.com>
* Fix typos concerning hierarchyUwe Kleine-König2007-02-171-1/+1
| | | | | | | | heirarchical, hierachical -> hierarchical heirarchy, hierachy -> hierarchy Signed-off-by: Uwe Kleine-König <zeisberg@informatik.uni-freiburg.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Still more typo fixesMatt LaPlante2006-10-031-3/+3
| | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* [CIFS] Do not send Query All EAs SMB when mount option nouser_xattrSteve French2006-08-161-1/+1
| | | | | | | | specified Pointed out by Bjoern Jacke Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix allocation of buffers for new session setup routine to allowSteve French2006-06-271-1/+4
| | | | | | longer user and domain names and allow passing sec options on mount Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Enable sec flags on mount for cifs (part one)Steve French2006-06-231-0/+2
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* CIFS] Support for older servers which require plaintext passwords - part 2Steve French2006-06-041-6/+26
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Readdir fixes to allow search to start at arbitrary positionSteve French2006-04-221-0/+8
| | | | | | | | | in directory Also includes first part of fix to compensate for servers which forget to return . and .. as well as updates to changelog and cifs readme. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Make POSIX CIFS Extensions SetFSInfo match exactly what we wantSteve French2006-03-021-0/+7
| | | | | | not just the posix path feature. Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Kerberos and CIFS ACL support part 1Steve French2005-12-011-1/+11
| | | | Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix missing permission check on setattr when noperm mount option isSteve French2005-11-291-6/+24
| | | | | | | | | | 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>
* [CIFS] CIFS Stats improvementsSteve French2005-10-111-2/+9
| | | | | | 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 oops in experimental notify code (when CONFIG_CIFS_EXPERIMENTALSteve French2005-10-101-0/+2
| | | | | | was turned on). Signed-off-by: Steve French <sfrench@us.ibm.com>
* [CIFS] Fix byte range locking to Windows when Windows server returnsSteve French2005-10-101-2/+2
| | | | | illegal RFC1001 length (which had caused the lock to block forever until killed).
* [CIFS] Add mount option for disabling sending byte range lock requestsSteve French2005-08-181-0/+7
| | | | | | | | over the wire (to help the case when applications break with cifs mandatory lock behavior. Add part one of mount option for requesting case insensitive path name matching. Signed-off-by: Steve French (sfrench@us.ibm.com)
* [CIFS] missing break needed to handle < when mount option "mapchars" specifiedSteve French2005-05-171-2/+2
| | | | Signed-off-by: Steve French (sfrench@us.ibm.com)
* [PATCH] remove BK documentationAdrian Bunk2005-05-051-3/+3
| | | | | | | | | There's no longer a reason to document the obsolete BK usage. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] cifs: Do not sleep interruptible after socket connect failureSteve French2005-04-281-5/+10
| | | | | | | | | .. since it can be due to pending kill. Update readme information to better describe cifs umount Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] cifs: improve check for search entry going beyond end of SMB transactSteve French2005-04-281-4/+4
| | | | | Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] cifs: Missing initialization for largeBuf flag left out of previous ↵Steve French2005-04-281-1/+18
| | | | | | | changeset 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-2/+2
| | | | | Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OpenPOWER on IntegriCloud