| See https://wiki.samba.org/index.php/LinuxCIFSKernel for |
| more current information. |
| |
| Version 1.62 |
| ------------ |
| Add sockopt=TCP_NODELAY mount option. EA (xattr) routines hardened |
| to more strictly handle corrupt frames. |
| |
| Version 1.61 |
| ------------ |
| Fix append problem to Samba servers (files opened with O_APPEND could |
| have duplicated data). Fix oops in cifs_lookup. Workaround problem |
| mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session. |
| Disable use of server inode numbers when server only |
| partially supports them (e.g. for one server querying inode numbers on |
| FindFirst fails but QPathInfo queries works). Fix oops with dfs in |
| cifs_put_smb_ses. Fix mmap to work on directio mounts (needed |
| for OpenOffice when on forcedirectio mount e.g.) |
| |
| Version 1.60 |
| ------------- |
| Fix memory leak in reconnect. Fix oops in DFS mount error path. |
| Set s_maxbytes to smaller (the max that vfs can handle) so that |
| sendfile will now work over cifs mounts again. Add noforcegid |
| and noforceuid mount parameters. Fix small mem leak when using |
| ntlmv2. Fix 2nd mount to same server but with different port to |
| be allowed (rather than reusing the 1st port) - only when the |
| user explicitly overrides the port on the 2nd mount. |
| |
| Version 1.59 |
| ------------ |
| Client uses server inode numbers (which are persistent) rather than |
| client generated ones by default (mount option "serverino" turned |
| on by default if server supports it). Add forceuid and forcegid |
| mount options (so that when negotiating unix extensions specifying |
| which uid mounted does not immediately force the server's reported |
| uids to be overridden). Add support for scope mount parm. Improve |
| hard link detection to use same inode for both. Do not set |
| read-only dos attribute on directories (for chmod) since Windows |
| explorer special cases this attribute bit for directories for |
| a different purpose. |
| |
| Version 1.58 |
| ------------ |
| Guard against buffer overruns in various UCS-2 to UTF-8 string conversions |
| when the UTF-8 string is composed of unusually long (more than 4 byte) converted |
| characters. Add support for mounting root of a share which redirects immediately |
| to DFS target. Convert string conversion functions from Unicode to more |
| accurately mark string length before allocating memory (which may help the |
| rare cases where a UTF-8 string is much larger than the UCS2 string that |
| we converted from). Fix endianness of the vcnum field used during |
| session setup to distinguish multiple mounts to same server from different |
| userids. Raw NTLMSSP fixed (it requires /proc/fs/cifs/experimental |
| flag to be set to 2, and mount must enable krb5 to turn on extended security). |
| Performance of file create to Samba improved (posix create on lookup |
| removes 1 of 2 network requests sent on file create) |
| |
| Version 1.57 |
| ------------ |
| Improve support for multiple security contexts to the same server. We |
| used to use the same "vcnumber" for all connections which could cause |
| the server to treat subsequent connections, especially those that |
| are authenticated as guest, as reconnections, invalidating the earlier |
| user's smb session. This fix allows cifs to mount multiple times to the |
| same server with different userids without risking invalidating earlier |
| established security contexts. fsync now sends SMB Flush operation |
| to better ensure that we wait for server to write all of the data to |
| server disk (not just write it over the network). Add new mount |
| parameter to allow user to disable sending the (slow) SMB flush on |
| fsync if desired (fsync still flushes all cached write data to the server). |
| Posix file open support added (turned off after one attempt if server |
| fails to support it properly, as with Samba server versions prior to 3.3.2) |
| Fix "redzone overwritten" bug in cifs_put_tcon (CIFSTcon may allocate too |
| little memory for the "nativeFileSystem" field returned by the server |
| during mount). Endian convert inode numbers if necessary (makes it easier |
| to compare inode numbers on network files from big endian systems). |
| |
| Version 1.56 |
| ------------ |
| Add "forcemandatorylock" mount option to allow user to use mandatory |
| rather than posix (advisory) byte range locks, even though server would |
| support posix byte range locks. Fix query of root inode when prefixpath |
| specified and user does not have access to query information about the |
| top of the share. Fix problem in 2.6.28 resolving DFS paths to |
| Samba servers (worked to Windows). Fix rmdir so that pending search |
| (readdir) requests do not get invalid results which include the now |
| removed directory. Fix oops in cifs_dfs_ref.c when prefixpath is not reachable |
| when using DFS. Add better file create support to servers which support |
| the CIFS POSIX protocol extensions (this adds support for new flags |
| on create, and improves semantics for write of locked ranges). |
| |
| Version 1.55 |
| ------------ |
| Various fixes to make delete of open files behavior more predictable |
| (when delete of an open file fails we mark the file as "delete-on-close" |
| in a way that more servers accept, but only if we can first rename the |
| file to a temporary name). Add experimental support for more safely |
| handling fcntl(F_SETLEASE). Convert cifs to using blocking tcp |
| sends, and also let tcp autotune the socket send and receive buffers. |
| This reduces the number of EAGAIN errors returned by TCP/IP in |
| high stress workloads (and the number of retries on socket writes |
| when sending large SMBWriteX requests). Fix case in which a portion of |
| data can in some cases not get written to the file on the server before the |
| file is closed. Fix DFS parsing to properly handle path consumed field, |
| and to handle certain codepage conversions better. Fix mount and |
| umount race that can cause oops in mount or umount or reconnect. |
| |
| Version 1.54 |
| ------------ |
| Fix premature write failure on congested networks (we would give up |
| on EAGAIN from the socket too quickly on large writes). |
| Cifs_mkdir and cifs_create now respect the setgid bit on parent dir. |
| Fix endian problems in acl (mode from/to cifs acl) on bigendian |
| architectures. Fix problems with preserving timestamps on copying open |
| files (e.g. "cp -a") to Windows servers. For mkdir and create honor setgid bit |
| on parent directory when server supports Unix Extensions but not POSIX |
| create. Update cifs.upcall version to handle new Kerberos sec flags |
| (this requires update of cifs.upcall program from Samba). Fix memory leak |
| on dns_upcall (resolving DFS referralls). Fix plain text password |
| authentication (requires setting SecurityFlags to 0x30030 to enable |
| lanman and plain text though). Fix writes to be at correct offset when |
| file is open with O_APPEND and file is on a directio (forcediretio) mount. |
| Fix bug in rewinding readdir directory searches. Add nodfs mount option. |
| |
| Version 1.53 |
| ------------ |
| DFS support added (Microsoft Distributed File System client support needed |
| for referrals which enable a hierarchical name space among servers). |
| Disable temporary caching of mode bits to servers which do not support |
| storing of mode (e.g. Windows servers, when client mounts without cifsacl |
| mount option) and add new "dynperm" mount option to enable temporary caching |
| of mode (enable old behavior). Fix hang on mount caused when server crashes |
| tcp session during negotiate protocol. |
| |
| Version 1.52 |
| ------------ |
| Fix oops on second mount to server when null auth is used. |
| Enable experimental Kerberos support. Return writebehind errors on flush |
| and sync so that events like out of disk space get reported properly on |
| cached files. Fix setxattr failure to certain Samba versions. Fix mount |
| of second share to disconnected server session (autoreconnect on this). |
| Add ability to modify cifs acls for handling chmod (when mounted with |
| cifsacl flag). Fix prefixpath path separator so we can handle mounts |
| with prefixpaths longer than one directory (one path component) when |
| mounted to Windows servers. Fix slow file open when cifsacl |
| enabled. Fix memory leak in FindNext when the SMB call returns -EBADF. |
| |
| |
| Version 1.51 |
| ------------ |
| Fix memory leak in statfs when mounted to very old servers (e.g. |
| Windows 9x). Add new feature "POSIX open" which allows servers |
| which support the current POSIX Extensions to provide better semantics |
| (e.g. delete for open files opened with posix open). Take into |
| account umask on posix mkdir not just older style mkdir. Add |
| ability to mount to IPC$ share (which allows CIFS named pipes to be |
| opened, read and written as if they were files). When 1st tree |
| connect fails (e.g. due to signing negotiation failure) fix |
| leak that causes cifsd not to stop and rmmod to fail to cleanup |
| cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on |
| bigendian architectures. Fix possible memory corruption when |
| EAGAIN returned on kern_recvmsg. Return better error if server |
| requires packet signing but client has disabled it. When mounted |
| with cifsacl mount option - mode bits are approximated based |
| on the contents of the ACL of the file or directory. When cifs |
| mount helper is missing convert make sure that UNC name |
| has backslash (not forward slash) between ip address of server |
| and the share name. |
| |
| Version 1.50 |
| ------------ |
| Fix NTLMv2 signing. NFS server mounted over cifs works (if cifs mount is |
| done with "serverino" mount option). Add support for POSIX Unlink |
| (helps with certain sharing violation cases when server such as |
| Samba supports newer POSIX CIFS Protocol Extensions). Add "nounix" |
| mount option to allow disabling the CIFS Unix Extensions for just |
| that mount. Fix hang on spinlock in find_writable_file (race when |
| reopening file after session crash). Byte range unlock request to |
| windows server could unlock more bytes (on server copy of file) |
| than intended if start of unlock request is well before start of |
| a previous byte range lock that we issued. |
| |
| Version 1.49 |
| ------------ |
| IPv6 support. Enable ipv6 addresses to be passed on mount (put the ipv6 |
| address after the "ip=" mount option, at least until mount.cifs is fixed to |
| handle DNS host to ipv6 name translation). Accept override of uid or gid |
| on mount even when Unix Extensions are negotiated (it used to be ignored |
| when Unix Extensions were ignored). This allows users to override the |
| default uid and gid for files when they are certain that the uids or |
| gids on the server do not match those of the client. Make "sec=none" |
| mount override username (so that null user connection is attempted) |
| to match what documentation said. Support for very large reads, over 127K, |
| available to some newer servers (such as Samba 3.0.26 and later but |
| note that it also requires setting CIFSMaxBufSize at module install |
| time to a larger value which may hurt performance in some cases). |
| Make sign option force signing (or fail if server does not support it). |
| |
| Version 1.48 |
| ------------ |
| Fix mtime bouncing around from local idea of last write times to remote time. |
| Fix hang (in i_size_read) when simultaneous size update of same remote file |
| on smp system corrupts sequence number. Do not reread unnecessarily partial page |
| (which we are about to overwrite anyway) when writing out file opened rw. |
| When DOS attribute of file on non-Unix server's file changes on the server side |
| from read-only back to read-write, reflect this change in default file mode |
| (we had been leaving a file's mode read-only until the inode were reloaded). |
| Allow setting of attribute back to ATTR_NORMAL (removing readonly dos attribute |
| when archive dos attribute not set and we are changing mode back to writeable |
| on server which does not support the Unix Extensions). Remove read only dos |
| attribute on chmod when adding any write permission (ie on any of |
| user/group/other (not all of user/group/other ie 0222) when |
| mounted to windows. Add support for POSIX MkDir (slight performance |
| enhancement and eliminates the network race between the mkdir and set |
| path info of the mode). |
| |
| |
| Version 1.47 |
| ------------ |
| Fix oops in list_del during mount caused by unaligned string. |
| Fix file corruption which could occur on some large file |
| copies caused by writepages page i/o completion bug. |
| Seek to SEEK_END forces check for update of file size for non-cached |
| files. Allow file size to be updated on remote extend of locally open, |
| non-cached file. Fix reconnect to newer Samba servers (or other servers |
| which support the CIFS Unix/POSIX extensions) so that we again tell the |
| server the Unix/POSIX cifs capabilities which we support (SetFSInfo). |
| Add experimental support for new POSIX Open/Mkdir (which returns |
| stat information on the open, and allows setting the mode). |
| |
| Version 1.46 |
| ------------ |
| Support deep tree mounts. Better support OS/2, Win9x (DOS) time stamps. |
| Allow null user to be specified on mount ("username="). Do not return |
| EINVAL on readdir when filldir fails due to overwritten blocksize |
| (fixes FC problem). Return error in rename 2nd attempt retry (ie report |
| if rename by handle also fails, after rename by path fails, we were |
| not reporting whether the retry worked or not). Fix NTLMv2 to |
| work to Windows servers (mount with option "sec=ntlmv2"). |
| |
| Version 1.45 |
| ------------ |
| Do not time out lockw calls when using posix extensions. Do not |
| time out requests if server still responding reasonably fast |
| on requests on other threads. Improve POSIX locking emulation, |
| (lock cancel now works, and unlock of merged range works even |
| to Windows servers now). Fix oops on mount to lanman servers |
| (win9x, os/2 etc.) when null password. Do not send listxattr |
| (SMB to query all EAs) if nouser_xattr specified. Fix SE Linux |
| problem (instantiate inodes/dentries in right order for readdir). |
| |
| Version 1.44 |
| ------------ |
| Rewritten sessionsetup support, including support for legacy SMB |
| session setup needed for OS/2 and older servers such as Windows 95 and 98. |
| Fix oops on ls to OS/2 servers. Add support for level 1 FindFirst |
| so we can do search (ls etc.) to OS/2. Do not send NTCreateX |
| or recent levels of FindFirst unless server says it supports NT SMBs |
| (instead use legacy equivalents from LANMAN dialect). Fix to allow |
| NTLMv2 authentication support (now can use stronger password hashing |
| on mount if corresponding /proc/fs/cifs/SecurityFlags is set (0x4004). |
| Allow override of global cifs security flags on mount via "sec=" option(s). |
| |
| Version 1.43 |
| ------------ |
| POSIX locking to servers which support CIFS POSIX Extensions |
| (disabled by default controlled by proc/fs/cifs/Experimental). |
| Handle conversion of long share names (especially Asian languages) |
| to Unicode during mount. Fix memory leak in sess struct on reconnect. |
| Fix rare oops after acpi suspend. Fix O_TRUNC opens to overwrite on |
| cifs open which helps rare case when setpathinfo fails or server does |
| not support it. |
| |
| Version 1.42 |
| ------------ |
| Fix slow oplock break when mounted to different servers at the same time and |
| the tids match and we try to find matching fid on wrong server. Fix read |
| looping when signing required by server (2.6.16 kernel only). Fix readdir |
| vs. rename race which could cause each to hang. Return . and .. even |
| if server does not. Allow searches to skip first three entries and |
| begin at any location. Fix oops in find_writeable_file. |
| |
| Version 1.41 |
| ------------ |
| Fix NTLMv2 security (can be enabled in /proc/fs/cifs) so customers can |
| configure stronger authentication. Fix sfu symlinks so they can |
| be followed (not just recognized). Fix wraparound of bcc on |
| read responses when buffer size over 64K and also fix wrap of |
| max smb buffer size when CIFSMaxBufSize over 64K. Fix oops in |
| cifs_user_read and cifs_readpages (when EAGAIN on send of smb |
| on socket is returned over and over). Add POSIX (advisory) byte range |
| locking support (requires server with newest CIFS UNIX Extensions |
| to the protocol implemented). Slow down negprot slightly in port 139 |
| RFC1001 case to give session_init time on buggy servers. |
| |
| Version 1.40 |
| ------------ |
| Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance |
| of readpages by eliminating one extra memcpy. Allow update of file size |
| from remote server even if file is open for write as long as mount is |
| directio. Recognize share mode security and send NTLM encrypted password |
| on tree connect if share mode negotiated. |
| |
| Version 1.39 |
| ------------ |
| Defer close of a file handle slightly if pending writes depend on that handle |
| (this reduces the EBADF bad file handle errors that can be logged under heavy |
| stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2 |
| Fix SFU style symlinks and mknod needed for servers which do not support the |
| CIFS Unix Extensions. Fix setfacl/getfacl on bigendian. Timeout negative |
| dentries so files that the client sees as deleted but that later get created |
| on the server will be recognized. Add client side permission check on setattr. |
| Timeout stuck requests better (where server has never responded or sent corrupt |
| responses) |
| |
| Version 1.38 |
| ------------ |
| Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket) |
| to be smaller at first (but increasing) so large write performance performance |
| over GigE is better. Do not hang thread on illegal byte range lock response |
| from Windows (Windows can send an RFC1001 size which does not match smb size) by |
| allowing an SMBs TCP length to be up to a few bytes longer than it should be. |
| wsize and rsize can now be larger than negotiated buffer size if server |
| supports large readx/writex, even when directio mount flag not specified. |
| Write size will in many cases now be 16K instead of 4K which greatly helps |
| file copy performance on lightly loaded networks. Fix oops in dnotify |
| when experimental config flag enabled. Make cifsFYI more granular. |
| |
| Version 1.37 |
| ------------ |
| Fix readdir caching when unlink removes file in current search buffer, |
| and this is followed by a rewind search to just before the deleted entry. |
| Do not attempt to set ctime unless atime and/or mtime change requested |
| (most servers throw it away anyway). Fix length check of received smbs |
| to be more accurate. Fix big endian problem with mapchars mount option, |
| and with a field returned by statfs. |
| |
| Version 1.36 |
| ------------ |
| Add support for mounting to older pre-CIFS servers such as Windows9x and ME. |
| For these older servers, add option for passing netbios name of server in |
| on mount (servernetbiosname). Add suspend support for power management, to |
| avoid cifsd thread preventing software suspend from working. |
| Add mount option for disabling the default behavior of sending byte range lock |
| requests to the server (necessary for certain applications which break with |
| mandatory lock behavior such as Evolution), and also mount option for |
| requesting case insensitive matching for path based requests (requesting |
| case sensitive is the default). |
| |
| Version 1.35 |
| ------------ |
| Add writepage performance improvements. Fix path name conversions |
| for long filenames on mounts which were done with "mapchars" mount option |
| specified. Ensure multiplex ids do not collide. Fix case in which |
| rmmod can oops if done soon after last unmount. Fix truncated |
| search (readdir) output when resume filename was a long filename. |
| Fix filename conversion when mapchars mount option was specified and |
| filename was a long filename. |
| |
| Version 1.34 |
| ------------ |
| Fix error mapping of the TOO_MANY_LINKS (hardlinks) case. |
| Do not oops if root user kills cifs oplock kernel thread or |
| kills the cifsd thread (NB: killing the cifs kernel threads is not |
| recommended, unmount and rmmod cifs will kill them when they are |
| no longer needed). Fix readdir to ASCII servers (ie older servers |
| which do not support Unicode) and also require asterisk. |
| Fix out of memory case in which data could be written one page |
| off in the page cache. |
| |
| Version 1.33 |
| ------------ |
| Fix caching problem, in which readdir of directory containing a file |
| which was cached could cause the file's time stamp to be updated |
| without invalidating the readahead data (so we could get stale |
| file data on the client for that file even as the server copy changed). |
| Cleanup response processing so cifsd can not loop when abnormally |
| terminated. |
| |
| |
| Version 1.32 |
| ------------ |
| Fix oops in ls when Transact2 FindFirst (or FindNext) returns more than one |
| transact response for an SMB request and search entry split across two frames. |
| Add support for lsattr (getting ext2/ext3/reiserfs attr flags from the server) |
| as new protocol extensions. Do not send Get/Set calls for POSIX ACLs |
| unless server explicitly claims to support them in CIFS Unix extensions |
| POSIX ACL capability bit. Fix packet signing when multiuser mounting with |
| different users from the same client to the same server. Fix oops in |
| cifs_close. Add mount option for remapping reserved characters in |
| filenames (also allow recognizing files with created by SFU which have any |
| of these seven reserved characters, except backslash, to be recognized). |
| Fix invalid transact2 message (we were sometimes trying to interpret |
| oplock breaks as SMB responses). Add ioctl for checking that the |
| current uid matches the uid of the mounter (needed by umount.cifs). |
| Reduce the number of large buffer allocations in cifs response processing |
| (significantly reduces memory pressure under heavy stress with multiple |
| processes accessing the same server at the same time). |
| |
| Version 1.31 |
| ------------ |
| Fix updates of DOS attributes and time fields so that files on NT4 servers |
| do not get marked delete on close. Display sizes of cifs buffer pools in |
| cifs stats. Fix oops in unmount when cifsd thread being killed by |
| shutdown. Add generic readv/writev and aio support. Report inode numbers |
| consistently in readdir and lookup (when serverino mount option is |
| specified use the inode number that the server reports - for both lookup |
| and readdir, otherwise by default the locally generated inode number is used |
| for inodes created in either path since servers are not always able to |
| provide unique inode numbers when exporting multiple volumes from under one |
| sharename). |
| |
| Version 1.30 |
| ------------ |
| Allow new nouser_xattr mount parm to disable xattr support for user namespace. |
| Do not flag user_xattr mount parm in dmesg. Retry failures setting file time |
| (mostly affects NT4 servers) by retry with handle based network operation. |
| Add new POSIX Query FS Info for returning statfs info more accurately. |
| Handle passwords with multiple commas in them. |
| |
| Version 1.29 |
| ------------ |
| Fix default mode in sysfs of cifs module parms. Remove old readdir routine. |
| Fix capabilities flags for large readx so as to allow reads larger than 64K. |
| |
| Version 1.28 |
| ------------ |
| Add module init parm for large SMB buffer size (to allow it to be changed |
| from its default of 16K) which is especially useful for large file copy |
| when mounting with the directio mount option. Fix oops after |
| returning from mount when experimental ExtendedSecurity enabled and |
| SpnegoNegotiated returning invalid error. Fix case to retry better when |
| peek returns from 1 to 3 bytes on socket which should have more data. |
| Fixed path based calls (such as cifs lookup) to handle path names |
| longer than 530 (now can handle PATH_MAX). Fix pass through authentication |
| from Samba server to DC (Samba required dummy LM password). |
| |
| Version 1.27 |
| ------------ |
| Turn off DNOTIFY (directory change notification support) by default |
| (unless built with the experimental flag) to fix hang with KDE |
| file browser. Fix DNOTIFY flag mappings. Fix hang (in wait_event |
| waiting on an SMB response) in SendReceive when session dies but |
| reconnects quickly from another task. Add module init parms for |
| minimum number of large and small network buffers in the buffer pools, |
| and for the maximum number of simultaneous requests. |
| |
| Version 1.26 |
| ------------ |
| Add setfacl support to allow setting of ACLs remotely to Samba 3.10 and later |
| and other POSIX CIFS compliant servers. Fix error mapping for getfacl |
| to EOPNOTSUPP when server does not support posix acls on the wire. Fix |
| improperly zeroed buffer in CIFS Unix extensions set times call. |
| |
| Version 1.25 |
| ------------ |
| Fix internationalization problem in cifs readdir with filenames that map to |
| longer UTF-8 strings than the string on the wire was in Unicode. Add workaround |
| for readdir to netapp servers. Fix search rewind (seek into readdir to return |
| non-consecutive entries). Do not do readdir when server negotiates |
| buffer size to small to fit filename. Add support for reading POSIX ACLs from |
| the server (add also acl and noacl mount options). |
| |
| Version 1.24 |
| ------------ |
| Optionally allow using server side inode numbers, rather than client generated |
| ones by specifying mount option "serverino" - this is required for some apps |
| to work which double check hardlinked files and have persistent inode numbers. |
| |
| Version 1.23 |
| ------------ |
| Multiple bigendian fixes. On little endian systems (for reconnect after |
| network failure) fix tcp session reconnect code so we do not try first |
| to reconnect on reverse of port 445. Treat reparse points (NTFS junctions) |
| as directories rather than symlinks because we can do follow link on them. |
| |
| Version 1.22 |
| ------------ |
| Add config option to enable XATTR (extended attribute) support, mapping |
| xattr names in the "user." namespace space to SMB/CIFS EAs. Lots of |
| minor fixes pointed out by the Stanford SWAT checker (mostly missing |
| or out of order NULL pointer checks in little used error paths). |
| |
| Version 1.21 |
| ------------ |
| Add new mount parm to control whether mode check (generic_permission) is done |
| on the client. If Unix extensions are enabled and the uids on the client |
| and server do not match, client permission checks are meaningless on |
| server uids that do not exist on the client (this does not affect the |
| normal ACL check which occurs on the server). Fix default uid |
| on mknod to match create and mkdir. Add optional mount parm to allow |
| override of the default uid behavior (in which the server sets the uid |
| and gid of newly created files). Normally for network filesystem mounts |
| user want the server to set the uid/gid on newly created files (rather than |
| using uid of the client processes you would in a local filesystem). |
| |
| Version 1.20 |
| ------------ |
| Make transaction counts more consistent. Merge /proc/fs/cifs/SimultaneousOps |
| info into /proc/fs/cifs/DebugData. Fix oops in rare oops in readdir |
| (in build_wildcard_path_from_dentry). Fix mknod to pass type field |
| (block/char/fifo) properly. Remove spurious mount warning log entry when |
| credentials passed as mount argument. Set major/minor device number in |
| inode for block and char devices when unix extensions enabled. |
| |
| Version 1.19 |
| ------------ |
| Fix /proc/fs/cifs/Stats and DebugData display to handle larger |
| amounts of return data. Properly limit requests to MAX_REQ (50 |
| is the usual maximum active multiplex SMB/CIFS requests per server). |
| Do not kill cifsd (and thus hurt the other SMB session) when more than one |
| session to the same server (but with different userids) exists and one |
| of the two user's smb sessions is being removed while leaving the other. |
| Do not loop reconnecting in cifsd demultiplex thread when admin |
| kills the thread without going through unmount. |
| |
| Version 1.18 |
| ------------ |
| Do not rename hardlinked files (since that should be a noop). Flush |
| cached write behind data when reopening a file after session abend, |
| except when already in write. Grab per socket sem during reconnect |
| to avoid oops in sendmsg if overlapping with reconnect. Do not |
| reset cached inode file size on readdir for files open for write on |
| client. |
| |
| |
| Version 1.17 |
| ------------ |
| Update number of blocks in file so du command is happier (in Linux a fake |
| blocksize of 512 is required for calculating number of blocks in inode). |
| Fix prepare write of partial pages to read in data from server if possible. |
| Fix race on tcpStatus field between unmount and reconnection code, causing |
| cifsd process sometimes to hang around forever. Improve out of memory |
| checks in cifs_filldir |
| |
| Version 1.16 |
| ------------ |
| Fix incorrect file size in file handle based setattr on big endian hardware. |
| Fix oops in build_path_from_dentry when out of memory. Add checks for invalid |
| and closing file structs in writepage/partialpagewrite. Add statistics |
| for each mounted share (new menuconfig option). Fix endianness problem in |
| volume information displayed in /proc/fs/cifs/DebugData (only affects |
| affects big endian architectures). Prevent renames while constructing |
| path names for open, mkdir and rmdir. |
| |
| Version 1.15 |
| ------------ |
| Change to mempools for alloc smb request buffers and multiplex structs |
| to better handle low memory problems (and potential deadlocks). |
| |
| Version 1.14 |
| ------------ |
| Fix incomplete listings of large directories on Samba servers when Unix |
| extensions enabled. Fix oops when smb_buffer can not be allocated. Fix |
| rename deadlock when writing out dirty pages at same time. |
| |
| Version 1.13 |
| ------------ |
| Fix open of files in which O_CREATE can cause the mode to change in |
| some cases. Fix case in which retry of write overlaps file close. |
| Fix PPC64 build error. Reduce excessive stack usage in smb password |
| hashing. Fix overwrite of Linux user's view of file mode to Windows servers. |
| |
| Version 1.12 |
| ------------ |
| Fixes for large file copy, signal handling, socket retry, buffer |
| allocation and low memory situations. |
| |
| Version 1.11 |
| ------------ |
| Better port 139 support to Windows servers (RFC1001/RFC1002 Session_Initialize) |
| also now allowing support for specifying client netbiosname. NT4 support added. |
| |
| Version 1.10 |
| ------------ |
| Fix reconnection (and certain failed mounts) to properly wake up the |
| blocked users thread so it does not seem hung (in some cases was blocked |
| until the cifs receive timeout expired). Fix spurious error logging |
| to kernel log when application with open network files killed. |
| |
| Version 1.09 |
| ------------ |
| Fix /proc/fs module unload warning message (that could be logged |
| to the kernel log). Fix intermittent failure in connectathon |
| test7 (hardlink count not immediately refreshed in case in which |
| inode metadata can be incorrectly kept cached when time near zero) |
| |
| Version 1.08 |
| ------------ |
| Allow file_mode and dir_mode (specified at mount time) to be enforced |
| locally (the server already enforced its own ACLs too) for servers |
| that do not report the correct mode (do not support the |
| CIFS Unix Extensions). |
| |
| Version 1.07 |
| ------------ |
| Fix some small memory leaks in some unmount error paths. Fix major leak |
| of cache pages in readpages causing multiple read oriented stress |
| testcases (including fsx, and even large file copy) to fail over time. |
| |
| Version 1.06 |
| ------------ |
| Send NTCreateX with ATTR_POSIX if Linux/Unix extensions negotiated with server. |
| This allows files that differ only in case and improves performance of file |
| creation and file open to such servers. Fix semaphore conflict which causes |
| slow delete of open file to Samba (which unfortunately can cause an oplock |
| break to self while vfs_unlink held i_sem) which can hang for 20 seconds. |
| |
| Version 1.05 |
| ------------ |
| fixes to cifs_readpages for fsx test case |
| |
| Version 1.04 |
| ------------ |
| Fix caching data integrity bug when extending file size especially when no |
| oplock on file. Fix spurious logging of valid already parsed mount options |
| that are parsed outside of the cifs vfs such as nosuid. |
| |
| |
| Version 1.03 |
| ------------ |
| Connect to server when port number override not specified, and tcp port |
| unitialized. Reset search to restart at correct file when kernel routine |
| filldir returns error during large directory searches (readdir). |
| |
| Version 1.02 |
| ------------ |
| Fix caching problem when files opened by multiple clients in which |
| page cache could contain stale data, and write through did |
| not occur often enough while file was still open when read ahead |
| (read oplock) not allowed. Treat "sep=" when first mount option |
| as an override of comma as the default separator between mount |
| options. |
| |
| Version 1.01 |
| ------------ |
| Allow passwords longer than 16 bytes. Allow null password string. |
| |
| Version 1.00 |
| ------------ |
| Gracefully clean up failed mounts when attempting to mount to servers such as |
| Windows 98 that terminate tcp sessions during protocol negotiation. Handle |
| embedded commas in mount parsing of passwords. |
| |
| Version 0.99 |
| ------------ |
| Invalidate local inode cached pages on oplock break and when last file |
| instance is closed so that the client does not continue using stale local |
| copy rather than later modified server copy of file. Do not reconnect |
| when server drops the tcp session prematurely before negotiate |
| protocol response. Fix oops in reopen_file when dentry freed. Allow |
| the support for CIFS Unix Extensions to be disabled via proc interface. |
| |
| Version 0.98 |
| ------------ |
| Fix hang in commit_write during reconnection of open files under heavy load. |
| Fix unload_nls oops in a mount failure path. Serialize writes to same socket |
| which also fixes any possible races when cifs signatures are enabled in SMBs |
| being sent out of signature sequence number order. |
| |
| Version 0.97 |
| ------------ |
| Fix byte range locking bug (endian problem) causing bad offset and |
| length. |
| |
| Version 0.96 |
| ------------ |
| Fix oops (in send_sig) caused by CIFS unmount code trying to |
| wake up the demultiplex thread after it had exited. Do not log |
| error on harmless oplock release of closed handle. |
| |
| Version 0.95 |
| ------------ |
| Fix unsafe global variable usage and password hash failure on gcc 3.3.1 |
| Fix problem reconnecting secondary mounts to same server after session |
| failure. Fix invalid dentry - race in mkdir when directory gets created |
| by another client between the lookup and mkdir. |
| |
| Version 0.94 |
| ------------ |
| Fix to list processing in reopen_files. Fix reconnection when server hung |
| but tcpip session still alive. Set proper timeout on socket read. |
| |
| Version 0.93 |
| ------------ |
| Add missing mount options including iocharset. SMP fixes in write and open. |
| Fix errors in reconnecting after TCP session failure. Fix module unloading |
| of default nls codepage |
| |
| Version 0.92 |
| ------------ |
| Active smb transactions should never go negative (fix double FreeXid). Fix |
| list processing in file routines. Check return code on kmalloc in open. |
| Fix spinlock usage for SMP. |
| |
| Version 0.91 |
| ------------ |
| Fix oops in reopen_files when invalid dentry. drop dentry on server rename |
| and on revalidate errors. Fix cases where pid is now tgid. Fix return code |
| on create hard link when server does not support them. |
| |
| Version 0.90 |
| ------------ |
| Fix scheduling while atomic error in getting inode info on newly created file. |
| Fix truncate of existing files opened with O_CREAT but not O_TRUNC set. |
| |
| Version 0.89 |
| ------------ |
| Fix oops on write to dead tcp session. Remove error log write for case when file open |
| O_CREAT but not O_EXCL |
| |
| Version 0.88 |
| ------------ |
| Fix non-POSIX behavior on rename of open file and delete of open file by taking |
| advantage of trans2 SetFileInfo rename facility if available on target server. |
| Retry on ENOSPC and EAGAIN socket errors. |
| |
| Version 0.87 |
| ------------ |
| Fix oops on big endian readdir. Set blksize to be even power of two (2**blkbits) to fix |
| allocation size miscalculation. After oplock token lost do not read through |
| cache. |
| |
| Version 0.86 |
| ------------ |
| Fix oops on empty file readahead. Fix for file size handling for locally cached files. |
| |
| Version 0.85 |
| ------------ |
| Fix oops in mkdir when server fails to return inode info. Fix oops in reopen_files |
| during auto reconnection to server after server recovered from failure. |
| |
| Version 0.84 |
| ------------ |
| Finish support for Linux 2.5 open/create changes, which removes the |
| redundant NTCreate/QPathInfo/close that was sent during file create. |
| Enable oplock by default. Enable packet signing by default (needed to |
| access many recent Windows servers) |
| |
| Version 0.83 |
| ------------ |
| Fix oops when mounting to long server names caused by inverted parms to kmalloc. |
| Fix MultiuserMount (/proc/fs/cifs configuration setting) so that when enabled |
| we will choose a cifs user session (smb uid) that better matches the local |
| uid if a) the mount uid does not match the current uid and b) we have another |
| session to the same server (ip address) for a different mount which |
| matches the current local uid. |
| |
| Version 0.82 |
| ------------ |
| Add support for mknod of block or character devices. Fix oplock |
| code (distributed caching) to properly send response to oplock |
| break from server. |
| |
| Version 0.81 |
| ------------ |
| Finish up CIFS packet digital signing for the default |
| NTLM security case. This should help Windows 2003 |
| network interoperability since it is common for |
| packet signing to be required now. Fix statfs (stat -f) |
| which recently started returning errors due to |
| invalid value (-1 instead of 0) being set in the |
| struct kstatfs f_ffiles field. |
| |
| Version 0.80 |
| ----------- |
| Fix oops on stopping oplock thread when removing cifs when |
| built as module. |
| |
| Version 0.79 |
| ------------ |
| Fix mount options for ro (readonly), uid, gid and file and directory mode. |
| |
| Version 0.78 |
| ------------ |
| Fix errors displayed on failed mounts to be more understandable. |
| Fixed various incorrect or misleading smb to posix error code mappings. |
| |
| Version 0.77 |
| ------------ |
| Fix display of NTFS DFS junctions to display as symlinks. |
| They are the network equivalent. Fix oops in |
| cifs_partialpagewrite caused by missing spinlock protection |
| of openfile linked list. Allow writebehind caching errors to |
| be returned to the application at file close. |
| |
| Version 0.76 |
| ------------ |
| Clean up options displayed in /proc/mounts by show_options to |
| be more consistent with other filesystems. |
| |
| Version 0.75 |
| ------------ |
| Fix delete of readonly file to Windows servers. Reflect |
| presence or absence of read only dos attribute in mode |
| bits for servers that do not support CIFS Unix extensions. |
| Fix shortened results on readdir of large directories to |
| servers supporting CIFS Unix extensions (caused by |
| incorrect resume key). |
| |
| Version 0.74 |
| ------------ |
| Fix truncate bug (set file size) that could cause hangs e.g. running fsx |
| |
| Version 0.73 |
| ------------ |
| unload nls if mount fails. |
| |
| Version 0.72 |
| ------------ |
| Add resume key support to search (readdir) code to workaround |
| Windows bug. Add /proc/fs/cifs/LookupCacheEnable which |
| allows disabling caching of attribute information for |
| lookups. |
| |
| Version 0.71 |
| ------------ |
| Add more oplock handling (distributed caching code). Remove |
| dead code. Remove excessive stack space utilization from |
| symlink routines. |
| |
| Version 0.70 |
| ------------ |
| Fix oops in get dfs referral (triggered when null path sent in to |
| mount). Add support for overriding rsize at mount time. |
| |
| Version 0.69 |
| ------------ |
| Fix buffer overrun in readdir which caused intermittent kernel oopses. |
| Fix writepage code to release kmap on write data. Allow "-ip=" new |
| mount option to be passed in on parameter distinct from the first part |
| (server name portion of) the UNC name. Allow override of the |
| tcp port of the target server via new mount option "-port=" |
| |
| Version 0.68 |
| ------------ |
| Fix search handle leak on rewind. Fix setuid and gid so that they are |
| reflected in the local inode immediately. Cleanup of whitespace |
| to make 2.4 and 2.5 versions more consistent. |
| |
| |
| Version 0.67 |
| ------------ |
| Fix signal sending so that captive thread (cifsd) exits on umount |
| (which was causing the warning in kmem_cache_free of the request buffers |
| at rmmod time). This had broken as a sideeffect of the recent global |
| kernel change to daemonize. Fix memory leak in readdir code which |
| showed up in "ls -R" (and applications that did search rewinding). |
| |
| Version 0.66 |
| ------------ |
| Reconnect tids and fids after session reconnection (still do not |
| reconnect byte range locks though). Fix problem caching |
| lookup information for directory inodes, improving performance, |
| especially in deep directory trees. Fix various build warnings. |
| |
| Version 0.65 |
| ------------ |
| Finish fixes to commit write for caching/readahead consistency. fsx |
| now works to Samba servers. Fix oops caused when readahead |
| was interrupted by a signal. |
| |
| Version 0.64 |
| ------------ |
| Fix data corruption (in partial page after truncate) that caused fsx to |
| fail to Windows servers. Cleaned up some extraneous error logging in |
| common error paths. Add generic sendfile support. |
| |
| Version 0.63 |
| ------------ |
| Fix memory leak in AllocMidQEntry. |
| Finish reconnection logic, so connection with server can be dropped |
| (or server rebooted) and the cifs client will reconnect. |
| |
| Version 0.62 |
| ------------ |
| Fix temporary socket leak when bad userid or password specified |
| (or other SMBSessSetup failure). Increase maximum buffer size to slightly |
| over 16K to allow negotiation of up to Samba and Windows server default read |
| sizes. Add support for readpages |
| |
| Version 0.61 |
| ------------ |
| Fix oops when username not passed in on mount. Extensive fixes and improvements |
| to error logging (strip redundant newlines, change debug macros to ensure newline |
| passed in and to be more consistent). Fix writepage wrong file handle problem, |
| a readonly file handle could be incorrectly used to attempt to write out |
| file updates through the page cache to multiply open files. This could cause |
| the iozone benchmark to fail on the fwrite test. Fix bug mounting two different |
| shares to the same Windows server when using different usernames |
| (doing this to Samba servers worked but Windows was rejecting it) - now it is |
| possible to use different userids when connecting to the same server from a |
| Linux client. Fix oops when treeDisconnect called during unmount on |
| previously freed socket. |
| |
| Version 0.60 |
| ------------ |
| Fix oops in readpages caused by not setting address space operations in inode in |
| rare code path. |
| |
| Version 0.59 |
| ------------ |
| Includes support for deleting of open files and renaming over existing files (per POSIX |
| requirement). Add readlink support for Windows junction points (directory symlinks). |
| |
| Version 0.58 |
| ------------ |
| Changed read and write to go through pagecache. Added additional address space operations. |
| Memory mapped operations now working. |
| |
| Version 0.57 |
| ------------ |
| Added writepage code for additional memory mapping support. Fixed leak in xids causing |
| the simultaneous operations counter (/proc/fs/cifs/SimultaneousOps) to increase on |
| every stat call. Additional formatting cleanup. |
| |
| Version 0.56 |
| ------------ |
| Fix bigendian bug in order of time conversion. Merge 2.5 to 2.4 version. Formatting cleanup. |
| |
| Version 0.55 |
| ------------ |
| Fixes from Zwane Mwaikambo for adding missing return code checking in a few places. |
| Also included a modified version of his fix to protect global list manipulation of |
| the smb session and tree connection and mid related global variables. |
| |
| Version 0.54 |
| ------------ |
| Fix problem with captive thread hanging around at unmount time. Adjust to 2.5.42-pre |
| changes to superblock layout. Remove wasteful allocation of smb buffers (now the send |
| buffer is reused for responses). Add more oplock handling. Additional minor cleanup. |
| |
| Version 0.53 |
| ------------ |
| More stylistic updates to better match kernel style. Add additional statistics |
| for filesystem which can be viewed via /proc/fs/cifs. Add more pieces of NTLMv2 |
| and CIFS Packet Signing enablement. |
| |
| Version 0.52 |
| ------------ |
| Replace call to sleep_on with safer wait_on_event. |
| Make stylistic changes to better match kernel style recommendations. |
| Remove most typedef usage (except for the PDUs themselves). |
| |
| Version 0.51 |
| ------------ |
| Update mount so the -unc mount option is no longer required (the ip address can be specified |
| in a UNC style device name. Implementation of readpage/writepage started. |
| |
| Version 0.50 |
| ------------ |
| Fix intermittent problem with incorrect smb header checking on badly |
| fragmented tcp responses |
| |
| Version 0.49 |
| ------------ |
| Fixes to setting of allocation size and file size. |
| |
| Version 0.48 |
| ------------ |
| Various 2.5.38 fixes. Now works on 2.5.38 |
| |
| Version 0.47 |
| ------------ |
| Prepare for 2.5 kernel merge. Remove ifdefs. |
| |
| Version 0.46 |
| ------------ |
| Socket buffer management fixes. Fix dual free. |
| |
| Version 0.45 |
| ------------ |
| Various big endian fixes for hardlinks and symlinks and also for dfs. |
| |
| Version 0.44 |
| ------------ |
| Various big endian fixes for servers with Unix extensions such as Samba |
| |
| Version 0.43 |
| ------------ |
| Various FindNext fixes for incorrect filenames on large directory searches on big endian |
| clients. basic posix file i/o tests now work on big endian machines, not just le |
| |
| Version 0.42 |
| ------------ |
| SessionSetup and NegotiateProtocol now work from Big Endian machines. |
| Various Big Endian fixes found during testing on the Linux on 390. Various fixes for compatibility with older |
| versions of 2.4 kernel (now builds and works again on kernels at least as early as 2.4.7). |
| |
| Version 0.41 |
| ------------ |
| Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked |
| files now return the correct number of links on fstat as they are repeatedly linked and unlinked. |
| |
| Version 0.40 |
| ------------ |
| Implemented "Raw" (i.e. not encapsulated in SPNEGO) NTLMSSP (i.e. the Security Provider Interface used to negotiate |
| session advanced session authentication). Raw NTLMSSP is preferred by Windows 2000 Professional and Windows XP. |
| Began implementing support for SPNEGO encapsulation of NTLMSSP based session authentication blobs |
| (which is the mechanism preferred by Windows 2000 server in the absence of Kerberos). |
| |
| Version 0.38 |
| ------------ |
| Introduced optional mount helper utility mount.cifs and made coreq changes to cifs vfs to enable |
| it. Fixed a few bugs in the DFS code (e.g. bcc two bytes too short and incorrect uid in PDU). |
| |
| Version 0.37 |
| ------------ |
| Rewrote much of connection and mount/unmount logic to handle bugs with |
| multiple uses to same share, multiple users to same server etc. |
| |
| Version 0.36 |
| ------------ |
| Fixed major problem with dentry corruption (missing call to dput) |
| |
| Version 0.35 |
| ------------ |
| Rewrite of readdir code to fix bug. Various fixes for bigendian machines. |
| Begin adding oplock support. Multiusermount and oplockEnabled flags added to /proc/fs/cifs |
| although corresponding function not fully implemented in the vfs yet |
| |
| Version 0.34 |
| ------------ |
| Fixed dentry caching bug, misc. cleanup |
| |
| Version 0.33 |
| ------------ |
| Fixed 2.5 support to handle build and configure changes as well as misc. 2.5 changes. Now can build |
| on current 2.5 beta version (2.5.24) of the Linux kernel as well as on 2.4 Linux kernels. |
| Support for STATUS codes (newer 32 bit NT error codes) added. DFS support begun to be added. |
| |
| Version 0.32 |
| ------------ |
| Unix extensions (symlink, readlink, hardlink, chmod and some chgrp and chown) implemented |
| and tested against Samba 2.2.5 |
| |
| |
| Version 0.31 |
| ------------ |
| 1) Fixed lockrange to be correct (it was one byte too short) |
| |
| 2) Fixed GETLK (i.e. the fcntl call to test a range of bytes in a file to see if locked) to correctly |
| show range as locked when there is a conflict with an existing lock. |
| |
| 3) default file perms are now 2767 (indicating support for mandatory locks) instead of 777 for directories |
| in most cases. Eventually will offer optional ability to query server for the correct perms. |
| |
| 3) Fixed eventual trap when mounting twice to different shares on the same server when the first succeeded |
| but the second one was invalid and failed (the second one was incorrectly disconnecting the tcp and smb |
| session) |
| |
| 4) Fixed error logging of valid mount options |
| |
| 5) Removed logging of password field. |
| |
| 6) Moved negotiate, treeDisconnect and uloggoffX (only tConx and SessSetup remain in connect.c) to cifssmb.c |
| and cleaned them up and made them more consistent with other cifs functions. |
| |
| 7) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways |
| (with or without Unix extensions) but FindNext and QueryPathInfo with the Unix extensions are not completed, |
| nor is the symlink support using the Unix extensions |
| |
| 8) Started adding the readlink and follow_link code |
| |
| Version 0.3 |
| ----------- |
| Initial drop |
| |