aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsglob.h
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-10-20 13:44:56 -0700
committerSteve French <sfrench@us.ibm.com>2005-10-20 13:44:56 -0700
commit23e7dd7d95f6fdc167a6d6ddea79ced0af33bbff (patch)
treedc7f5947df09eaca23c25a4d4a908e4dfe81cf40 /fs/cifs/cifsglob.h
parentCIFS: cifs_writepages should not write beyond end of file (diff)
downloadlinux-dev-23e7dd7d95f6fdc167a6d6ddea79ced0af33bbff.tar.xz
linux-dev-23e7dd7d95f6fdc167a6d6ddea79ced0af33bbff.zip
[CIFS] Defer close of file handle slightly if there are pending writes that
need to get in ahead of it that depend on that file handle. Fixes occassional bad file handle errors on write with heavy use multiple process cases. Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r--fs/cifs/cifsglob.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 839a55667c3c..1ba08f8c5bc4 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -299,6 +299,7 @@ struct cifsFileInfo {
struct inode * pInode; /* needed for oplock break */
unsigned closePend:1; /* file is marked to close */
unsigned invalidHandle:1; /* file closed via session abend */
+ atomic_t wrtPending; /* handle in use - defer close */
struct semaphore fh_sem; /* prevents reopen race after dead ses*/
char * search_resume_name; /* BB removeme BB */
unsigned int resume_name_length; /* BB removeme - field renamed and moved BB */