diff options
author | Steve French <sfrench@us.ibm.com> | 2005-10-20 13:44:56 -0700 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-10-20 13:44:56 -0700 |
commit | 23e7dd7d95f6fdc167a6d6ddea79ced0af33bbff (patch) | |
tree | dc7f5947df09eaca23c25a4d4a908e4dfe81cf40 /fs/cifs/cifsglob.h | |
parent | 84d2f07e8e5e2424eec0f5acfef6792c924a0549 (diff) | |
download | lwn-23e7dd7d95f6fdc167a6d6ddea79ced0af33bbff.tar.gz lwn-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.h | 1 |
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 */ |