f0472d0ec8
Also update fs/cifs/CHANGES Signed-off-by: Steve French <sfrench@us.ibm.com>
1035 lines
45 KiB
Text
1035 lines
45 KiB
Text
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).
|
|
|
|
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
|
|
|