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