svn commit: linux-cifs-client r72 - in
branches/linux-2.6-cifs-git-devel/fs/cifs: .
sfrench at samba.org
sfrench at samba.org
Wed Aug 16 19:51:49 GMT 2006
Author: sfrench
Date: 2006-08-16 19:51:48 +0000 (Wed, 16 Aug 2006)
New Revision: 72
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=linux-cifs-client&rev=72
Log:
Merge with mainline cifs git tree - picking up Bjoern Jacke's suggestion re:allowing disabling listxattr
Modified:
branches/linux-2.6-cifs-git-devel/fs/cifs/CHANGES
branches/linux-2.6-cifs-git-devel/fs/cifs/README
branches/linux-2.6-cifs-git-devel/fs/cifs/cifssmb.c
branches/linux-2.6-cifs-git-devel/fs/cifs/connect.c
branches/linux-2.6-cifs-git-devel/fs/cifs/dir.c
branches/linux-2.6-cifs-git-devel/fs/cifs/readdir.c
branches/linux-2.6-cifs-git-devel/fs/cifs/xattr.c
Changeset:
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/CHANGES
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/CHANGES 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/CHANGES 2006-08-16 19:51:48 UTC (rev 72)
@@ -2,7 +2,11 @@
------------
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
+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.
Version 1.44
------------
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/README
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/README 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/README 2006-08-16 19:51:48 UTC (rev 72)
@@ -408,7 +408,7 @@
user_xattr Allow getting and setting user xattrs as OS/2 EAs (extended
attributes) to the server (default) e.g. via setfattr
and getfattr utilities.
- nouser_xattr Do not allow getfattr/setfattr to get/set xattrs
+ nouser_xattr Do not allow getfattr/setfattr to get/set/list xattrs
mapchars Translate six of the seven reserved characters (not backslash)
*?<>|:
to the remap range (above 0xF000), which also
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/cifssmb.c
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/cifssmb.c 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/cifssmb.c 2006-08-16 19:51:48 UTC (rev 72)
@@ -477,7 +477,7 @@
/* BB get server time for time conversions and add
code to use it and timezone since this is not UTC */
- if (rsp->EncryptionKeyLength == CIFS_CRYPTO_KEY_SIZE) {
+ if (rsp->EncryptionKeyLength == cpu_to_le16(CIFS_CRYPTO_KEY_SIZE)) {
memcpy(server->cryptKey, rsp->EncryptionKey,
CIFS_CRYPTO_KEY_SIZE);
} else if (server->secMode & SECMODE_PW_ENCRYPT) {
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/connect.c
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/connect.c 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/connect.c 2006-08-16 19:51:48 UTC (rev 72)
@@ -1271,33 +1271,35 @@
read_lock(&GlobalSMBSeslock);
list_for_each(tmp, &GlobalTreeConnectionList) {
- cFYI(1, ("Next tcon - "));
+ cFYI(1, ("Next tcon"));
tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList);
if (tcon->ses) {
if (tcon->ses->server) {
cFYI(1,
- (" old ip addr: %x == new ip %x ?",
+ ("old ip addr: %x == new ip %x ?",
tcon->ses->server->addr.sockAddr.sin_addr.
s_addr, new_target_ip_addr));
if (tcon->ses->server->addr.sockAddr.sin_addr.
s_addr == new_target_ip_addr) {
- /* BB lock tcon and server and tcp session and increment use count here? */
+ /* BB lock tcon, server and tcp session and increment use count here? */
/* found a match on the TCP session */
/* BB check if reconnection needed */
- cFYI(1,("Matched ip, old UNC: %s == new: %s ?",
+ cFYI(1,("IP match, old UNC: %s new: %s",
tcon->treeName, uncName));
if (strncmp
(tcon->treeName, uncName,
MAX_TREE_SIZE) == 0) {
cFYI(1,
- ("Matched UNC, old user: %s == new: %s ?",
+ ("and old usr: %s new: %s",
tcon->treeName, uncName));
if (strncmp
(tcon->ses->userName,
userName,
MAX_USERNAME_SIZE) == 0) {
read_unlock(&GlobalSMBSeslock);
- return tcon;/* also matched user (smb session)*/
+ /* matched smb session
+ (user name */
+ return tcon;
}
}
}
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/dir.c
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/dir.c 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/dir.c 2006-08-16 19:51:48 UTC (rev 72)
@@ -267,6 +267,10 @@
pCifsFile->invalidHandle = FALSE;
pCifsFile->closePend = FALSE;
init_MUTEX(&pCifsFile->fh_sem);
+ init_MUTEX(&pCifsFile->lock_sem);
+ INIT_LIST_HEAD(&pCifsFile->llist);
+ atomic_set(&pCifsFile->wrtPending,0);
+
/* set the following in open now
pCifsFile->pfile = file; */
write_lock(&GlobalSMBSeslock);
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/readdir.c
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/readdir.c 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/readdir.c 2006-08-16 19:51:48 UTC (rev 72)
@@ -556,7 +556,7 @@
FIND_FILE_STANDARD_INFO * pFindData =
(FIND_FILE_STANDARD_INFO *)current_entry;
filename = &pFindData->FileName[0];
- len = le32_to_cpu(pFindData->FileNameLength);
+ len = pFindData->FileNameLength;
} else {
cFYI(1,("Unknown findfirst level %d",cfile->srch_inf.info_level));
}
Modified: branches/linux-2.6-cifs-git-devel/fs/cifs/xattr.c
===================================================================
--- branches/linux-2.6-cifs-git-devel/fs/cifs/xattr.c 2006-08-16 17:29:32 UTC (rev 71)
+++ branches/linux-2.6-cifs-git-devel/fs/cifs/xattr.c 2006-08-16 19:51:48 UTC (rev 72)
@@ -330,11 +330,15 @@
sb = direntry->d_inode->i_sb;
if(sb == NULL)
return -EIO;
- xid = GetXid();
cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;
+ if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR)
+ return -EOPNOTSUPP;
+
+ xid = GetXid();
+
full_path = build_path_from_dentry(direntry);
if(full_path == NULL) {
FreeXid(xid);
More information about the samba-cvs
mailing list