Steve French | 12b3b8f | 2006-02-09 21:12:47 +0000 | [diff] [blame] | 1 | Version 1.41 |
| 2 | ------------ |
| 3 | Fix NTLMv2 security (can be enabled in /proc/fs/cifs) so customers can |
| 4 | configure stronger authentication. Fix sfu symlinks so they can |
Steve French | 184ed21 | 2006-02-24 06:15:11 +0000 | [diff] [blame] | 5 | be followed (not just recognized). Fix wraparound of bcc on |
| 6 | read responses when buffer size over 64K and also fix wrap of |
| 7 | max smb buffer size when CIFSMaxBufSize over 64K. Fix oops in |
| 8 | cifs_user_read and cifs_readpages (when EAGAIN on send of smb |
| 9 | on socket is returned over and over) |
Steve French | 12b3b8f | 2006-02-09 21:12:47 +0000 | [diff] [blame] | 10 | |
Steve French | 8345187 | 2005-12-01 17:12:59 -0800 | [diff] [blame] | 11 | Version 1.40 |
| 12 | ------------ |
Steve French | 84afc29 | 2005-12-02 13:32:45 -0800 | [diff] [blame] | 13 | Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance |
Steve French | 0a4b92c | 2006-01-12 15:44:21 -0800 | [diff] [blame] | 14 | of readpages by eliminating one extra memcpy. Allow update of file size |
| 15 | 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] | 16 | directio. Recognize share mode security and send NTLM encrypted password |
| 17 | on tree connect if share mode negotiated. |
Steve French | 8345187 | 2005-12-01 17:12:59 -0800 | [diff] [blame] | 18 | |
Steve French | 23e7dd7 | 2005-10-20 13:44:56 -0700 | [diff] [blame] | 19 | Version 1.39 |
| 20 | ------------ |
Steve French | 3abb927 | 2005-11-28 08:16:13 -0800 | [diff] [blame] | 21 | 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] | 22 | (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] | 23 | stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2 |
Steve French | 3abb927 | 2005-11-28 08:16:13 -0800 | [diff] [blame] | 24 | Fix SFU style symlinks and mknod needed for servers which do not support the |
| 25 | CIFS Unix Extensions. Fix setfacl/getfacl on bigendian. Timeout negative |
| 26 | 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] | 27 | 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] | 28 | Timeout stuck requests better (where server has never responded or sent corrupt |
| 29 | responses) |
Steve French | 23e7dd7 | 2005-10-20 13:44:56 -0700 | [diff] [blame] | 30 | |
Steve French | 190fdeb | 2005-10-10 11:48:26 -0700 | [diff] [blame] | 31 | Version 1.38 |
| 32 | ------------ |
| 33 | Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket) |
| 34 | to be smaller at first (but increasing) so large write performance performance |
| 35 | over GigE is better. Do not hang thread on illegal byte range lock response |
| 36 | from Windows (Windows can send an RFC1001 size which does not match smb size) by |
| 37 | allowing an SMBs TCP length to be up to a few bytes longer than it should be. |
| 38 | wsize and rsize can now be larger than negotiated buffer size if server |
| 39 | supports large readx/writex, even when directio mount flag not specified. |
| 40 | 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] | 41 | file copy performance on lightly loaded networks. Fix oops in dnotify |
Steve French | 1047abc | 2005-10-11 19:58:06 -0700 | [diff] [blame] | 42 | when experimental config flag enabled. Make cifsFYI more granular. |
Steve French | 190fdeb | 2005-10-10 11:48:26 -0700 | [diff] [blame] | 43 | |
Steve French | eafe870 | 2005-09-15 21:47:30 -0700 | [diff] [blame] | 44 | Version 1.37 |
| 45 | ------------ |
| 46 | Fix readdir caching when unlink removes file in current search buffer, |
| 47 | 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] | 48 | 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] | 49 | (most servers throw it away anyway). Fix length check of received smbs |
Steve French | 70ca734 | 2005-09-22 16:32:06 -0700 | [diff] [blame] | 50 | to be more accurate. Fix big endian problem with mapchars mount option, |
| 51 | and with a field returned by statfs. |
Steve French | eafe870 | 2005-09-15 21:47:30 -0700 | [diff] [blame] | 52 | |
Steve French | c46fa8a | 2005-08-18 20:49:57 -0700 | [diff] [blame] | 53 | Version 1.36 |
| 54 | ------------ |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 55 | 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] | 56 | 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] | 57 | on mount (servernetbiosname). Add suspend support for power management, to |
| 58 | avoid cifsd thread preventing software suspend from working. |
Steve French | c46fa8a | 2005-08-18 20:49:57 -0700 | [diff] [blame] | 59 | Add mount option for disabling the default behavior of sending byte range lock |
| 60 | requests to the server (necessary for certain applications which break with |
| 61 | mandatory lock behavior such as Evolution), and also mount option for |
| 62 | requesting case insensitive matching for path based requests (requesting |
| 63 | case sensitive is the default). |
| 64 | |
Steve French | f4cfd69 | 2005-07-14 18:29:02 -0500 | [diff] [blame] | 65 | Version 1.35 |
| 66 | ------------ |
| 67 | Add writepage performance improvements. Fix path name conversions |
| 68 | for long filenames on mounts which were done with "mapchars" mount option |
Steve French | a10faeb2 | 2005-08-22 21:38:31 -0700 | [diff] [blame] | 69 | specified. Ensure multiplex ids do not collide. Fix case in which |
| 70 | rmmod can oops if done soon after last unmount. Fix truncated |
| 71 | search (readdir) output when resume filename was a long filename. |
| 72 | Fix filename conversion when mapchars mount option was specified and |
| 73 | filename was a long filename. |
Steve French | f4cfd69 | 2005-07-14 18:29:02 -0500 | [diff] [blame] | 74 | |
Steve French | 11aa014 | 2005-04-28 22:41:10 -0700 | [diff] [blame] | 75 | Version 1.34 |
| 76 | ------------ |
| 77 | Fix error mapping of the TOO_MANY_LINKS (hardlinks) case. |
Steve French | 31ca3bc | 2005-04-28 22:41:11 -0700 | [diff] [blame] | 78 | Do not oops if root user kills cifs oplock kernel thread or |
| 79 | kills the cifsd thread (NB: killing the cifs kernel threads is not |
| 80 | recommended, unmount and rmmod cifs will kill them when they are |
Steve French | 6857547 | 2005-04-30 11:10:57 -0700 | [diff] [blame] | 81 | no longer needed). Fix readdir to ASCII servers (ie older servers |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 82 | which do not support Unicode) and also require asterisk. |
Steve French | 3079ca6 | 2005-06-09 14:44:07 -0700 | [diff] [blame] | 83 | Fix out of memory case in which data could be written one page |
| 84 | off in the page cache. |
Steve French | 11aa014 | 2005-04-28 22:41:10 -0700 | [diff] [blame] | 85 | |
Steve French | 966ca92 | 2005-04-28 22:41:08 -0700 | [diff] [blame] | 86 | Version 1.33 |
| 87 | ------------ |
| 88 | Fix caching problem, in which readdir of directory containing a file |
| 89 | which was cached could cause the file's time stamp to be updated |
| 90 | without invalidating the readahead data (so we could get stale |
| 91 | 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] | 92 | Cleanup response processing so cifsd can not loop when abnormally |
| 93 | terminated. |
Steve French | 966ca92 | 2005-04-28 22:41:08 -0700 | [diff] [blame] | 94 | |
| 95 | |
Steve French | f654bac | 2005-04-28 22:41:04 -0700 | [diff] [blame] | 96 | Version 1.32 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 97 | ------------ |
| 98 | Fix oops in ls when Transact2 FindFirst (or FindNext) returns more than one |
| 99 | 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] | 100 | Add support for lsattr (getting ext2/ext3/reiserfs attr flags from the server) |
| 101 | as new protocol extensions. Do not send Get/Set calls for POSIX ACLs |
| 102 | unless server explicitly claims to support them in CIFS Unix extensions |
Steve French | ad009ac | 2005-04-28 22:41:05 -0700 | [diff] [blame] | 103 | POSIX ACL capability bit. Fix packet signing when multiuser mounting with |
Steve French | cbe0476 | 2005-04-28 22:41:05 -0700 | [diff] [blame] | 104 | 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] | 105 | cifs_close. Add mount option for remapping reserved characters in |
| 106 | filenames (also allow recognizing files with created by SFU which have any |
Steve French | 737b758 | 2005-04-28 22:41:06 -0700 | [diff] [blame] | 107 | of these seven reserved characters, except backslash, to be recognized). |
Steve French | 848f3fc | 2005-04-28 22:41:07 -0700 | [diff] [blame] | 108 | Fix invalid transact2 message (we were sometimes trying to interpret |
Steve French | 099a58f | 2005-04-28 22:41:07 -0700 | [diff] [blame] | 109 | oplock breaks as SMB responses). Add ioctl for checking that the |
| 110 | current uid matches the uid of the mounter (needed by umount.cifs). |
| 111 | Reduce the number of large buffer allocations in cifs response processing |
| 112 | (significantly reduces memory pressure under heavy stress with multiple |
| 113 | processes accessing the same server at the same time). |
Steve French | f654bac | 2005-04-28 22:41:04 -0700 | [diff] [blame] | 114 | |
| 115 | Version 1.31 |
| 116 | ------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 117 | Fix updates of DOS attributes and time fields so that files on NT4 servers |
| 118 | do not get marked delete on close. Display sizes of cifs buffer pools in |
| 119 | cifs stats. Fix oops in unmount when cifsd thread being killed by |
| 120 | shutdown. Add generic readv/writev and aio support. Report inode numbers |
| 121 | consistently in readdir and lookup (when serverino mount option is |
| 122 | specified use the inode number that the server reports - for both lookup |
| 123 | and readdir, otherwise by default the locally generated inode number is used |
| 124 | for inodes created in either path since servers are not always able to |
| 125 | provide unique inode numbers when exporting multiple volumes from under one |
| 126 | sharename). |
| 127 | |
| 128 | Version 1.30 |
| 129 | ------------ |
| 130 | Allow new nouser_xattr mount parm to disable xattr support for user namespace. |
| 131 | Do not flag user_xattr mount parm in dmesg. Retry failures setting file time |
| 132 | (mostly affects NT4 servers) by retry with handle based network operation. |
| 133 | Add new POSIX Query FS Info for returning statfs info more accurately. |
| 134 | Handle passwords with multiple commas in them. |
| 135 | |
| 136 | Version 1.29 |
| 137 | ------------ |
| 138 | Fix default mode in sysfs of cifs module parms. Remove old readdir routine. |
| 139 | Fix capabilities flags for large readx so as to allow reads larger than 64K. |
| 140 | |
| 141 | Version 1.28 |
| 142 | ------------ |
| 143 | Add module init parm for large SMB buffer size (to allow it to be changed |
| 144 | from its default of 16K) which is especially useful for large file copy |
| 145 | when mounting with the directio mount option. Fix oops after |
| 146 | returning from mount when experimental ExtendedSecurity enabled and |
| 147 | SpnegoNegotiated returning invalid error. Fix case to retry better when |
| 148 | peek returns from 1 to 3 bytes on socket which should have more data. |
| 149 | Fixed path based calls (such as cifs lookup) to handle path names |
| 150 | longer than 530 (now can handle PATH_MAX). Fix pass through authentication |
| 151 | from Samba server to DC (Samba required dummy LM password). |
| 152 | |
| 153 | Version 1.27 |
| 154 | ------------ |
| 155 | Turn off DNOTIFY (directory change notification support) by default |
| 156 | (unless built with the experimental flag) to fix hang with KDE |
| 157 | file browser. Fix DNOTIFY flag mappings. Fix hang (in wait_event |
| 158 | waiting on an SMB response) in SendReceive when session dies but |
| 159 | reconnects quickly from another task. Add module init parms for |
| 160 | minimum number of large and small network buffers in the buffer pools, |
| 161 | and for the maximum number of simultaneous requests. |
| 162 | |
| 163 | Version 1.26 |
| 164 | ------------ |
| 165 | Add setfacl support to allow setting of ACLs remotely to Samba 3.10 and later |
| 166 | and other POSIX CIFS compliant servers. Fix error mapping for getfacl |
| 167 | to EOPNOTSUPP when server does not support posix acls on the wire. Fix |
| 168 | improperly zeroed buffer in CIFS Unix extensions set times call. |
| 169 | |
| 170 | Version 1.25 |
| 171 | ------------ |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 172 | Fix internationalization problem in cifs readdir with filenames that map to |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 173 | longer UTF8 strings than the string on the wire was in Unicode. Add workaround |
| 174 | for readdir to netapp servers. Fix search rewind (seek into readdir to return |
| 175 | non-consecutive entries). Do not do readdir when server negotiates |
| 176 | buffer size to small to fit filename. Add support for reading POSIX ACLs from |
| 177 | the server (add also acl and noacl mount options). |
| 178 | |
| 179 | Version 1.24 |
| 180 | ------------ |
| 181 | Optionally allow using server side inode numbers, rather than client generated |
| 182 | ones by specifying mount option "serverino" - this is required for some apps |
| 183 | to work which double check hardlinked files and have persistent inode numbers. |
| 184 | |
| 185 | Version 1.23 |
| 186 | ------------ |
| 187 | Multiple bigendian fixes. On little endian systems (for reconnect after |
| 188 | network failure) fix tcp session reconnect code so we do not try first |
| 189 | to reconnect on reverse of port 445. Treat reparse points (NTFS junctions) |
| 190 | as directories rather than symlinks because we can do follow link on them. |
| 191 | |
| 192 | Version 1.22 |
| 193 | ------------ |
| 194 | Add config option to enable XATTR (extended attribute) support, mapping |
| 195 | xattr names in the "user." namespace space to SMB/CIFS EAs. Lots of |
| 196 | minor fixes pointed out by the Stanford SWAT checker (mostly missing |
| 197 | or out of order NULL pointer checks in little used error paths). |
| 198 | |
| 199 | Version 1.21 |
| 200 | ------------ |
| 201 | Add new mount parm to control whether mode check (generic_permission) is done |
| 202 | on the client. If Unix extensions are enabled and the uids on the client |
| 203 | and server do not match, client permission checks are meaningless on |
| 204 | server uids that do not exist on the client (this does not affect the |
| 205 | normal ACL check which occurs on the server). Fix default uid |
| 206 | on mknod to match create and mkdir. Add optional mount parm to allow |
| 207 | override of the default uid behavior (in which the server sets the uid |
| 208 | and gid of newly created files). Normally for network filesystem mounts |
| 209 | user want the server to set the uid/gid on newly created files (rather than |
| 210 | using uid of the client processes you would in a local filesystem). |
| 211 | |
| 212 | Version 1.20 |
| 213 | ------------ |
| 214 | Make transaction counts more consistent. Merge /proc/fs/cifs/SimultaneousOps |
| 215 | info into /proc/fs/cifs/DebugData. Fix oops in rare oops in readdir |
| 216 | (in build_wildcard_path_from_dentry). Fix mknod to pass type field |
| 217 | (block/char/fifo) properly. Remove spurious mount warning log entry when |
| 218 | credentials passed as mount argument. Set major/minor device number in |
| 219 | inode for block and char devices when unix extensions enabled. |
| 220 | |
| 221 | Version 1.19 |
| 222 | ------------ |
| 223 | Fix /proc/fs/cifs/Stats and DebugData display to handle larger |
| 224 | amounts of return data. Properly limit requests to MAX_REQ (50 |
| 225 | is the usual maximum active multiplex SMB/CIFS requests per server). |
| 226 | Do not kill cifsd (and thus hurt the other SMB session) when more than one |
| 227 | session to the same server (but with different userids) exists and one |
| 228 | of the two user's smb sessions is being removed while leaving the other. |
| 229 | Do not loop reconnecting in cifsd demultiplex thread when admin |
| 230 | kills the thread without going through unmount. |
| 231 | |
| 232 | Version 1.18 |
| 233 | ------------ |
| 234 | Do not rename hardlinked files (since that should be a noop). Flush |
| 235 | cached write behind data when reopening a file after session abend, |
| 236 | except when already in write. Grab per socket sem during reconnect |
| 237 | to avoid oops in sendmsg if overlapping with reconnect. Do not |
| 238 | reset cached inode file size on readdir for files open for write on |
| 239 | client. |
| 240 | |
| 241 | |
| 242 | Version 1.17 |
| 243 | ------------ |
| 244 | Update number of blocks in file so du command is happier (in Linux a fake |
| 245 | blocksize of 512 is required for calculating number of blocks in inode). |
| 246 | Fix prepare write of partial pages to read in data from server if possible. |
| 247 | Fix race on tcpStatus field between unmount and reconnection code, causing |
| 248 | cifsd process sometimes to hang around forever. Improve out of memory |
| 249 | checks in cifs_filldir |
| 250 | |
| 251 | Version 1.16 |
| 252 | ------------ |
| 253 | Fix incorrect file size in file handle based setattr on big endian hardware. |
| 254 | Fix oops in build_path_from_dentry when out of memory. Add checks for invalid |
| 255 | and closing file structs in writepage/partialpagewrite. Add statistics |
| 256 | for each mounted share (new menuconfig option). Fix endianness problem in |
| 257 | volume information displayed in /proc/fs/cifs/DebugData (only affects |
| 258 | affects big endian architectures). Prevent renames while constructing |
| 259 | path names for open, mkdir and rmdir. |
| 260 | |
| 261 | Version 1.15 |
| 262 | ------------ |
| 263 | Change to mempools for alloc smb request buffers and multiplex structs |
| 264 | to better handle low memory problems (and potential deadlocks). |
| 265 | |
| 266 | Version 1.14 |
| 267 | ------------ |
| 268 | Fix incomplete listings of large directories on Samba servers when Unix |
| 269 | extensions enabled. Fix oops when smb_buffer can not be allocated. Fix |
| 270 | rename deadlock when writing out dirty pages at same time. |
| 271 | |
| 272 | Version 1.13 |
| 273 | ------------ |
| 274 | Fix open of files in which O_CREATE can cause the mode to change in |
| 275 | some cases. Fix case in which retry of write overlaps file close. |
| 276 | Fix PPC64 build error. Reduce excessive stack usage in smb password |
| 277 | hashing. Fix overwrite of Linux user's view of file mode to Windows servers. |
| 278 | |
| 279 | Version 1.12 |
| 280 | ------------ |
| 281 | Fixes for large file copy, signal handling, socket retry, buffer |
| 282 | allocation and low memory situations. |
| 283 | |
| 284 | Version 1.11 |
| 285 | ------------ |
| 286 | Better port 139 support to Windows servers (RFC1001/RFC1002 Session_Initialize) |
| 287 | also now allowing support for specifying client netbiosname. NT4 support added. |
| 288 | |
| 289 | Version 1.10 |
| 290 | ------------ |
| 291 | Fix reconnection (and certain failed mounts) to properly wake up the |
| 292 | blocked users thread so it does not seem hung (in some cases was blocked |
| 293 | until the cifs receive timeout expired). Fix spurious error logging |
| 294 | to kernel log when application with open network files killed. |
| 295 | |
| 296 | Version 1.09 |
| 297 | ------------ |
| 298 | Fix /proc/fs module unload warning message (that could be logged |
| 299 | to the kernel log). Fix intermittent failure in connectathon |
| 300 | test7 (hardlink count not immediately refreshed in case in which |
| 301 | inode metadata can be incorrectly kept cached when time near zero) |
| 302 | |
| 303 | Version 1.08 |
| 304 | ------------ |
| 305 | Allow file_mode and dir_mode (specified at mount time) to be enforced |
| 306 | locally (the server already enforced its own ACLs too) for servers |
| 307 | that do not report the correct mode (do not support the |
| 308 | CIFS Unix Extensions). |
| 309 | |
| 310 | Version 1.07 |
| 311 | ------------ |
| 312 | Fix some small memory leaks in some unmount error paths. Fix major leak |
| 313 | of cache pages in readpages causing multiple read oriented stress |
| 314 | testcases (including fsx, and even large file copy) to fail over time. |
| 315 | |
| 316 | Version 1.06 |
| 317 | ------------ |
| 318 | Send NTCreateX with ATTR_POSIX if Linux/Unix extensions negotiated with server. |
| 319 | This allows files that differ only in case and improves performance of file |
| 320 | creation and file open to such servers. Fix semaphore conflict which causes |
| 321 | slow delete of open file to Samba (which unfortunately can cause an oplock |
| 322 | break to self while vfs_unlink held i_sem) which can hang for 20 seconds. |
| 323 | |
| 324 | Version 1.05 |
| 325 | ------------ |
| 326 | fixes to cifs_readpages for fsx test case |
| 327 | |
| 328 | Version 1.04 |
| 329 | ------------ |
| 330 | Fix caching data integrity bug when extending file size especially when no |
| 331 | oplock on file. Fix spurious logging of valid already parsed mount options |
| 332 | that are parsed outside of the cifs vfs such as nosuid. |
| 333 | |
| 334 | |
| 335 | Version 1.03 |
| 336 | ------------ |
| 337 | Connect to server when port number override not specified, and tcp port |
| 338 | unitialized. Reset search to restart at correct file when kernel routine |
| 339 | filldir returns error during large directory searches (readdir). |
| 340 | |
| 341 | Version 1.02 |
| 342 | ------------ |
| 343 | Fix caching problem when files opened by multiple clients in which |
| 344 | page cache could contain stale data, and write through did |
| 345 | not occur often enough while file was still open when read ahead |
| 346 | (read oplock) not allowed. Treat "sep=" when first mount option |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 347 | as an override of comma as the default separator between mount |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 348 | options. |
| 349 | |
| 350 | Version 1.01 |
| 351 | ------------ |
| 352 | Allow passwords longer than 16 bytes. Allow null password string. |
| 353 | |
| 354 | Version 1.00 |
| 355 | ------------ |
| 356 | 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] | 357 | Windows 98 that terminate tcp sessions during protocol negotiation. Handle |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 358 | embedded commas in mount parsing of passwords. |
| 359 | |
| 360 | Version 0.99 |
| 361 | ------------ |
| 362 | Invalidate local inode cached pages on oplock break and when last file |
| 363 | instance is closed so that the client does not continue using stale local |
| 364 | copy rather than later modified server copy of file. Do not reconnect |
| 365 | when server drops the tcp session prematurely before negotiate |
Steve French | c0c3e8e | 2005-08-24 14:01:13 -0700 | [diff] [blame] | 366 | protocol response. Fix oops in reopen_file when dentry freed. Allow |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 367 | the support for CIFS Unix Extensions to be disabled via proc interface. |
| 368 | |
| 369 | Version 0.98 |
| 370 | ------------ |
| 371 | Fix hang in commit_write during reconnection of open files under heavy load. |
| 372 | Fix unload_nls oops in a mount failure path. Serialize writes to same socket |
| 373 | which also fixes any possible races when cifs signatures are enabled in SMBs |
| 374 | being sent out of signature sequence number order. |
| 375 | |
| 376 | Version 0.97 |
| 377 | ------------ |
| 378 | Fix byte range locking bug (endian problem) causing bad offset and |
| 379 | length. |
| 380 | |
| 381 | Version 0.96 |
| 382 | ------------ |
| 383 | Fix oops (in send_sig) caused by CIFS unmount code trying to |
| 384 | wake up the demultiplex thread after it had exited. Do not log |
| 385 | error on harmless oplock release of closed handle. |
| 386 | |
| 387 | Version 0.95 |
| 388 | ------------ |
| 389 | Fix unsafe global variable usage and password hash failure on gcc 3.3.1 |
| 390 | Fix problem reconnecting secondary mounts to same server after session |
| 391 | failure. Fix invalid dentry - race in mkdir when directory gets created |
| 392 | by another client between the lookup and mkdir. |
| 393 | |
| 394 | Version 0.94 |
| 395 | ------------ |
| 396 | Fix to list processing in reopen_files. Fix reconnection when server hung |
| 397 | but tcpip session still alive. Set proper timeout on socket read. |
| 398 | |
| 399 | Version 0.93 |
| 400 | ------------ |
| 401 | Add missing mount options including iocharset. SMP fixes in write and open. |
| 402 | Fix errors in reconnecting after TCP session failure. Fix module unloading |
| 403 | of default nls codepage |
| 404 | |
| 405 | Version 0.92 |
| 406 | ------------ |
| 407 | Active smb transactions should never go negative (fix double FreeXid). Fix |
| 408 | list processing in file routines. Check return code on kmalloc in open. |
| 409 | Fix spinlock usage for SMP. |
| 410 | |
| 411 | Version 0.91 |
| 412 | ------------ |
| 413 | Fix oops in reopen_files when invalid dentry. drop dentry on server rename |
| 414 | and on revalidate errors. Fix cases where pid is now tgid. Fix return code |
| 415 | on create hard link when server does not support them. |
| 416 | |
| 417 | Version 0.90 |
| 418 | ------------ |
| 419 | Fix scheduling while atomic error in getting inode info on newly created file. |
| 420 | Fix truncate of existing files opened with O_CREAT but not O_TRUNC set. |
| 421 | |
| 422 | Version 0.89 |
| 423 | ------------ |
| 424 | Fix oops on write to dead tcp session. Remove error log write for case when file open |
| 425 | O_CREAT but not O_EXCL |
| 426 | |
| 427 | Version 0.88 |
| 428 | ------------ |
| 429 | Fix non-POSIX behavior on rename of open file and delete of open file by taking |
| 430 | advantage of trans2 SetFileInfo rename facility if available on target server. |
| 431 | Retry on ENOSPC and EAGAIN socket errors. |
| 432 | |
| 433 | Version 0.87 |
| 434 | ------------ |
| 435 | Fix oops on big endian readdir. Set blksize to be even power of two (2**blkbits) to fix |
| 436 | allocation size miscalculation. After oplock token lost do not read through |
| 437 | cache. |
| 438 | |
| 439 | Version 0.86 |
| 440 | ------------ |
| 441 | Fix oops on empty file readahead. Fix for file size handling for locally cached files. |
| 442 | |
| 443 | Version 0.85 |
| 444 | ------------ |
| 445 | Fix oops in mkdir when server fails to return inode info. Fix oops in reopen_files |
| 446 | during auto reconnection to server after server recovered from failure. |
| 447 | |
| 448 | Version 0.84 |
| 449 | ------------ |
| 450 | Finish support for Linux 2.5 open/create changes, which removes the |
| 451 | redundant NTCreate/QPathInfo/close that was sent during file create. |
| 452 | Enable oplock by default. Enable packet signing by default (needed to |
| 453 | access many recent Windows servers) |
| 454 | |
| 455 | Version 0.83 |
| 456 | ------------ |
| 457 | Fix oops when mounting to long server names caused by inverted parms to kmalloc. |
| 458 | Fix MultiuserMount (/proc/fs/cifs configuration setting) so that when enabled |
| 459 | we will choose a cifs user session (smb uid) that better matches the local |
| 460 | uid if a) the mount uid does not match the current uid and b) we have another |
| 461 | session to the same server (ip address) for a different mount which |
| 462 | matches the current local uid. |
| 463 | |
| 464 | Version 0.82 |
| 465 | ------------ |
| 466 | Add support for mknod of block or character devices. Fix oplock |
| 467 | code (distributed caching) to properly send response to oplock |
| 468 | break from server. |
| 469 | |
| 470 | Version 0.81 |
| 471 | ------------ |
| 472 | Finish up CIFS packet digital signing for the default |
| 473 | NTLM security case. This should help Windows 2003 |
| 474 | network interoperability since it is common for |
| 475 | packet signing to be required now. Fix statfs (stat -f) |
| 476 | which recently started returning errors due to |
| 477 | invalid value (-1 instead of 0) being set in the |
| 478 | struct kstatfs f_ffiles field. |
| 479 | |
| 480 | Version 0.80 |
| 481 | ----------- |
| 482 | Fix oops on stopping oplock thread when removing cifs when |
| 483 | built as module. |
| 484 | |
| 485 | Version 0.79 |
| 486 | ------------ |
| 487 | Fix mount options for ro (readonly), uid, gid and file and directory mode. |
| 488 | |
| 489 | Version 0.78 |
| 490 | ------------ |
| 491 | Fix errors displayed on failed mounts to be more understandable. |
| 492 | Fixed various incorrect or misleading smb to posix error code mappings. |
| 493 | |
| 494 | Version 0.77 |
| 495 | ------------ |
| 496 | Fix display of NTFS DFS junctions to display as symlinks. |
| 497 | They are the network equivalent. Fix oops in |
| 498 | cifs_partialpagewrite caused by missing spinlock protection |
| 499 | of openfile linked list. Allow writebehind caching errors to |
| 500 | be returned to the application at file close. |
| 501 | |
| 502 | Version 0.76 |
| 503 | ------------ |
| 504 | Clean up options displayed in /proc/mounts by show_options to |
| 505 | be more consistent with other filesystems. |
| 506 | |
| 507 | Version 0.75 |
| 508 | ------------ |
| 509 | Fix delete of readonly file to Windows servers. Reflect |
| 510 | presence or absence of read only dos attribute in mode |
| 511 | bits for servers that do not support CIFS Unix extensions. |
| 512 | Fix shortened results on readdir of large directories to |
| 513 | servers supporting CIFS Unix extensions (caused by |
| 514 | incorrect resume key). |
| 515 | |
| 516 | Version 0.74 |
| 517 | ------------ |
| 518 | Fix truncate bug (set file size) that could cause hangs e.g. running fsx |
| 519 | |
| 520 | Version 0.73 |
| 521 | ------------ |
| 522 | unload nls if mount fails. |
| 523 | |
| 524 | Version 0.72 |
| 525 | ------------ |
| 526 | Add resume key support to search (readdir) code to workaround |
| 527 | Windows bug. Add /proc/fs/cifs/LookupCacheEnable which |
| 528 | allows disabling caching of attribute information for |
| 529 | lookups. |
| 530 | |
| 531 | Version 0.71 |
| 532 | ------------ |
| 533 | Add more oplock handling (distributed caching code). Remove |
| 534 | dead code. Remove excessive stack space utilization from |
| 535 | symlink routines. |
| 536 | |
| 537 | Version 0.70 |
| 538 | ------------ |
| 539 | Fix oops in get dfs referral (triggered when null path sent in to |
| 540 | mount). Add support for overriding rsize at mount time. |
| 541 | |
| 542 | Version 0.69 |
| 543 | ------------ |
| 544 | Fix buffer overrun in readdir which caused intermittent kernel oopses. |
| 545 | Fix writepage code to release kmap on write data. Allow "-ip=" new |
| 546 | mount option to be passed in on parameter distinct from the first part |
| 547 | (server name portion of) the UNC name. Allow override of the |
| 548 | tcp port of the target server via new mount option "-port=" |
| 549 | |
| 550 | Version 0.68 |
| 551 | ------------ |
| 552 | Fix search handle leak on rewind. Fix setuid and gid so that they are |
| 553 | reflected in the local inode immediately. Cleanup of whitespace |
| 554 | to make 2.4 and 2.5 versions more consistent. |
| 555 | |
| 556 | |
| 557 | Version 0.67 |
| 558 | ------------ |
| 559 | Fix signal sending so that captive thread (cifsd) exits on umount |
| 560 | (which was causing the warning in kmem_cache_free of the request buffers |
| 561 | at rmmod time). This had broken as a sideeffect of the recent global |
| 562 | kernel change to daemonize. Fix memory leak in readdir code which |
| 563 | showed up in "ls -R" (and applications that did search rewinding). |
| 564 | |
| 565 | Version 0.66 |
| 566 | ------------ |
| 567 | Reconnect tids and fids after session reconnection (still do not |
| 568 | reconnect byte range locks though). Fix problem caching |
| 569 | lookup information for directory inodes, improving performance, |
| 570 | especially in deep directory trees. Fix various build warnings. |
| 571 | |
| 572 | Version 0.65 |
| 573 | ------------ |
| 574 | Finish fixes to commit write for caching/readahead consistency. fsx |
| 575 | now works to Samba servers. Fix oops caused when readahead |
| 576 | was interrupted by a signal. |
| 577 | |
| 578 | Version 0.64 |
| 579 | ------------ |
| 580 | Fix data corruption (in partial page after truncate) that caused fsx to |
| 581 | fail to Windows servers. Cleaned up some extraneous error logging in |
| 582 | common error paths. Add generic sendfile support. |
| 583 | |
| 584 | Version 0.63 |
| 585 | ------------ |
| 586 | Fix memory leak in AllocMidQEntry. |
| 587 | Finish reconnection logic, so connection with server can be dropped |
| 588 | (or server rebooted) and the cifs client will reconnect. |
| 589 | |
| 590 | Version 0.62 |
| 591 | ------------ |
| 592 | Fix temporary socket leak when bad userid or password specified |
| 593 | (or other SMBSessSetup failure). Increase maximum buffer size to slightly |
| 594 | over 16K to allow negotiation of up to Samba and Windows server default read |
| 595 | sizes. Add support for readpages |
| 596 | |
| 597 | Version 0.61 |
| 598 | ------------ |
| 599 | Fix oops when username not passed in on mount. Extensive fixes and improvements |
| 600 | to error logging (strip redundant newlines, change debug macros to ensure newline |
| 601 | passed in and to be more consistent). Fix writepage wrong file handle problem, |
| 602 | a readonly file handle could be incorrectly used to attempt to write out |
| 603 | file updates through the page cache to multiply open files. This could cause |
| 604 | the iozone benchmark to fail on the fwrite test. Fix bug mounting two different |
| 605 | shares to the same Windows server when using different usernames |
| 606 | (doing this to Samba servers worked but Windows was rejecting it) - now it is |
| 607 | possible to use different userids when connecting to the same server from a |
| 608 | Linux client. Fix oops when treeDisconnect called during unmount on |
| 609 | previously freed socket. |
| 610 | |
| 611 | Version 0.60 |
| 612 | ------------ |
| 613 | Fix oops in readpages caused by not setting address space operations in inode in |
| 614 | rare code path. |
| 615 | |
| 616 | Version 0.59 |
| 617 | ------------ |
| 618 | Includes support for deleting of open files and renaming over existing files (per POSIX |
| 619 | requirement). Add readlink support for Windows junction points (directory symlinks). |
| 620 | |
| 621 | Version 0.58 |
| 622 | ------------ |
| 623 | Changed read and write to go through pagecache. Added additional address space operations. |
| 624 | Memory mapped operations now working. |
| 625 | |
| 626 | Version 0.57 |
| 627 | ------------ |
| 628 | Added writepage code for additional memory mapping support. Fixed leak in xids causing |
| 629 | the simultaneous operations counter (/proc/fs/cifs/SimultaneousOps) to increase on |
| 630 | every stat call. Additional formatting cleanup. |
| 631 | |
| 632 | Version 0.56 |
| 633 | ------------ |
| 634 | Fix bigendian bug in order of time conversion. Merge 2.5 to 2.4 version. Formatting cleanup. |
| 635 | |
| 636 | Version 0.55 |
| 637 | ------------ |
| 638 | Fixes from Zwane Mwaikambo for adding missing return code checking in a few places. |
| 639 | Also included a modified version of his fix to protect global list manipulation of |
| 640 | the smb session and tree connection and mid related global variables. |
| 641 | |
| 642 | Version 0.54 |
| 643 | ------------ |
| 644 | Fix problem with captive thread hanging around at unmount time. Adjust to 2.5.42-pre |
| 645 | changes to superblock layout. Remove wasteful allocation of smb buffers (now the send |
| 646 | buffer is reused for responses). Add more oplock handling. Additional minor cleanup. |
| 647 | |
| 648 | Version 0.53 |
| 649 | ------------ |
| 650 | More stylistic updates to better match kernel style. Add additional statistics |
| 651 | for filesystem which can be viewed via /proc/fs/cifs. Add more pieces of NTLMv2 |
| 652 | and CIFS Packet Signing enablement. |
| 653 | |
| 654 | Version 0.52 |
| 655 | ------------ |
| 656 | Replace call to sleep_on with safer wait_on_event. |
| 657 | Make stylistic changes to better match kernel style recommendations. |
| 658 | Remove most typedef usage (except for the PDUs themselves). |
| 659 | |
| 660 | Version 0.51 |
| 661 | ------------ |
| 662 | Update mount so the -unc mount option is no longer required (the ip address can be specified |
| 663 | in a UNC style device name. Implementation of readpage/writepage started. |
| 664 | |
| 665 | Version 0.50 |
| 666 | ------------ |
| 667 | Fix intermittent problem with incorrect smb header checking on badly |
| 668 | fragmented tcp responses |
| 669 | |
| 670 | Version 0.49 |
| 671 | ------------ |
| 672 | Fixes to setting of allocation size and file size. |
| 673 | |
| 674 | Version 0.48 |
| 675 | ------------ |
| 676 | Various 2.5.38 fixes. Now works on 2.5.38 |
| 677 | |
| 678 | Version 0.47 |
| 679 | ------------ |
| 680 | Prepare for 2.5 kernel merge. Remove ifdefs. |
| 681 | |
| 682 | Version 0.46 |
| 683 | ------------ |
| 684 | Socket buffer management fixes. Fix dual free. |
| 685 | |
| 686 | Version 0.45 |
| 687 | ------------ |
| 688 | Various big endian fixes for hardlinks and symlinks and also for dfs. |
| 689 | |
| 690 | Version 0.44 |
| 691 | ------------ |
| 692 | Various big endian fixes for servers with Unix extensions such as Samba |
| 693 | |
| 694 | Version 0.43 |
| 695 | ------------ |
| 696 | Various FindNext fixes for incorrect filenames on large directory searches on big endian |
| 697 | clients. basic posix file i/o tests now work on big endian machines, not just le |
| 698 | |
| 699 | Version 0.42 |
| 700 | ------------ |
| 701 | SessionSetup and NegotiateProtocol now work from Big Endian machines. |
| 702 | Various Big Endian fixes found during testing on the Linux on 390. Various fixes for compatibility with older |
| 703 | versions of 2.4 kernel (now builds and works again on kernels at least as early as 2.4.7). |
| 704 | |
| 705 | Version 0.41 |
| 706 | ------------ |
| 707 | 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] | 708 | 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] | 709 | |
| 710 | Version 0.40 |
| 711 | ------------ |
| 712 | Implemented "Raw" (i.e. not encapsulated in SPNEGO) NTLMSSP (i.e. the Security Provider Interface used to negotiate |
| 713 | session advanced session authentication). Raw NTLMSSP is preferred by Windows 2000 Professional and Windows XP. |
| 714 | Began implementing support for SPNEGO encapsulation of NTLMSSP based session authentication blobs |
| 715 | (which is the mechanism preferred by Windows 2000 server in the absence of Kerberos). |
| 716 | |
| 717 | Version 0.38 |
| 718 | ------------ |
| 719 | Introduced optional mount helper utility mount.cifs and made coreq changes to cifs vfs to enable |
| 720 | it. Fixed a few bugs in the DFS code (e.g. bcc two bytes too short and incorrect uid in PDU). |
| 721 | |
| 722 | Version 0.37 |
| 723 | ------------ |
| 724 | Rewrote much of connection and mount/unmount logic to handle bugs with |
| 725 | multiple uses to same share, multiple users to same server etc. |
| 726 | |
| 727 | Version 0.36 |
| 728 | ------------ |
| 729 | Fixed major problem with dentry corruption (missing call to dput) |
| 730 | |
| 731 | Version 0.35 |
| 732 | ------------ |
| 733 | Rewrite of readdir code to fix bug. Various fixes for bigendian machines. |
| 734 | Begin adding oplock support. Multiusermount and oplockEnabled flags added to /proc/fs/cifs |
| 735 | although corresponding function not fully implemented in the vfs yet |
| 736 | |
| 737 | Version 0.34 |
| 738 | ------------ |
| 739 | Fixed dentry caching bug, misc. cleanup |
| 740 | |
| 741 | Version 0.33 |
| 742 | ------------ |
| 743 | Fixed 2.5 support to handle build and configure changes as well as misc. 2.5 changes. Now can build |
| 744 | on current 2.5 beta version (2.5.24) of the Linux kernel as well as on 2.4 Linux kernels. |
| 745 | Support for STATUS codes (newer 32 bit NT error codes) added. DFS support begun to be added. |
| 746 | |
| 747 | Version 0.32 |
| 748 | ------------ |
| 749 | Unix extensions (symlink, readlink, hardlink, chmod and some chgrp and chown) implemented |
| 750 | and tested against Samba 2.2.5 |
| 751 | |
| 752 | |
| 753 | Version 0.31 |
| 754 | ------------ |
| 755 | 1) Fixed lockrange to be correct (it was one byte too short) |
| 756 | |
| 757 | 2) Fixed GETLK (i.e. the fcntl call to test a range of bytes in a file to see if locked) to correctly |
| 758 | show range as locked when there is a conflict with an existing lock. |
| 759 | |
| 760 | 3) default file perms are now 2767 (indicating support for mandatory locks) instead of 777 for directories |
| 761 | in most cases. Eventually will offer optional ability to query server for the correct perms. |
| 762 | |
| 763 | 3) Fixed eventual trap when mounting twice to different shares on the same server when the first succeeded |
| 764 | but the second one was invalid and failed (the second one was incorrectly disconnecting the tcp and smb |
| 765 | session) |
| 766 | |
| 767 | 4) Fixed error logging of valid mount options |
| 768 | |
| 769 | 5) Removed logging of password field. |
| 770 | |
| 771 | 6) Moved negotiate, treeDisconnect and uloggoffX (only tConx and SessSetup remain in connect.c) to cifssmb.c |
| 772 | and cleaned them up and made them more consistent with other cifs functions. |
| 773 | |
| 774 | 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] | 775 | (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] | 776 | nor is the symlink support using the Unix extensions |
| 777 | |
| 778 | 8) Started adding the readlink and follow_link code |
| 779 | |
| 780 | Version 0.3 |
| 781 | ----------- |
| 782 | Initial drop |
| 783 | |