diff options
author | Maxim Patlasov <mpatlasov@parallels.com> | 2012-12-18 05:05:08 -0500 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-04-18 04:55:24 -0400 |
commit | efb9fa9e911b23c7ea5330215bda778a7c69dba8 (patch) | |
tree | 7af69df4b3f3c5b89dc0e245a974fec358f23028 /fs/fuse/fuse_i.h | |
parent | 439ee5f0c5080d4fd15fda0c5bbee1fb3a57894e (diff) |
fuse: truncate file if async dio failed
The patch improves error handling in fuse_direct_IO(): if we successfully
submitted several fuse requests on behalf of synchronous direct write
extending file and some of them failed, let's try to do our best to clean-up.
Changed in v2: reuse fuse_do_setattr(). Thanks to Brian for suggestion.
Signed-off-by: Maxim Patlasov <mpatlasov@parallels.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r-- | fs/fuse/fuse_i.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index 337169a406c9..53b830e3b38f 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h | |||
@@ -863,4 +863,7 @@ int fuse_dev_release(struct inode *inode, struct file *file); | |||
863 | 863 | ||
864 | void fuse_write_update_size(struct inode *inode, loff_t pos); | 864 | void fuse_write_update_size(struct inode *inode, loff_t pos); |
865 | 865 | ||
866 | int fuse_do_setattr(struct inode *inode, struct iattr *attr, | ||
867 | struct file *file); | ||
868 | |||
866 | #endif /* _FS_FUSE_I_H */ | 869 | #endif /* _FS_FUSE_I_H */ |