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