diff options
author | Steve French <sfrench@us.ibm.com> | 2005-10-20 16:44:56 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-10-20 16:44:56 -0400 |
commit | 23e7dd7d95f6fdc167a6d6ddea79ced0af33bbff (patch) | |
tree | dc7f5947df09eaca23c25a4d4a908e4dfe81cf40 /fs/cifs/inode.c | |
parent | 84d2f07e8e5e2424eec0f5acfef6792c924a0549 (diff) |
[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/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index ff4d1cc7c248..912d401600f6 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -1006,6 +1006,7 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs) | |||
1006 | __u32 npid = open_file->pid; | 1006 | __u32 npid = open_file->pid; |
1007 | rc = CIFSSMBSetFileSize(xid, pTcon, attrs->ia_size, | 1007 | rc = CIFSSMBSetFileSize(xid, pTcon, attrs->ia_size, |
1008 | nfid, npid, FALSE); | 1008 | nfid, npid, FALSE); |
1009 | atomic_dec(&open_file->wrtPending); | ||
1009 | cFYI(1,("SetFSize for attrs rc = %d", rc)); | 1010 | cFYI(1,("SetFSize for attrs rc = %d", rc)); |
1010 | if(rc == -EINVAL) { | 1011 | if(rc == -EINVAL) { |
1011 | int bytes_written; | 1012 | int bytes_written; |