mirror of
https://github.com/S3NEO/android_kernel_samsung_msm8226.git
synced 2024-11-07 03:47:13 +00:00
fuse: fix truncate after open
Commit e1181ee6
"vfs: pass struct file to do_truncate on O_TRUNC
opens" broke the behavior of open(O_TRUNC|O_RDONLY) in fuse. Fuse
assumed that when called from open, a truncate() will be done, not an
ftruncate().
Fix by restoring the old behavior, based on the ATTR_OPEN flag.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
parent
5a18ec176c
commit
8d56addd70
1 changed files with 5 additions and 2 deletions
|
@ -1283,8 +1283,11 @@ static int fuse_do_setattr(struct dentry *entry, struct iattr *attr,
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
if ((attr->ia_valid & ATTR_OPEN) && fc->atomic_o_trunc)
|
||||
return 0;
|
||||
if (attr->ia_valid & ATTR_OPEN) {
|
||||
if (fc->atomic_o_trunc)
|
||||
return 0;
|
||||
file = NULL;
|
||||
}
|
||||
|
||||
if (attr->ia_valid & ATTR_SIZE)
|
||||
is_truncate = true;
|
||||
|
|
Loading…
Reference in a new issue