Steve French | c5077ec | 2009-05-28 15:09:04 +0000 | [diff] [blame] | 1 | Version 1.59 |
| 2 | ------------ |
| 3 | Client uses server inode numbers (which are persistent) rather than |
| 4 | client generated ones by default (mount option "serverino" turned |
| 5 | on by default if server supports it). |
| 6 | |
Steve French | ff69452 | 2009-04-20 19:45:13 +0000 | [diff] [blame] | 7 | Version 1.58 |
| 8 | ------------ |
| 9 | Guard against buffer overruns in various UCS-2 to UTF-8 string conversions |
| 10 | when the UTF-8 string is composed of unusually long (more than 4 byte) converted |
Steve French | d185cda | 2009-04-30 17:45:10 +0000 | [diff] [blame] | 11 | characters. Add support for mounting root of a share which redirects immediately |
| 12 | to DFS target. Convert string conversion functions from Unicode to more |
| 13 | accurately mark string length before allocating memory (which may help the |
| 14 | rare cases where a UTF-8 string is much larger than the UCS2 string that |
Steve French | e836f01 | 2009-05-01 16:20:35 +0000 | [diff] [blame] | 15 | we converted from). Fix endianness of the vcnum field used during |
| 16 | session setup to distinguish multiple mounts to same server from different |
Steve French | 0b3cc858 | 2009-05-04 08:37:12 +0000 | [diff] [blame] | 17 | userids. Raw NTLMSSP fixed (it requires /proc/fs/cifs/experimental |
| 18 | flag to be set to 2, and mount must enable krb5 to turn on extended security). |
Steve French | c5077ec | 2009-05-28 15:09:04 +0000 | [diff] [blame] | 19 | Performance of file create to Samba improved (posix create on lookup |
| 20 | removes 1 of 2 network requests sent on file create) |
Steve French | ff69452 | 2009-04-20 19:45:13 +0000 | [diff] [blame] | 21 | |
Steve French | eca6acf | 2009-02-20 05:43:09 +0000 | [diff] [blame] | 22 | Version 1.57 |
| 23 | ------------ |
| 24 | Improve support for multiple security contexts to the same server. We |
| 25 | used to use the same "vcnumber" for all connections which could cause |
| 26 | the server to treat subsequent connections, especially those that |
| 27 | are authenticated as guest, as reconnections, invalidating the earlier |
| 28 | user's smb session. This fix allows cifs to mount multiple times to the |
| 29 | same server with different userids without risking invalidating earlier |
Steve French | b298f22 | 2009-02-21 21:17:43 +0000 | [diff] [blame] | 30 | established security contexts. fsync now sends SMB Flush operation |
| 31 | to better ensure that we wait for server to write all of the data to |
Steve French | be65244 | 2009-02-23 15:21:59 +0000 | [diff] [blame] | 32 | server disk (not just write it over the network). Add new mount |
| 33 | parameter to allow user to disable sending the (slow) SMB flush on |
| 34 | fsync if desired (fsync still flushes all cached write data to the server). |
Steve French | 64cc2c6 | 2009-03-04 19:54:08 +0000 | [diff] [blame] | 35 | Posix file open support added (turned off after one attempt if server |
| 36 | fails to support it properly, as with Samba server versions prior to 3.3.2) |
Steve French | b363b33 | 2009-03-18 05:57:22 +0000 | [diff] [blame] | 37 | Fix "redzone overwritten" bug in cifs_put_tcon (CIFSTcon may allocate too |
| 38 | little memory for the "nativeFileSystem" field returned by the server |
Steve French | 85a6dac | 2009-04-01 05:22:00 +0000 | [diff] [blame] | 39 | during mount). Endian convert inode numbers if necessary (makes it easier |
| 40 | to compare inode numbers on network files from big endian systems). |
Steve French | eca6acf | 2009-02-20 05:43:09 +0000 | [diff] [blame] | 41 | |
Steve French | 13a6e42 | 2008-12-02 17:24:33 +0000 | [diff] [blame] | 42 | Version 1.56 |
| 43 | ------------ |
| 44 | Add "forcemandatorylock" mount option to allow user to use mandatory |
| 45 | rather than posix (advisory) byte range locks, even though server would |
Steve French | 8be0ed4 | 2008-12-05 19:14:12 +0000 | [diff] [blame] | 46 | support posix byte range locks. Fix query of root inode when prefixpath |
| 47 | specified and user does not have access to query information about the |
Steve French | c6fbba0 | 2008-12-18 01:41:20 +0000 | [diff] [blame] | 48 | top of the share. Fix problem in 2.6.28 resolving DFS paths to |
Steve French | 42c2454 | 2009-01-13 22:03:55 +0000 | [diff] [blame] | 49 | Samba servers (worked to Windows). Fix rmdir so that pending search |
| 50 | (readdir) requests do not get invalid results which include the now |
Steve French | 69765529 | 2009-02-17 01:29:40 +0000 | [diff] [blame] | 51 | removed directory. Fix oops in cifs_dfs_ref.c when prefixpath is not reachable |
Steve French | c3b2a0c | 2009-02-20 04:32:45 +0000 | [diff] [blame] | 52 | when using DFS. Add better file create support to servers which support |
| 53 | the CIFS POSIX protocol extensions (this adds support for new flags |
| 54 | on create, and improves semantics for write of locked ranges). |
Steve French | 13a6e42 | 2008-12-02 17:24:33 +0000 | [diff] [blame] | 55 | |
Steve French | 3270958 | 2008-10-20 00:44:19 +0000 | [diff] [blame] | 56 | Version 1.55 |
| 57 | ------------ |
| 58 | Various fixes to make delete of open files behavior more predictable |
| 59 | (when delete of an open file fails we mark the file as "delete-on-close" |
| 60 | in a way that more servers accept, but only if we can first rename the |
Steve French | 84210e9 | 2008-10-23 04:42:37 +0000 | [diff] [blame] | 61 | file to a temporary name). Add experimental support for more safely |
Steve French | edf1ae4 | 2008-10-29 00:47:57 +0000 | [diff] [blame] | 62 | handling fcntl(F_SETLEASE). Convert cifs to using blocking tcp |
| 63 | sends, and also let tcp autotune the socket send and receive buffers. |
| 64 | This reduces the number of EAGAIN errors returned by TCP/IP in |
| 65 | high stress workloads (and the number of retries on socket writes |
Steve French | bfb59820 | 2008-11-18 16:33:48 +0000 | [diff] [blame] | 66 | when sending large SMBWriteX requests). Fix case in which a portion of |
| 67 | data can in some cases not get written to the file on the server before the |
| 68 | file is closed. Fix DFS parsing to properly handle path consumed field, |
| 69 | and to handle certain codepage conversions better. Fix mount and |
| 70 | umount race that can cause oops in mount or umount or reconnect. |
Steve French | 3270958 | 2008-10-20 00:44:19 +0000 | [diff] [blame] | 71 | |
Steve French | 26b994f | 2008-08-06 05:11:33 +0000 | [diff] [blame] | 72 | Version 1.54 |
| 73 | ------------ |
| 74 | Fix premature write failure on congested networks (we would give up |
| 75 | on EAGAIN from the socket too quickly on large writes). |
| 76 | Cifs_mkdir and cifs_create now respect the setgid bit on parent dir. |
| 77 | Fix endian problems in acl (mode from/to cifs acl) on bigendian |
Steve French | 6ce5eec | 2008-08-26 00:37:14 +0000 | [diff] [blame] | 78 | architectures. Fix problems with preserving timestamps on copying open |
| 79 | files (e.g. "cp -a") to Windows servers. For mkdir and create honor setgid bit |
| 80 | on parent directory when server supports Unix Extensions but not POSIX |
| 81 | create. Update cifs.upcall version to handle new Kerberos sec flags |
Jeff Layton | 87ed1d6 | 2008-08-27 17:53:30 +0000 | [diff] [blame] | 82 | (this requires update of cifs.upcall program from Samba). Fix memory leak |
Steve French | 2e65502 | 2008-08-28 15:30:06 +0000 | [diff] [blame] | 83 | on dns_upcall (resolving DFS referralls). Fix plain text password |
| 84 | authentication (requires setting SecurityFlags to 0x30030 to enable |
| 85 | lanman and plain text though). Fix writes to be at correct offset when |
| 86 | file is open with O_APPEND and file is on a directio (forcediretio) mount. |
Steve French | 3270958 | 2008-10-20 00:44:19 +0000 | [diff] [blame] | 87 | Fix bug in rewinding readdir directory searches. Add nodfs mount option. |
Steve French | 26b994f | 2008-08-06 05:11:33 +0000 | [diff] [blame] | 88 | |
Steve French | 39da984 | 2008-04-28 04:04:34 +0000 | [diff] [blame] | 89 | Version 1.53 |
| 90 | ------------ |
Steve French | 0e4bbde | 2008-05-20 19:50:46 +0000 | [diff] [blame] | 91 | DFS support added (Microsoft Distributed File System client support needed |
| 92 | for referrals which enable a hierarchical name space among servers). |
Steve French | dbdbb87 | 2008-06-10 21:21:56 +0000 | [diff] [blame] | 93 | Disable temporary caching of mode bits to servers which do not support |
| 94 | storing of mode (e.g. Windows servers, when client mounts without cifsacl |
| 95 | mount option) and add new "dynperm" mount option to enable temporary caching |
| 96 | of mode (enable old behavior). Fix hang on mount caused when server crashes |
| 97 | tcp session during negotiate protocol. |
Steve French | 39da984 | 2008-04-28 04:04:34 +0000 | [diff] [blame] | 98 | |
Steve French | ce06c9f | 2007-11-08 21:12:01 +0000 | [diff] [blame] | 99 | Version 1.52 |
| 100 | ------------ |
Jeff Layton | 9b8f5f5 | 2007-11-09 23:25:04 +0000 | [diff] [blame] | 101 | Fix oops on second mount to server when null auth is used. |
Jeff Layton | cea2180 | 2007-11-20 23:19:03 +0000 | [diff] [blame] | 102 | Enable experimental Kerberos support. Return writebehind errors on flush |
| 103 | and sync so that events like out of disk space get reported properly on |
Jeff Layton | 1d9a885 | 2007-12-31 01:37:11 +0000 | [diff] [blame] | 104 | cached files. Fix setxattr failure to certain Samba versions. Fix mount |
| 105 | of second share to disconnected server session (autoreconnect on this). |
Steve French | 9783758 | 2007-12-31 07:47:21 +0000 | [diff] [blame] | 106 | Add ability to modify cifs acls for handling chmod (when mounted with |
Steve French | 03a143c | 2008-02-14 06:38:30 +0000 | [diff] [blame] | 107 | cifsacl flag). Fix prefixpath path separator so we can handle mounts |
| 108 | with prefixpaths longer than one directory (one path component) when |
Steve French | 932e2d2 | 2008-04-04 21:59:35 +0000 | [diff] [blame] | 109 | mounted to Windows servers. Fix slow file open when cifsacl |
Jeff Layton | 6353450 | 2008-05-12 19:56:05 -0700 | [diff] [blame] | 110 | enabled. Fix memory leak in FindNext when the SMB call returns -EBADF. |
| 111 | |
Steve French | ce06c9f | 2007-11-08 21:12:01 +0000 | [diff] [blame] | 112 | |
Steve French | 407f61a | 2007-09-28 06:53:39 +0000 | [diff] [blame] | 113 | Version 1.51 |
| 114 | ------------ |
| 115 | Fix memory leak in statfs when mounted to very old servers (e.g. |
Steve French | 92ad9b9 | 2007-09-29 05:21:58 +0000 | [diff] [blame] | 116 | Windows 9x). Add new feature "POSIX open" which allows servers |
| 117 | which support the current POSIX Extensions to provide better semantics |
| 118 | (e.g. delete for open files opened with posix open). Take into |
| 119 | account umask on posix mkdir not just older style mkdir. Add |
| 120 | ability to mount to IPC$ share (which allows CIFS named pipes to be |
Steve French | 297647c | 2007-10-12 04:11:59 +0000 | [diff] [blame] | 121 | opened, read and written as if they were files). When 1st tree |
| 122 | connect fails (e.g. due to signing negotiation failure) fix |
| 123 | leak that causes cifsd not to stop and rmmod to fail to cleanup |
Cyril Gorcunov | 8f2376a | 2007-10-14 17:58:43 +0000 | [diff] [blame] | 124 | cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on |
Steve French | c18c732 | 2007-10-17 18:01:11 +0000 | [diff] [blame] | 125 | bigendian architectures. Fix possible memory corruption when |
Steve French | abb63d6 | 2007-10-18 02:58:40 +0000 | [diff] [blame] | 126 | EAGAIN returned on kern_recvmsg. Return better error if server |
Shirish Pargaonkar | e01b640 | 2007-10-30 04:45:14 +0000 | [diff] [blame] | 127 | requires packet signing but client has disabled it. When mounted |
| 128 | with cifsacl mount option - mode bits are approximated based |
Steve French | 1fb64bf | 2007-11-01 02:12:10 +0000 | [diff] [blame] | 129 | on the contents of the ACL of the file or directory. When cifs |
| 130 | mount helper is missing convert make sure that UNC name |
| 131 | has backslash (not forward slash) between ip address of server |
| 132 | and the share name. |
Steve French | 407f61a | 2007-09-28 06:53:39 +0000 | [diff] [blame] | 133 | |
Steve French | b609f06 | 2007-07-09 07:55:14 +0000 | [diff] [blame] | 134 | Version 1.50 |
| 135 | ------------ |
Steve French | 7521a3c | 2007-07-11 18:30:34 +0000 | [diff] [blame] | 136 | Fix NTLMv2 signing. NFS server mounted over cifs works (if cifs mount is |
Steve French | 2d785a5 | 2007-07-15 01:48:57 +0000 | [diff] [blame] | 137 | done with "serverino" mount option). Add support for POSIX Unlink |
| 138 | (helps with certain sharing violation cases when server such as |
Steve French | a403a0a | 2007-07-26 15:54:16 +0000 | [diff] [blame] | 139 | Samba supports newer POSIX CIFS Protocol Extensions). Add "nounix" |
| 140 | mount option to allow disabling the CIFS Unix Extensions for just |
| 141 | that mount. Fix hang on spinlock in find_writable_file (race when |
Jeff Layton | 39db810 | 2007-08-24 03:16:51 +0000 | [diff] [blame] | 142 | reopening file after session crash). Byte range unlock request to |
| 143 | windows server could unlock more bytes (on server copy of file) |
| 144 | than intended if start of unlock request is well before start of |
| 145 | a previous byte range lock that we issued. |
Steve French | b609f06 | 2007-07-09 07:55:14 +0000 | [diff] [blame] | 146 | |
Steve French | 5858ae4 | 2007-04-25 11:59:10 +0000 | [diff] [blame] | 147 | Version 1.49 |
| 148 | ------------ |
| 149 | IPv6 support. Enable ipv6 addresses to be passed on mount (put the ipv6 |
| 150 | address after the "ip=" mount option, at least until mount.cifs is fixed to |
Steve French | 4523cc3 | 2007-04-30 20:13:06 +0000 | [diff] [blame] | 151 | handle DNS host to ipv6 name translation). Accept override of uid or gid |
| 152 | on mount even when Unix Extensions are negotiated (it used to be ignored |
| 153 | when Unix Extensions were ignored). This allows users to override the |
| 154 | default uid and gid for files when they are certain that the uids or |
Jeff Layton | 8426c39 | 2007-05-05 03:27:49 +0000 | [diff] [blame] | 155 | gids on the server do not match those of the client. Make "sec=none" |
| 156 | mount override username (so that null user connection is attempted) |
Steve French | 75865f8c | 2007-06-24 18:30:48 +0000 | [diff] [blame] | 157 | to match what documentation said. Support for very large reads, over 127K, |
| 158 | available to some newer servers (such as Samba 3.0.26 and later but |
| 159 | note that it also requires setting CIFSMaxBufSize at module install |
| 160 | time to a larger value which may hurt performance in some cases). |
Jeff | 38c10a1 | 2007-07-06 21:10:07 +0000 | [diff] [blame] | 161 | Make sign option force signing (or fail if server does not support it). |
Steve French | 5858ae4 | 2007-04-25 11:59:10 +0000 | [diff] [blame] | 162 | |
| 163 | Version 1.48 |
Steve French | 3677db1 | 2007-02-26 16:46:11 +0000 | [diff] [blame] | 164 | ------------ |
| 165 | Fix mtime bouncing around from local idea of last write times to remote time. |
| 166 | Fix hang (in i_size_read) when simultaneous size update of same remote file |
Steve French | 8a23626 | 2007-03-06 00:31:00 +0000 | [diff] [blame] | 167 | on smp system corrupts sequence number. Do not reread unnecessarily partial page |
| 168 | (which we are about to overwrite anyway) when writing out file opened rw. |
Alan Tyson | f5c1e2e | 2007-03-10 06:05:14 +0000 | [diff] [blame] | 169 | When DOS attribute of file on non-Unix server's file changes on the server side |
| 170 | from read-only back to read-write, reflect this change in default file mode |
Steve French | 066fcb0 | 2007-03-23 00:45:08 +0000 | [diff] [blame] | 171 | (we had been leaving a file's mode read-only until the inode were reloaded). |
| 172 | Allow setting of attribute back to ATTR_NORMAL (removing readonly dos attribute |
| 173 | when archive dos attribute not set and we are changing mode back to writeable |
Steve French | 5268df2 | 2007-04-06 19:28:16 +0000 | [diff] [blame] | 174 | on server which does not support the Unix Extensions). Remove read only dos |
| 175 | attribute on chmod when adding any write permission (ie on any of |
| 176 | user/group/other (not all of user/group/other ie 0222) when |
Steve French | 2dd29d3 | 2007-04-23 22:07:35 +0000 | [diff] [blame] | 177 | mounted to windows. Add support for POSIX MkDir (slight performance |
| 178 | enhancement and eliminates the network race between the mkdir and set |
| 179 | path info of the mode). |
| 180 | |
Steve French | 8a23626 | 2007-03-06 00:31:00 +0000 | [diff] [blame] | 181 | |
Steve French | 405c514 | 2006-12-23 18:44:33 +0000 | [diff] [blame] | 182 | Version 1.47 |
| 183 | ------------ |
| 184 | Fix oops in list_del during mount caused by unaligned string. |
Steve French | 595dcfe | 2007-02-08 18:11:42 +0000 | [diff] [blame] | 185 | Fix file corruption which could occur on some large file |
| 186 | copies caused by writepages page i/o completion bug. |
Steve French | a850790 | 2007-02-06 20:43:30 +0000 | [diff] [blame] | 187 | Seek to SEEK_END forces check for update of file size for non-cached |
Steve French | 8af1897 | 2007-02-14 04:42:51 +0000 | [diff] [blame] | 188 | files. Allow file size to be updated on remote extend of locally open, |
| 189 | non-cached file. Fix reconnect to newer Samba servers (or other servers |
| 190 | which support the CIFS Unix/POSIX extensions) so that we again tell the |
| 191 | server the Unix/POSIX cifs capabilities which we support (SetFSInfo). |
| 192 | Add experimental support for new POSIX Open/Mkdir (which returns |
| 193 | stat information on the open, and allows setting the mode). |
Steve French | 405c514 | 2006-12-23 18:44:33 +0000 | [diff] [blame] | 194 | |
Steve French | 2fe87f0 | 2006-09-21 07:02:52 +0000 | [diff] [blame] | 195 | Version 1.46 |
| 196 | ------------ |
| 197 | Support deep tree mounts. Better support OS/2, Win9x (DOS) time stamps. |
Steve French | 4b952a9 | 2006-10-30 21:46:13 +0000 | [diff] [blame] | 198 | Allow null user to be specified on mount ("username="). Do not return |
| 199 | EINVAL on readdir when filldir fails due to overwritten blocksize |
Steve French | 8e87d4d | 2006-11-02 03:45:24 +0000 | [diff] [blame] | 200 | (fixes FC problem). Return error in rename 2nd attempt retry (ie report |
| 201 | if rename by handle also fails, after rename by path fails, we were |
Steve French | 33ec32f | 2006-12-08 04:14:28 +0000 | [diff] [blame] | 202 | not reporting whether the retry worked or not). Fix NTLMv2 to |
| 203 | work to Windows servers (mount with option "sec=ntlmv2"). |
Steve French | 2fe87f0 | 2006-09-21 07:02:52 +0000 | [diff] [blame] | 204 | |
Steve French | 3a5ff61 | 2006-07-14 22:37:11 +0000 | [diff] [blame] | 205 | Version 1.45 |
| 206 | ------------ |
| 207 | Do not time out lockw calls when using posix extensions. Do not |
| 208 | time out requests if server still responding reasonably fast |
Steve French | e466e48 | 2006-08-15 13:07:18 +0000 | [diff] [blame] | 209 | on requests on other threads. Improve POSIX locking emulation, |
| 210 | (lock cancel now works, and unlock of merged range works even |
| 211 | to Windows servers now). Fix oops on mount to lanman servers |
Steve French | ea4c07d | 2006-08-16 19:44:25 +0000 | [diff] [blame] | 212 | (win9x, os/2 etc.) when null password. Do not send listxattr |
Steve French | 2fe87f0 | 2006-09-21 07:02:52 +0000 | [diff] [blame] | 213 | (SMB to query all EAs) if nouser_xattr specified. Fix SE Linux |
| 214 | problem (instantiate inodes/dentries in right order for readdir). |
Steve French | 3a5ff61 | 2006-07-14 22:37:11 +0000 | [diff] [blame] | 215 | |
Steve French | 3979877 | 2006-05-31 22:40:51 +0000 | [diff] [blame] | 216 | Version 1.44 |
| 217 | ------------ |
| 218 | Rewritten sessionsetup support, including support for legacy SMB |
| 219 | session setup needed for OS/2 and older servers such as Windows 95 and 98. |
Steve French | 5bafd76 | 2006-06-07 00:18:43 +0000 | [diff] [blame] | 220 | Fix oops on ls to OS/2 servers. Add support for level 1 FindFirst |
| 221 | so we can do search (ls etc.) to OS/2. Do not send NTCreateX |
| 222 | or recent levels of FindFirst unless server says it supports NT SMBs |
Steve French | 1717ffc | 2006-06-08 05:41:32 +0000 | [diff] [blame] | 223 | (instead use legacy equivalents from LANMAN dialect). Fix to allow |
| 224 | NTLMv2 authentication support (now can use stronger password hashing |
Steve French | 750d115 | 2006-06-27 06:28:30 +0000 | [diff] [blame] | 225 | on mount if corresponding /proc/fs/cifs/SecurityFlags is set (0x4004). |
| 226 | Allow override of global cifs security flags on mount via "sec=" option(s). |
Steve French | 3979877 | 2006-05-31 22:40:51 +0000 | [diff] [blame] | 227 | |
Steve French | fc94cdb | 2006-05-30 18:03:32 +0000 | [diff] [blame] | 228 | Version 1.43 |
| 229 | ------------ |
| 230 | POSIX locking to servers which support CIFS POSIX Extensions |
Steve French | a878fb2 | 2006-05-30 18:04:19 +0000 | [diff] [blame] | 231 | (disabled by default controlled by proc/fs/cifs/Experimental). |
| 232 | Handle conversion of long share names (especially Asian languages) |
Steve French | 26a21b9 | 2006-05-31 18:05:34 +0000 | [diff] [blame] | 233 | to Unicode during mount. Fix memory leak in sess struct on reconnect. |
| 234 | Fix rare oops after acpi suspend. Fix O_TRUNC opens to overwrite on |
| 235 | cifs open which helps rare case when setpathinfo fails or server does |
| 236 | not support it. |
Steve French | fc94cdb | 2006-05-30 18:03:32 +0000 | [diff] [blame] | 237 | |
Steve French | 13298de | 2006-03-03 10:45:19 +0000 | [diff] [blame] | 238 | Version 1.42 |
| 239 | ------------ |
| 240 | Fix slow oplock break when mounted to different servers at the same time and |
Steve French | 6080823 | 2006-04-22 15:53:05 +0000 | [diff] [blame] | 241 | the tids match and we try to find matching fid on wrong server. Fix read |
| 242 | looping when signing required by server (2.6.16 kernel only). Fix readdir |
| 243 | vs. rename race which could cause each to hang. Return . and .. even |
| 244 | if server does not. Allow searches to skip first three entries and |
| 245 | begin at any location. Fix oops in find_writeable_file. |
Steve French | 13298de | 2006-03-03 10:45:19 +0000 | [diff] [blame] | 246 | |
Steve French | 12b3b8f | 2006-02-09 21:12:47 +0000 | [diff] [blame] | 247 | Version 1.41 |
| 248 | ------------ |
| 249 | Fix NTLMv2 security (can be enabled in /proc/fs/cifs) so customers can |
| 250 | configure stronger authentication. Fix sfu symlinks so they can |
Steve French | 184ed21 | 2006-02-24 06:15:11 +0000 | [diff] [blame] | 251 | be followed (not just recognized). Fix wraparound of bcc on |
| 252 | read responses when buffer size over 64K and also fix wrap of |
| 253 | max smb buffer size when CIFSMaxBufSize over 64K. Fix oops in |
| 254 | cifs_user_read and cifs_readpages (when EAGAIN on send of smb |
Steve French | 08547b0 | 2006-02-28 22:39:25 +0000 | [diff] [blame] | 255 | on socket is returned over and over). Add POSIX (advisory) byte range |
| 256 | locking support (requires server with newest CIFS UNIX Extensions |
Steve French | 083d3a2c | 2006-03-03 09:53:36 +0000 | [diff] [blame] | 257 | to the protocol implemented). Slow down negprot slightly in port 139 |
| 258 | RFC1001 case to give session_init time on buggy servers. |
Steve French | 12b3b8f | 2006-02-09 21:12:47 +0000 | [diff] [blame] | 259 | |
Steve French | 8345187 | 2005-12-01 17:12:59 -0800 | [diff] [blame] | 260 | Version 1.40 |
| 261 | ------------ |
Steve French | 84afc29 | 2005-12-02 13:32:45 -0800 | [diff] [blame] | 262 | Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance |
Steve French | 0a4b92c | 2006-01-12 15:44:21 -0800 | [diff] [blame] | 263 | of readpages by eliminating one extra memcpy. Allow update of file size |
| 264 | from remote server even if file is open for write as long as mount is |
Steve French | eeac804 | 2006-01-13 21:34:58 -0800 | [diff] [blame] | 265 | directio. Recognize share mode security and send NTLM encrypted password |
| 266 | on tree connect if share mode negotiated. |
Steve French | 8345187 | 2005-12-01 17:12:59 -0800 | [diff] [blame] | 267 | |
Steve French | 23e7dd7 | 2005-10-20 13:44:56 -0700 | [diff] [blame] | 268 | Version 1.39 |
| 269 | ------------ |
Steve French | 3abb927 | 2005-11-28 08:16:13 -0800 | [diff] [blame] | 270 | Defer close of a file handle slightly if pending writes depend on that handle |
Steve French | 23e7dd7 | 2005-10-20 13:44:56 -0700 | [diff] [blame] | 271 | (this reduces the EBADF bad file handle errors that can be logged under heavy |
Steve French | 3c50c61 | 2005-11-10 17:31:33 -0800 | [diff] [blame] | 272 | stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2 |
Steve French | 3abb927 | 2005-11-28 08:16:13 -0800 | [diff] [blame] | 273 | Fix SFU style symlinks and mknod needed for servers which do not support the |
| 274 | CIFS Unix Extensions. Fix setfacl/getfacl on bigendian. Timeout negative |
| 275 | dentries so files that the client sees as deleted but that later get created |
Steve French | 6473a55 | 2005-11-29 20:20:10 -0800 | [diff] [blame] | 276 | on the server will be recognized. Add client side permission check on setattr. |
Steve French | 8345187 | 2005-12-01 17:12:59 -0800 | [diff] [blame] | 277 | Timeout stuck requests better (where server has never responded or sent corrupt |
| 278 | responses) |
Steve French | 23e7dd7 | 2005-10-20 13:44:56 -0700 | [diff] [blame] | 279 | |
Steve French | 190fdeb | 2005-10-10 11:48:26 -0700 | [diff] [blame] | 280 | Version 1.38 |
| 281 | ------------ |
| 282 | Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket) |
| 283 | to be smaller at first (but increasing) so large write performance performance |
| 284 | over GigE is better. Do not hang thread on illegal byte range lock response |
| 285 | from Windows (Windows can send an RFC1001 size which does not match smb size) by |
| 286 | allowing an SMBs TCP length to be up to a few bytes longer than it should be. |
| 287 | wsize and rsize can now be larger than negotiated buffer size if server |
| 288 | supports large readx/writex, even when directio mount flag not specified. |
| 289 | Write size will in many cases now be 16K instead of 4K which greatly helps |
Steve French | 4ca9c19 | 2005-10-10 19:52:13 -0700 | [diff] [blame] | 290 | file copy performance on lightly loaded networks. Fix oops in dnotify |
Steve French | 1047abc | 2005-10-11 19:58:06 -0700 | [diff] [blame] | 291 | when experimental config flag enabled. Make cifsFYI more granular. |
Steve French | 190fdeb | 2005-10-10 11:48:26 -0700 | [diff] [blame] | 292 | |
Steve French | eafe870 | 2005-09-15 21:47:30 -0700 | [diff] [blame] | 293 | Version 1.37 |
| 294 | ------------ |
| 295 | Fix readdir caching when unlink removes file in current search buffer, |
| 296 | and this is followed by a rewind search to just before the deleted entry. |
Steve French | e30dcf3 | 2005-09-20 20:49:16 -0700 | [diff] [blame] | 297 | Do not attempt to set ctime unless atime and/or mtime change requested |
Steve French | 2096243 | 2005-09-21 22:05:57 -0700 | [diff] [blame] | 298 | (most servers throw it away anyway). Fix length check of received smbs |
Steve French | 70ca734 | 2005-09-22 16:32:06 -0700 | [diff] [blame] | 299 | to be more accurate. Fix big endian problem with mapchars mount option, |
| 300 | and with a field returned by statfs. |
Steve French | eafe870 | 2005-09-15 21:47:30 -0700 | [diff] [blame] | 301 | |
Steve French | c46fa8a | 2005-08-18 20:49:57 -0700 | [diff] [blame] | 302 | Version 1.36 |
| 303 | ------------ |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 304 | Add support for mounting to older pre-CIFS servers such as Windows9x and ME. |
Steve French | 6b8edfe | 2005-08-23 20:26:03 -0700 | [diff] [blame] | 305 | For these older servers, add option for passing netbios name of server in |
Steve French | 16abbec | 2005-08-30 13:10:14 -0700 | [diff] [blame] | 306 | on mount (servernetbiosname). Add suspend support for power management, to |
| 307 | avoid cifsd thread preventing software suspend from working. |
Steve French | c46fa8a | 2005-08-18 20:49:57 -0700 | [diff] [blame] | 308 | Add mount option for disabling the default behavior of sending byte range lock |
| 309 | requests to the server (necessary for certain applications which break with |
| 310 | mandatory lock behavior such as Evolution), and also mount option for |
| 311 | requesting case insensitive matching for path based requests (requesting |
| 312 | case sensitive is the default). |
| 313 | |
Steve French | f4cfd69 | 2005-07-14 18:29:02 -0500 | [diff] [blame] | 314 | Version 1.35 |
| 315 | ------------ |
| 316 | Add writepage performance improvements. Fix path name conversions |
| 317 | for long filenames on mounts which were done with "mapchars" mount option |
Steve French | a10faeb2 | 2005-08-22 21:38:31 -0700 | [diff] [blame] | 318 | specified. Ensure multiplex ids do not collide. Fix case in which |
| 319 | rmmod can oops if done soon after last unmount. Fix truncated |
| 320 | search (readdir) output when resume filename was a long filename. |
| 321 | Fix filename conversion when mapchars mount option was specified and |
| 322 | filename was a long filename. |
Steve French | f4cfd69 | 2005-07-14 18:29:02 -0500 | [diff] [blame] | 323 | |
Steve French | 11aa014 | 2005-04-28 22:41:10 -0700 | [diff] [blame] | 324 | Version 1.34 |
| 325 | ------------ |
| 326 | Fix error mapping of the TOO_MANY_LINKS (hardlinks) case. |
Steve French | 31ca3bc | 2005-04-28 22:41:11 -0700 | [diff] [blame] | 327 | Do not oops if root user kills cifs oplock kernel thread or |
| 328 | kills the cifsd thread (NB: killing the cifs kernel threads is not |
| 329 | recommended, unmount and rmmod cifs will kill them when they are |
Steve French | 6857547 | 2005-04-30 11:10:57 -0700 | [diff] [blame] | 330 | no longer needed). Fix readdir to ASCII servers (ie older servers |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 331 | which do not support Unicode) and also require asterisk. |
Steve French | 3079ca6 | 2005-06-09 14:44:07 -0700 | [diff] [blame] | 332 | Fix out of memory case in which data could be written one page |
| 333 | off in the page cache. |
Steve French | 11aa014 | 2005-04-28 22:41:10 -0700 | [diff] [blame] | 334 | |
Steve French | 966ca92 | 2005-04-28 22:41:08 -0700 | [diff] [blame] | 335 | Version 1.33 |
| 336 | ------------ |
| 337 | Fix caching problem, in which readdir of directory containing a file |
| 338 | which was cached could cause the file's time stamp to be updated |
| 339 | without invalidating the readahead data (so we could get stale |
| 340 | file data on the client for that file even as the server copy changed). |
Steve French | cd63499 | 2005-04-28 22:41:10 -0700 | [diff] [blame] | 341 | Cleanup response processing so cifsd can not loop when abnormally |
| 342 | terminated. |
Steve French | 966ca92 | 2005-04-28 22:41:08 -0700 | [diff] [blame] | 343 | |
| 344 | |
Steve French | f654bac | 2005-04-28 22:41:04 -0700 | [diff] [blame] | 345 | Version 1.32 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 346 | ------------ |
| 347 | Fix oops in ls when Transact2 FindFirst (or FindNext) returns more than one |
| 348 | transact response for an SMB request and search entry split across two frames. |
Steve French | f654bac | 2005-04-28 22:41:04 -0700 | [diff] [blame] | 349 | Add support for lsattr (getting ext2/ext3/reiserfs attr flags from the server) |
| 350 | as new protocol extensions. Do not send Get/Set calls for POSIX ACLs |
| 351 | unless server explicitly claims to support them in CIFS Unix extensions |
Steve French | ad009ac | 2005-04-28 22:41:05 -0700 | [diff] [blame] | 352 | POSIX ACL capability bit. Fix packet signing when multiuser mounting with |
Steve French | cbe0476 | 2005-04-28 22:41:05 -0700 | [diff] [blame] | 353 | different users from the same client to the same server. Fix oops in |
Steve French | 6a0b482 | 2005-04-28 22:41:05 -0700 | [diff] [blame] | 354 | cifs_close. Add mount option for remapping reserved characters in |
| 355 | filenames (also allow recognizing files with created by SFU which have any |
Steve French | 737b758 | 2005-04-28 22:41:06 -0700 | [diff] [blame] | 356 | of these seven reserved characters, except backslash, to be recognized). |
Steve French | 848f3fc | 2005-04-28 22:41:07 -0700 | [diff] [blame] | 357 | Fix invalid transact2 message (we were sometimes trying to interpret |
Steve French | 099a58f | 2005-04-28 22:41:07 -0700 | [diff] [blame] | 358 | oplock breaks as SMB responses). Add ioctl for checking that the |
| 359 | current uid matches the uid of the mounter (needed by umount.cifs). |
| 360 | Reduce the number of large buffer allocations in cifs response processing |
| 361 | (significantly reduces memory pressure under heavy stress with multiple |
| 362 | processes accessing the same server at the same time). |
Steve French | f654bac | 2005-04-28 22:41:04 -0700 | [diff] [blame] | 363 | |
| 364 | Version 1.31 |
| 365 | ------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 366 | Fix updates of DOS attributes and time fields so that files on NT4 servers |
| 367 | do not get marked delete on close. Display sizes of cifs buffer pools in |
| 368 | cifs stats. Fix oops in unmount when cifsd thread being killed by |
| 369 | shutdown. Add generic readv/writev and aio support. Report inode numbers |
| 370 | consistently in readdir and lookup (when serverino mount option is |
| 371 | specified use the inode number that the server reports - for both lookup |
| 372 | and readdir, otherwise by default the locally generated inode number is used |
| 373 | for inodes created in either path since servers are not always able to |
| 374 | provide unique inode numbers when exporting multiple volumes from under one |
| 375 | sharename). |
| 376 | |
| 377 | Version 1.30 |
| 378 | ------------ |
| 379 | Allow new nouser_xattr mount parm to disable xattr support for user namespace. |
| 380 | Do not flag user_xattr mount parm in dmesg. Retry failures setting file time |
| 381 | (mostly affects NT4 servers) by retry with handle based network operation. |
| 382 | Add new POSIX Query FS Info for returning statfs info more accurately. |
| 383 | Handle passwords with multiple commas in them. |
| 384 | |
| 385 | Version 1.29 |
| 386 | ------------ |
| 387 | Fix default mode in sysfs of cifs module parms. Remove old readdir routine. |
| 388 | Fix capabilities flags for large readx so as to allow reads larger than 64K. |
| 389 | |
| 390 | Version 1.28 |
| 391 | ------------ |
| 392 | Add module init parm for large SMB buffer size (to allow it to be changed |
| 393 | from its default of 16K) which is especially useful for large file copy |
| 394 | when mounting with the directio mount option. Fix oops after |
| 395 | returning from mount when experimental ExtendedSecurity enabled and |
| 396 | SpnegoNegotiated returning invalid error. Fix case to retry better when |
| 397 | peek returns from 1 to 3 bytes on socket which should have more data. |
| 398 | Fixed path based calls (such as cifs lookup) to handle path names |
| 399 | longer than 530 (now can handle PATH_MAX). Fix pass through authentication |
| 400 | from Samba server to DC (Samba required dummy LM password). |
| 401 | |
| 402 | Version 1.27 |
| 403 | ------------ |
| 404 | Turn off DNOTIFY (directory change notification support) by default |
| 405 | (unless built with the experimental flag) to fix hang with KDE |
| 406 | file browser. Fix DNOTIFY flag mappings. Fix hang (in wait_event |
| 407 | waiting on an SMB response) in SendReceive when session dies but |
| 408 | reconnects quickly from another task. Add module init parms for |
| 409 | minimum number of large and small network buffers in the buffer pools, |
| 410 | and for the maximum number of simultaneous requests. |
| 411 | |
| 412 | Version 1.26 |
| 413 | ------------ |
| 414 | Add setfacl support to allow setting of ACLs remotely to Samba 3.10 and later |
| 415 | and other POSIX CIFS compliant servers. Fix error mapping for getfacl |
| 416 | to EOPNOTSUPP when server does not support posix acls on the wire. Fix |
| 417 | improperly zeroed buffer in CIFS Unix extensions set times call. |
| 418 | |
| 419 | Version 1.25 |
| 420 | ------------ |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 421 | Fix internationalization problem in cifs readdir with filenames that map to |
Alexey Dobriyan | 4de151d | 2006-03-22 00:13:35 +0100 | [diff] [blame] | 422 | longer UTF-8 strings than the string on the wire was in Unicode. Add workaround |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 423 | for readdir to netapp servers. Fix search rewind (seek into readdir to return |
| 424 | non-consecutive entries). Do not do readdir when server negotiates |
| 425 | buffer size to small to fit filename. Add support for reading POSIX ACLs from |
| 426 | the server (add also acl and noacl mount options). |
| 427 | |
| 428 | Version 1.24 |
| 429 | ------------ |
| 430 | Optionally allow using server side inode numbers, rather than client generated |
| 431 | ones by specifying mount option "serverino" - this is required for some apps |
| 432 | to work which double check hardlinked files and have persistent inode numbers. |
| 433 | |
| 434 | Version 1.23 |
| 435 | ------------ |
| 436 | Multiple bigendian fixes. On little endian systems (for reconnect after |
| 437 | network failure) fix tcp session reconnect code so we do not try first |
| 438 | to reconnect on reverse of port 445. Treat reparse points (NTFS junctions) |
| 439 | as directories rather than symlinks because we can do follow link on them. |
| 440 | |
| 441 | Version 1.22 |
| 442 | ------------ |
| 443 | Add config option to enable XATTR (extended attribute) support, mapping |
| 444 | xattr names in the "user." namespace space to SMB/CIFS EAs. Lots of |
| 445 | minor fixes pointed out by the Stanford SWAT checker (mostly missing |
| 446 | or out of order NULL pointer checks in little used error paths). |
| 447 | |
| 448 | Version 1.21 |
| 449 | ------------ |
| 450 | Add new mount parm to control whether mode check (generic_permission) is done |
| 451 | on the client. If Unix extensions are enabled and the uids on the client |
| 452 | and server do not match, client permission checks are meaningless on |
| 453 | server uids that do not exist on the client (this does not affect the |
| 454 | normal ACL check which occurs on the server). Fix default uid |
| 455 | on mknod to match create and mkdir. Add optional mount parm to allow |
| 456 | override of the default uid behavior (in which the server sets the uid |
| 457 | and gid of newly created files). Normally for network filesystem mounts |
| 458 | user want the server to set the uid/gid on newly created files (rather than |
| 459 | using uid of the client processes you would in a local filesystem). |
| 460 | |
| 461 | Version 1.20 |
| 462 | ------------ |
| 463 | Make transaction counts more consistent. Merge /proc/fs/cifs/SimultaneousOps |
| 464 | info into /proc/fs/cifs/DebugData. Fix oops in rare oops in readdir |
| 465 | (in build_wildcard_path_from_dentry). Fix mknod to pass type field |
| 466 | (block/char/fifo) properly. Remove spurious mount warning log entry when |
| 467 | credentials passed as mount argument. Set major/minor device number in |
| 468 | inode for block and char devices when unix extensions enabled. |
| 469 | |
| 470 | Version 1.19 |
| 471 | ------------ |
| 472 | Fix /proc/fs/cifs/Stats and DebugData display to handle larger |
| 473 | amounts of return data. Properly limit requests to MAX_REQ (50 |
| 474 | is the usual maximum active multiplex SMB/CIFS requests per server). |
| 475 | Do not kill cifsd (and thus hurt the other SMB session) when more than one |
| 476 | session to the same server (but with different userids) exists and one |
| 477 | of the two user's smb sessions is being removed while leaving the other. |
| 478 | Do not loop reconnecting in cifsd demultiplex thread when admin |
| 479 | kills the thread without going through unmount. |
| 480 | |
| 481 | Version 1.18 |
| 482 | ------------ |
| 483 | Do not rename hardlinked files (since that should be a noop). Flush |
| 484 | cached write behind data when reopening a file after session abend, |
| 485 | except when already in write. Grab per socket sem during reconnect |
| 486 | to avoid oops in sendmsg if overlapping with reconnect. Do not |
| 487 | reset cached inode file size on readdir for files open for write on |
| 488 | client. |
| 489 | |
| 490 | |
| 491 | Version 1.17 |
| 492 | ------------ |
| 493 | Update number of blocks in file so du command is happier (in Linux a fake |
| 494 | blocksize of 512 is required for calculating number of blocks in inode). |
| 495 | Fix prepare write of partial pages to read in data from server if possible. |
| 496 | Fix race on tcpStatus field between unmount and reconnection code, causing |
| 497 | cifsd process sometimes to hang around forever. Improve out of memory |
| 498 | checks in cifs_filldir |
| 499 | |
| 500 | Version 1.16 |
| 501 | ------------ |
| 502 | Fix incorrect file size in file handle based setattr on big endian hardware. |
| 503 | Fix oops in build_path_from_dentry when out of memory. Add checks for invalid |
| 504 | and closing file structs in writepage/partialpagewrite. Add statistics |
| 505 | for each mounted share (new menuconfig option). Fix endianness problem in |
| 506 | volume information displayed in /proc/fs/cifs/DebugData (only affects |
| 507 | affects big endian architectures). Prevent renames while constructing |
| 508 | path names for open, mkdir and rmdir. |
| 509 | |
| 510 | Version 1.15 |
| 511 | ------------ |
| 512 | Change to mempools for alloc smb request buffers and multiplex structs |
| 513 | to better handle low memory problems (and potential deadlocks). |
| 514 | |
| 515 | Version 1.14 |
| 516 | ------------ |
| 517 | Fix incomplete listings of large directories on Samba servers when Unix |
| 518 | extensions enabled. Fix oops when smb_buffer can not be allocated. Fix |
| 519 | rename deadlock when writing out dirty pages at same time. |
| 520 | |
| 521 | Version 1.13 |
| 522 | ------------ |
| 523 | Fix open of files in which O_CREATE can cause the mode to change in |
| 524 | some cases. Fix case in which retry of write overlaps file close. |
| 525 | Fix PPC64 build error. Reduce excessive stack usage in smb password |
| 526 | hashing. Fix overwrite of Linux user's view of file mode to Windows servers. |
| 527 | |
| 528 | Version 1.12 |
| 529 | ------------ |
| 530 | Fixes for large file copy, signal handling, socket retry, buffer |
| 531 | allocation and low memory situations. |
| 532 | |
| 533 | Version 1.11 |
| 534 | ------------ |
| 535 | Better port 139 support to Windows servers (RFC1001/RFC1002 Session_Initialize) |
| 536 | also now allowing support for specifying client netbiosname. NT4 support added. |
| 537 | |
| 538 | Version 1.10 |
| 539 | ------------ |
| 540 | Fix reconnection (and certain failed mounts) to properly wake up the |
| 541 | blocked users thread so it does not seem hung (in some cases was blocked |
| 542 | until the cifs receive timeout expired). Fix spurious error logging |
| 543 | to kernel log when application with open network files killed. |
| 544 | |
| 545 | Version 1.09 |
| 546 | ------------ |
| 547 | Fix /proc/fs module unload warning message (that could be logged |
| 548 | to the kernel log). Fix intermittent failure in connectathon |
| 549 | test7 (hardlink count not immediately refreshed in case in which |
| 550 | inode metadata can be incorrectly kept cached when time near zero) |
| 551 | |
| 552 | Version 1.08 |
| 553 | ------------ |
| 554 | Allow file_mode and dir_mode (specified at mount time) to be enforced |
| 555 | locally (the server already enforced its own ACLs too) for servers |
| 556 | that do not report the correct mode (do not support the |
| 557 | CIFS Unix Extensions). |
| 558 | |
| 559 | Version 1.07 |
| 560 | ------------ |
| 561 | Fix some small memory leaks in some unmount error paths. Fix major leak |
| 562 | of cache pages in readpages causing multiple read oriented stress |
| 563 | testcases (including fsx, and even large file copy) to fail over time. |
| 564 | |
| 565 | Version 1.06 |
| 566 | ------------ |
| 567 | Send NTCreateX with ATTR_POSIX if Linux/Unix extensions negotiated with server. |
| 568 | This allows files that differ only in case and improves performance of file |
| 569 | creation and file open to such servers. Fix semaphore conflict which causes |
| 570 | slow delete of open file to Samba (which unfortunately can cause an oplock |
| 571 | break to self while vfs_unlink held i_sem) which can hang for 20 seconds. |
| 572 | |
| 573 | Version 1.05 |
| 574 | ------------ |
| 575 | fixes to cifs_readpages for fsx test case |
| 576 | |
| 577 | Version 1.04 |
| 578 | ------------ |
| 579 | Fix caching data integrity bug when extending file size especially when no |
| 580 | oplock on file. Fix spurious logging of valid already parsed mount options |
| 581 | that are parsed outside of the cifs vfs such as nosuid. |
| 582 | |
| 583 | |
| 584 | Version 1.03 |
| 585 | ------------ |
| 586 | Connect to server when port number override not specified, and tcp port |
| 587 | unitialized. Reset search to restart at correct file when kernel routine |
| 588 | filldir returns error during large directory searches (readdir). |
| 589 | |
| 590 | Version 1.02 |
| 591 | ------------ |
| 592 | Fix caching problem when files opened by multiple clients in which |
| 593 | page cache could contain stale data, and write through did |
| 594 | not occur often enough while file was still open when read ahead |
| 595 | (read oplock) not allowed. Treat "sep=" when first mount option |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 596 | as an override of comma as the default separator between mount |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 597 | options. |
| 598 | |
| 599 | Version 1.01 |
| 600 | ------------ |
| 601 | Allow passwords longer than 16 bytes. Allow null password string. |
| 602 | |
| 603 | Version 1.00 |
| 604 | ------------ |
| 605 | Gracefully clean up failed mounts when attempting to mount to servers such as |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 606 | Windows 98 that terminate tcp sessions during protocol negotiation. Handle |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 607 | embedded commas in mount parsing of passwords. |
| 608 | |
| 609 | Version 0.99 |
| 610 | ------------ |
| 611 | Invalidate local inode cached pages on oplock break and when last file |
| 612 | instance is closed so that the client does not continue using stale local |
| 613 | copy rather than later modified server copy of file. Do not reconnect |
| 614 | when server drops the tcp session prematurely before negotiate |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 615 | protocol response. Fix oops in reopen_file when dentry freed. Allow |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 616 | the support for CIFS Unix Extensions to be disabled via proc interface. |
| 617 | |
| 618 | Version 0.98 |
| 619 | ------------ |
| 620 | Fix hang in commit_write during reconnection of open files under heavy load. |
| 621 | Fix unload_nls oops in a mount failure path. Serialize writes to same socket |
| 622 | which also fixes any possible races when cifs signatures are enabled in SMBs |
| 623 | being sent out of signature sequence number order. |
| 624 | |
| 625 | Version 0.97 |
| 626 | ------------ |
| 627 | Fix byte range locking bug (endian problem) causing bad offset and |
| 628 | length. |
| 629 | |
| 630 | Version 0.96 |
| 631 | ------------ |
| 632 | Fix oops (in send_sig) caused by CIFS unmount code trying to |
| 633 | wake up the demultiplex thread after it had exited. Do not log |
| 634 | error on harmless oplock release of closed handle. |
| 635 | |
| 636 | Version 0.95 |
| 637 | ------------ |
| 638 | Fix unsafe global variable usage and password hash failure on gcc 3.3.1 |
| 639 | Fix problem reconnecting secondary mounts to same server after session |
| 640 | failure. Fix invalid dentry - race in mkdir when directory gets created |
| 641 | by another client between the lookup and mkdir. |
| 642 | |
| 643 | Version 0.94 |
| 644 | ------------ |
| 645 | Fix to list processing in reopen_files. Fix reconnection when server hung |
| 646 | but tcpip session still alive. Set proper timeout on socket read. |
| 647 | |
| 648 | Version 0.93 |
| 649 | ------------ |
| 650 | Add missing mount options including iocharset. SMP fixes in write and open. |
| 651 | Fix errors in reconnecting after TCP session failure. Fix module unloading |
| 652 | of default nls codepage |
| 653 | |
| 654 | Version 0.92 |
| 655 | ------------ |
| 656 | Active smb transactions should never go negative (fix double FreeXid). Fix |
| 657 | list processing in file routines. Check return code on kmalloc in open. |
| 658 | Fix spinlock usage for SMP. |
| 659 | |
| 660 | Version 0.91 |
| 661 | ------------ |
| 662 | Fix oops in reopen_files when invalid dentry. drop dentry on server rename |
| 663 | and on revalidate errors. Fix cases where pid is now tgid. Fix return code |
| 664 | on create hard link when server does not support them. |
| 665 | |
| 666 | Version 0.90 |
| 667 | ------------ |
| 668 | Fix scheduling while atomic error in getting inode info on newly created file. |
| 669 | Fix truncate of existing files opened with O_CREAT but not O_TRUNC set. |
| 670 | |
| 671 | Version 0.89 |
| 672 | ------------ |
| 673 | Fix oops on write to dead tcp session. Remove error log write for case when file open |
| 674 | O_CREAT but not O_EXCL |
| 675 | |
| 676 | Version 0.88 |
| 677 | ------------ |
| 678 | Fix non-POSIX behavior on rename of open file and delete of open file by taking |
| 679 | advantage of trans2 SetFileInfo rename facility if available on target server. |
| 680 | Retry on ENOSPC and EAGAIN socket errors. |
| 681 | |
| 682 | Version 0.87 |
| 683 | ------------ |
| 684 | Fix oops on big endian readdir. Set blksize to be even power of two (2**blkbits) to fix |
| 685 | allocation size miscalculation. After oplock token lost do not read through |
| 686 | cache. |
| 687 | |
| 688 | Version 0.86 |
| 689 | ------------ |
| 690 | Fix oops on empty file readahead. Fix for file size handling for locally cached files. |
| 691 | |
| 692 | Version 0.85 |
| 693 | ------------ |
| 694 | Fix oops in mkdir when server fails to return inode info. Fix oops in reopen_files |
| 695 | during auto reconnection to server after server recovered from failure. |
| 696 | |
| 697 | Version 0.84 |
| 698 | ------------ |
| 699 | Finish support for Linux 2.5 open/create changes, which removes the |
| 700 | redundant NTCreate/QPathInfo/close that was sent during file create. |
| 701 | Enable oplock by default. Enable packet signing by default (needed to |
| 702 | access many recent Windows servers) |
| 703 | |
| 704 | Version 0.83 |
| 705 | ------------ |
| 706 | Fix oops when mounting to long server names caused by inverted parms to kmalloc. |
| 707 | Fix MultiuserMount (/proc/fs/cifs configuration setting) so that when enabled |
| 708 | we will choose a cifs user session (smb uid) that better matches the local |
| 709 | uid if a) the mount uid does not match the current uid and b) we have another |
| 710 | session to the same server (ip address) for a different mount which |
| 711 | matches the current local uid. |
| 712 | |
| 713 | Version 0.82 |
| 714 | ------------ |
| 715 | Add support for mknod of block or character devices. Fix oplock |
| 716 | code (distributed caching) to properly send response to oplock |
| 717 | break from server. |
| 718 | |
| 719 | Version 0.81 |
| 720 | ------------ |
| 721 | Finish up CIFS packet digital signing for the default |
| 722 | NTLM security case. This should help Windows 2003 |
| 723 | network interoperability since it is common for |
| 724 | packet signing to be required now. Fix statfs (stat -f) |
| 725 | which recently started returning errors due to |
| 726 | invalid value (-1 instead of 0) being set in the |
| 727 | struct kstatfs f_ffiles field. |
| 728 | |
| 729 | Version 0.80 |
| 730 | ----------- |
| 731 | Fix oops on stopping oplock thread when removing cifs when |
| 732 | built as module. |
| 733 | |
| 734 | Version 0.79 |
| 735 | ------------ |
| 736 | Fix mount options for ro (readonly), uid, gid and file and directory mode. |
| 737 | |
| 738 | Version 0.78 |
| 739 | ------------ |
| 740 | Fix errors displayed on failed mounts to be more understandable. |
| 741 | Fixed various incorrect or misleading smb to posix error code mappings. |
| 742 | |
| 743 | Version 0.77 |
| 744 | ------------ |
| 745 | Fix display of NTFS DFS junctions to display as symlinks. |
| 746 | They are the network equivalent. Fix oops in |
| 747 | cifs_partialpagewrite caused by missing spinlock protection |
| 748 | of openfile linked list. Allow writebehind caching errors to |
| 749 | be returned to the application at file close. |
| 750 | |
| 751 | Version 0.76 |
| 752 | ------------ |
| 753 | Clean up options displayed in /proc/mounts by show_options to |
| 754 | be more consistent with other filesystems. |
| 755 | |
| 756 | Version 0.75 |
| 757 | ------------ |
| 758 | Fix delete of readonly file to Windows servers. Reflect |
| 759 | presence or absence of read only dos attribute in mode |
| 760 | bits for servers that do not support CIFS Unix extensions. |
| 761 | Fix shortened results on readdir of large directories to |
| 762 | servers supporting CIFS Unix extensions (caused by |
| 763 | incorrect resume key). |
| 764 | |
| 765 | Version 0.74 |
| 766 | ------------ |
| 767 | Fix truncate bug (set file size) that could cause hangs e.g. running fsx |
| 768 | |
| 769 | Version 0.73 |
| 770 | ------------ |
| 771 | unload nls if mount fails. |
| 772 | |
| 773 | Version 0.72 |
| 774 | ------------ |
| 775 | Add resume key support to search (readdir) code to workaround |
| 776 | Windows bug. Add /proc/fs/cifs/LookupCacheEnable which |
| 777 | allows disabling caching of attribute information for |
| 778 | lookups. |
| 779 | |
| 780 | Version 0.71 |
| 781 | ------------ |
| 782 | Add more oplock handling (distributed caching code). Remove |
| 783 | dead code. Remove excessive stack space utilization from |
| 784 | symlink routines. |
| 785 | |
| 786 | Version 0.70 |
| 787 | ------------ |
| 788 | Fix oops in get dfs referral (triggered when null path sent in to |
| 789 | mount). Add support for overriding rsize at mount time. |
| 790 | |
| 791 | Version 0.69 |
| 792 | ------------ |
| 793 | Fix buffer overrun in readdir which caused intermittent kernel oopses. |
| 794 | Fix writepage code to release kmap on write data. Allow "-ip=" new |
| 795 | mount option to be passed in on parameter distinct from the first part |
| 796 | (server name portion of) the UNC name. Allow override of the |
| 797 | tcp port of the target server via new mount option "-port=" |
| 798 | |
| 799 | Version 0.68 |
| 800 | ------------ |
| 801 | Fix search handle leak on rewind. Fix setuid and gid so that they are |
| 802 | reflected in the local inode immediately. Cleanup of whitespace |
| 803 | to make 2.4 and 2.5 versions more consistent. |
| 804 | |
| 805 | |
| 806 | Version 0.67 |
| 807 | ------------ |
| 808 | Fix signal sending so that captive thread (cifsd) exits on umount |
| 809 | (which was causing the warning in kmem_cache_free of the request buffers |
| 810 | at rmmod time). This had broken as a sideeffect of the recent global |
| 811 | kernel change to daemonize. Fix memory leak in readdir code which |
| 812 | showed up in "ls -R" (and applications that did search rewinding). |
| 813 | |
| 814 | Version 0.66 |
| 815 | ------------ |
| 816 | Reconnect tids and fids after session reconnection (still do not |
| 817 | reconnect byte range locks though). Fix problem caching |
| 818 | lookup information for directory inodes, improving performance, |
| 819 | especially in deep directory trees. Fix various build warnings. |
| 820 | |
| 821 | Version 0.65 |
| 822 | ------------ |
| 823 | Finish fixes to commit write for caching/readahead consistency. fsx |
| 824 | now works to Samba servers. Fix oops caused when readahead |
| 825 | was interrupted by a signal. |
| 826 | |
| 827 | Version 0.64 |
| 828 | ------------ |
| 829 | Fix data corruption (in partial page after truncate) that caused fsx to |
| 830 | fail to Windows servers. Cleaned up some extraneous error logging in |
| 831 | common error paths. Add generic sendfile support. |
| 832 | |
| 833 | Version 0.63 |
| 834 | ------------ |
| 835 | Fix memory leak in AllocMidQEntry. |
| 836 | Finish reconnection logic, so connection with server can be dropped |
| 837 | (or server rebooted) and the cifs client will reconnect. |
| 838 | |
| 839 | Version 0.62 |
| 840 | ------------ |
| 841 | Fix temporary socket leak when bad userid or password specified |
| 842 | (or other SMBSessSetup failure). Increase maximum buffer size to slightly |
| 843 | over 16K to allow negotiation of up to Samba and Windows server default read |
| 844 | sizes. Add support for readpages |
| 845 | |
| 846 | Version 0.61 |
| 847 | ------------ |
| 848 | Fix oops when username not passed in on mount. Extensive fixes and improvements |
| 849 | to error logging (strip redundant newlines, change debug macros to ensure newline |
| 850 | passed in and to be more consistent). Fix writepage wrong file handle problem, |
| 851 | a readonly file handle could be incorrectly used to attempt to write out |
| 852 | file updates through the page cache to multiply open files. This could cause |
| 853 | the iozone benchmark to fail on the fwrite test. Fix bug mounting two different |
| 854 | shares to the same Windows server when using different usernames |
| 855 | (doing this to Samba servers worked but Windows was rejecting it) - now it is |
| 856 | possible to use different userids when connecting to the same server from a |
| 857 | Linux client. Fix oops when treeDisconnect called during unmount on |
| 858 | previously freed socket. |
| 859 | |
| 860 | Version 0.60 |
| 861 | ------------ |
| 862 | Fix oops in readpages caused by not setting address space operations in inode in |
| 863 | rare code path. |
| 864 | |
| 865 | Version 0.59 |
| 866 | ------------ |
| 867 | Includes support for deleting of open files and renaming over existing files (per POSIX |
| 868 | requirement). Add readlink support for Windows junction points (directory symlinks). |
| 869 | |
| 870 | Version 0.58 |
| 871 | ------------ |
| 872 | Changed read and write to go through pagecache. Added additional address space operations. |
| 873 | Memory mapped operations now working. |
| 874 | |
| 875 | Version 0.57 |
| 876 | ------------ |
| 877 | Added writepage code for additional memory mapping support. Fixed leak in xids causing |
| 878 | the simultaneous operations counter (/proc/fs/cifs/SimultaneousOps) to increase on |
| 879 | every stat call. Additional formatting cleanup. |
| 880 | |
| 881 | Version 0.56 |
| 882 | ------------ |
| 883 | Fix bigendian bug in order of time conversion. Merge 2.5 to 2.4 version. Formatting cleanup. |
| 884 | |
| 885 | Version 0.55 |
| 886 | ------------ |
| 887 | Fixes from Zwane Mwaikambo for adding missing return code checking in a few places. |
| 888 | Also included a modified version of his fix to protect global list manipulation of |
| 889 | the smb session and tree connection and mid related global variables. |
| 890 | |
| 891 | Version 0.54 |
| 892 | ------------ |
| 893 | Fix problem with captive thread hanging around at unmount time. Adjust to 2.5.42-pre |
| 894 | changes to superblock layout. Remove wasteful allocation of smb buffers (now the send |
| 895 | buffer is reused for responses). Add more oplock handling. Additional minor cleanup. |
| 896 | |
| 897 | Version 0.53 |
| 898 | ------------ |
| 899 | More stylistic updates to better match kernel style. Add additional statistics |
| 900 | for filesystem which can be viewed via /proc/fs/cifs. Add more pieces of NTLMv2 |
| 901 | and CIFS Packet Signing enablement. |
| 902 | |
| 903 | Version 0.52 |
| 904 | ------------ |
| 905 | Replace call to sleep_on with safer wait_on_event. |
| 906 | Make stylistic changes to better match kernel style recommendations. |
| 907 | Remove most typedef usage (except for the PDUs themselves). |
| 908 | |
| 909 | Version 0.51 |
| 910 | ------------ |
| 911 | Update mount so the -unc mount option is no longer required (the ip address can be specified |
| 912 | in a UNC style device name. Implementation of readpage/writepage started. |
| 913 | |
| 914 | Version 0.50 |
| 915 | ------------ |
| 916 | Fix intermittent problem with incorrect smb header checking on badly |
| 917 | fragmented tcp responses |
| 918 | |
| 919 | Version 0.49 |
| 920 | ------------ |
| 921 | Fixes to setting of allocation size and file size. |
| 922 | |
| 923 | Version 0.48 |
| 924 | ------------ |
| 925 | Various 2.5.38 fixes. Now works on 2.5.38 |
| 926 | |
| 927 | Version 0.47 |
| 928 | ------------ |
| 929 | Prepare for 2.5 kernel merge. Remove ifdefs. |
| 930 | |
| 931 | Version 0.46 |
| 932 | ------------ |
| 933 | Socket buffer management fixes. Fix dual free. |
| 934 | |
| 935 | Version 0.45 |
| 936 | ------------ |
| 937 | Various big endian fixes for hardlinks and symlinks and also for dfs. |
| 938 | |
| 939 | Version 0.44 |
| 940 | ------------ |
| 941 | Various big endian fixes for servers with Unix extensions such as Samba |
| 942 | |
| 943 | Version 0.43 |
| 944 | ------------ |
| 945 | Various FindNext fixes for incorrect filenames on large directory searches on big endian |
| 946 | clients. basic posix file i/o tests now work on big endian machines, not just le |
| 947 | |
| 948 | Version 0.42 |
| 949 | ------------ |
| 950 | SessionSetup and NegotiateProtocol now work from Big Endian machines. |
| 951 | Various Big Endian fixes found during testing on the Linux on 390. Various fixes for compatibility with older |
| 952 | versions of 2.4 kernel (now builds and works again on kernels at least as early as 2.4.7). |
| 953 | |
| 954 | Version 0.41 |
| 955 | ------------ |
| 956 | Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 957 | files now return the correct number of links on fstat as they are repeatedly linked and unlinked. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 958 | |
| 959 | Version 0.40 |
| 960 | ------------ |
| 961 | Implemented "Raw" (i.e. not encapsulated in SPNEGO) NTLMSSP (i.e. the Security Provider Interface used to negotiate |
| 962 | session advanced session authentication). Raw NTLMSSP is preferred by Windows 2000 Professional and Windows XP. |
| 963 | Began implementing support for SPNEGO encapsulation of NTLMSSP based session authentication blobs |
| 964 | (which is the mechanism preferred by Windows 2000 server in the absence of Kerberos). |
| 965 | |
| 966 | Version 0.38 |
| 967 | ------------ |
| 968 | Introduced optional mount helper utility mount.cifs and made coreq changes to cifs vfs to enable |
| 969 | it. Fixed a few bugs in the DFS code (e.g. bcc two bytes too short and incorrect uid in PDU). |
| 970 | |
| 971 | Version 0.37 |
| 972 | ------------ |
| 973 | Rewrote much of connection and mount/unmount logic to handle bugs with |
| 974 | multiple uses to same share, multiple users to same server etc. |
| 975 | |
| 976 | Version 0.36 |
| 977 | ------------ |
| 978 | Fixed major problem with dentry corruption (missing call to dput) |
| 979 | |
| 980 | Version 0.35 |
| 981 | ------------ |
| 982 | Rewrite of readdir code to fix bug. Various fixes for bigendian machines. |
| 983 | Begin adding oplock support. Multiusermount and oplockEnabled flags added to /proc/fs/cifs |
| 984 | although corresponding function not fully implemented in the vfs yet |
| 985 | |
| 986 | Version 0.34 |
| 987 | ------------ |
| 988 | Fixed dentry caching bug, misc. cleanup |
| 989 | |
| 990 | Version 0.33 |
| 991 | ------------ |
| 992 | Fixed 2.5 support to handle build and configure changes as well as misc. 2.5 changes. Now can build |
| 993 | on current 2.5 beta version (2.5.24) of the Linux kernel as well as on 2.4 Linux kernels. |
| 994 | Support for STATUS codes (newer 32 bit NT error codes) added. DFS support begun to be added. |
| 995 | |
| 996 | Version 0.32 |
| 997 | ------------ |
| 998 | Unix extensions (symlink, readlink, hardlink, chmod and some chgrp and chown) implemented |
| 999 | and tested against Samba 2.2.5 |
| 1000 | |
| 1001 | |
| 1002 | Version 0.31 |
| 1003 | ------------ |
| 1004 | 1) Fixed lockrange to be correct (it was one byte too short) |
| 1005 | |
| 1006 | 2) Fixed GETLK (i.e. the fcntl call to test a range of bytes in a file to see if locked) to correctly |
| 1007 | show range as locked when there is a conflict with an existing lock. |
| 1008 | |
| 1009 | 3) default file perms are now 2767 (indicating support for mandatory locks) instead of 777 for directories |
| 1010 | in most cases. Eventually will offer optional ability to query server for the correct perms. |
| 1011 | |
| 1012 | 3) Fixed eventual trap when mounting twice to different shares on the same server when the first succeeded |
| 1013 | but the second one was invalid and failed (the second one was incorrectly disconnecting the tcp and smb |
| 1014 | session) |
| 1015 | |
| 1016 | 4) Fixed error logging of valid mount options |
| 1017 | |
| 1018 | 5) Removed logging of password field. |
| 1019 | |
| 1020 | 6) Moved negotiate, treeDisconnect and uloggoffX (only tConx and SessSetup remain in connect.c) to cifssmb.c |
| 1021 | and cleaned them up and made them more consistent with other cifs functions. |
| 1022 | |
| 1023 | 7) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 1024 | (with or without Unix extensions) but FindNext and QueryPathInfo with the Unix extensions are not completed, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1025 | nor is the symlink support using the Unix extensions |
| 1026 | |
| 1027 | 8) Started adding the readlink and follow_link code |
| 1028 | |
| 1029 | Version 0.3 |
| 1030 | ----------- |
| 1031 | Initial drop |
| 1032 | |