diff options
author | Steve French <sfrench@us.ibm.com> | 2008-11-13 19:45:32 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2008-11-13 19:45:32 +0000 |
commit | 3b7952109361c684caf0c50474da8662ecc81019 (patch) | |
tree | 402062ed63236ef245d8d65010d8f06520df8453 /fs/cifs/file.c | |
parent | c527c8a7ffa18400c2c1488f7ab5aff5e83f3c8e (diff) | |
download | op-kernel-dev-3b7952109361c684caf0c50474da8662ecc81019.zip op-kernel-dev-3b7952109361c684caf0c50474da8662ecc81019.tar.gz |
[CIFS] Fix cifs reconnection flags
In preparation for Jeff's big umount/mount fixes to remove the possibility of
various races in cifs mount and linked list handling of sessions, sockets and
tree connections, this patch cleans up some repetitive code in cifs_mount,
and addresses a problem with ses->status and tcon->tidStatus in which we
were overloading the "need_reconnect" state with other status in that
field. So the "need_reconnect" flag has been broken out from those
two state fields (need reconnect was not mutually exclusive from some of the
other possible tid and ses states). In addition, a few exit cases in
cifs_mount were cleaned up, and a problem with a tcon flag (for lease support)
was not being set consistently for the 2nd mount of the same share
CC: Jeff Layton <jlayton@redhat.com>
CC: Shirish Pargaonkar <shirishp@us.ibm.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index ead1a3b..1540ada 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -493,7 +493,7 @@ int cifs_close(struct inode *inode, struct file *file) if (pTcon) { /* no sense reconnecting to close a file that is already closed */ - if (pTcon->tidStatus != CifsNeedReconnect) { + if (!pTcon->need_reconnect) { timeout = 2; while ((atomic_read(&pSMBFile->wrtPending) != 0) && (timeout <= 2048)) { |