Commit 1cba1828 authored by Steve French's avatar Steve French

do not try to grab the i_sem ever during revalidate path since the rename code...

do not try to grab the i_sem ever during revalidate path since the rename code can grab it before we get here
parent e503ef53
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
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
------------
......
......@@ -154,6 +154,8 @@ of the mount options. Credential files contain two lines
password=your_password
2) By specifying the password in the PASSWD environment variable (similarly
the user name can be taken from the USER environment variable).
3) By specifying the password in a file by name via PASSWD_FILE
4) By specifying the password in a file by file descriptor via PASSWD_FD
If no password is provided, mount.cifs will prompt for password entry
......@@ -251,6 +253,17 @@ A partial list of the supported mount options follows:
if guest is specified on the mount options. If no
password is specified a null password will be used.
The mount.cifs mount helper also accepts a few mount options before -o
including:
-S take password from stdin (equivalent to setting the environment
variable "PASSWD_FD=0"
-V print mount.cifs version
-? display simple usage information
With recent 2.6 kernel versions of modutils, the version of the cifs kernel
module can be displayed via modinfo.
Misc /proc/fs/cifs Flags and Debug Info
=======================================
Informational pseudo-files:
......
version 1.0.2 January 29, 2004
version 1.14 May 14, 2004
A Partial List of Known Problems and Missing Features
=====================================================
......@@ -21,8 +21,8 @@ e) NTLMv2 authentication (mostly implemented)
f) MD5-HMAC signing SMB PDUs when SPNEGO style SessionSetup
used (Kerberos or NTLMSSP). Signing alreadyimplemented for NTLM
and raw NTLMSSP already. This is important when enabling
extended security and mounting to Windows 2003 Servers
and raw NTLMSSP already. This is important when enabling
extended security and mounting to Windows 2003 Servers
f) Directory entry caching relies on a 1 second timer, rather than
using FindNotify or equivalent. - (started)
......@@ -34,7 +34,8 @@ h) quota support
i) support for the Linux 2.5 kernel new feature get_xattr and set_xattr
which will allow us to expose dos attributes as well as real
ACLs
ACLs. This support has been started in the current code, but is
ifdeffed out.
k) finish writepages support (multi-page write behind for improved
performance) and syncpage
......@@ -42,7 +43,9 @@ performance) and syncpage
l) hook lower into the sockets api (as NFS/SunRPC does) to avoid the
extra copy in/out of the socket buffers in some cases.
m) finish support for IPv6
m) finish support for IPv6. This is mostly complete but
needs a simple inet_pton like function to convert ipv6
addresses in string representation.
o) Better optimize open (and pathbased setfilesize) to reduce the
oplock breaks coming from windows srv. Piggyback identical file
......@@ -53,8 +56,18 @@ spurious oplock breaks).
p) Improve performance of readpages by sending more than one read
at a time when 8 pages or more are requested.
q) For support of Windows9x/98 we need to retry failed mounts
to *SMBSERVER (default server name) with the uppercase hostname
in the RFC1001 session_init request.
KNOWN BUGS (updated January 30, 2004)
r) Add Extended Attributed support (for storing UID/GID info
to Windows servers)
s) Finish fcntl D_NOTIFY support so kde and gnome file list windows
will autorefresh
KNOWN BUGS (updated May 14, 2004)
====================================
1) existing symbolic links (Windows reparse points) are recognized but
can not be created remotely. They are implemented for Samba and those that
......@@ -64,20 +77,22 @@ symlink text beginning with slash
but recognizes them
3) create of new files to FAT partitions on Windows servers can
succeed but still return access denied (appears to be Windows
not client problem). NTFS partitions do not have this problem.
4) debug connectathon special test case nfs_idem (which does
some invalid symlink naming, or at least what Samba thinks
is an invalid symlink target).
5) debug connectation lock test case 10 which fails against
not client problem) and has not been reproduced recently.
NTFS partitions do not have this problem.
4) debug connectation lock test case 10 which fails against
Samba (may be unmappable due to POSIX to Windows lock model
differences but worth investigating). Also debug Samba to
see why lock test case 7 takes longer to complete to Samba
than to Windows.
5) prepare_write does not initialize pages properly when partial
page writes begin in the middle of a page (pages can get zeroed).
6) Write caching done incorrectly when files are only opened
with write permission by the application.
Misc testing to do
=================
1) check out max path names and max path name components against various server
types.
types. Return max path name in stat -f information
2) Modify file portion of ltp so it can run against a mounted network
share and run it against cifs vfs.
......
......@@ -647,9 +647,12 @@ cifs_revalidate(struct dentry *direntry)
}
}
/* can not grab this sem since kernel filesys locking
documentation indicates i_sem may be taken by the kernel
on lookup and rename which could deadlock if we grab
the i_sem here as well */
/* down(&direntry->d_inode->i_sem);*/
/* need to write out dirty pages here */
down(&direntry->d_inode->i_sem);
if(direntry->d_inode->i_mapping) {
/* do we need to lock inode until after invalidate completes below? */
filemap_fdatawrite(direntry->d_inode->i_mapping);
......@@ -663,9 +666,7 @@ cifs_revalidate(struct dentry *direntry)
invalidate_remote_inode(direntry->d_inode);
}
}
up(&direntry->d_inode->i_sem);
/* up(&direntry->d_inode->i_sem);*/
if (full_path)
kfree(full_path);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment