diff options
author | Pavel Shilovsky <pshilov@microsoft.com> | 2016-10-07 17:26:36 -0700 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2016-10-13 19:48:55 -0500 |
commit | f2cca6a7c99fdeadacd0bdc37d825c4bc2b03653 (patch) | |
tree | 56eb1f191ef0846f13f392bf2d207f0ba0460934 /fs/cifs/cifsglob.h | |
parent | 166cea4dc3a4f66f020cfb9286225ecd228ab61d (diff) | |
download | talos-op-linux-f2cca6a7c99fdeadacd0bdc37d825c4bc2b03653.tar.gz talos-op-linux-f2cca6a7c99fdeadacd0bdc37d825c4bc2b03653.zip |
CIFS: Fix persistent handles re-opening on reconnect
openFileList of tcon can be changed while cifs_reopen_file() is called
that can lead to an unexpected behavior when we return to the loop.
Fix this by introducing a temp list for keeping all file handles that
need to be reopen.
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index d9a17288baf3..0c828d3c48c3 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -1065,6 +1065,7 @@ struct cifsFileInfo { kuid_t uid; /* allows finding which FileInfo structure */ __u32 pid; /* process id who opened file */ struct cifs_fid fid; /* file id from remote */ + struct list_head rlist; /* reconnect list */ /* BB add lock scope info here if needed */ ; /* lock scope id (0 if none) */ struct dentry *dentry; |