Author: sfrench Date: 2006-08-16 17:29:32 +0000 (Wed, 16 Aug 2006) New Revision: 71
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=linux-cifs-client&rev=71 Log: merge with cifs git tree Modified: branches/linux-converged-for-old-kernels/fs/cifs/CHANGES branches/linux-converged-for-old-kernels/fs/cifs/cifsencrypt.c branches/linux-converged-for-old-kernels/fs/cifs/connect.c branches/linux-converged-for-old-kernels/fs/cifs/dir.c Changeset: Modified: branches/linux-converged-for-old-kernels/fs/cifs/CHANGES =================================================================== --- branches/linux-converged-for-old-kernels/fs/cifs/CHANGES 2006-08-16 16:39:11 UTC (rev 70) +++ branches/linux-converged-for-old-kernels/fs/cifs/CHANGES 2006-08-16 17:29:32 UTC (rev 71) @@ -2,7 +2,10 @@ ------------ 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. Version 1.44 ------------ Modified: branches/linux-converged-for-old-kernels/fs/cifs/cifsencrypt.c =================================================================== --- branches/linux-converged-for-old-kernels/fs/cifs/cifsencrypt.c 2006-08-16 16:39:11 UTC (rev 70) +++ branches/linux-converged-for-old-kernels/fs/cifs/cifsencrypt.c 2006-08-16 17:29:32 UTC (rev 71) @@ -277,7 +277,8 @@ return; memset(password_with_pad, 0, CIFS_ENCPWD_SIZE); - strncpy(password_with_pad, ses->password, CIFS_ENCPWD_SIZE); + if(ses->password) + strncpy(password_with_pad, ses->password, CIFS_ENCPWD_SIZE); if((ses->server->secMode & SECMODE_PW_ENCRYPT) == 0) if(extended_security & CIFSSEC_MAY_PLNTXT) { Modified: branches/linux-converged-for-old-kernels/fs/cifs/connect.c =================================================================== --- branches/linux-converged-for-old-kernels/fs/cifs/connect.c 2006-08-16 16:39:11 UTC (rev 70) +++ branches/linux-converged-for-old-kernels/fs/cifs/connect.c 2006-08-16 17:29:32 UTC (rev 71) @@ -1322,33 +1322,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-converged-for-old-kernels/fs/cifs/dir.c =================================================================== --- branches/linux-converged-for-old-kernels/fs/cifs/dir.c 2006-08-16 16:39:11 UTC (rev 70) +++ branches/linux-converged-for-old-kernels/fs/cifs/dir.c 2006-08-16 17:29:32 UTC (rev 71) @@ -286,6 +286,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);