diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-07-04 21:21:08 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-07-04 21:21:08 +0000 |
commit | 58615e0586bb5d8f17cdd4ec71f4b8c2a1497f3b (patch) | |
tree | 2737649ce6b4268d4d566a210e7f0bf83784984b /kernel/dir.c | |
parent | 014d7d28269067df7c23aa174da84f9f7930de2b (diff) | |
download | libfuse-58615e0586bb5d8f17cdd4ec71f4b8c2a1497f3b.tar.gz |
fix
Diffstat (limited to 'kernel/dir.c')
-rw-r--r-- | kernel/dir.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index aa31295..f0a5aa6 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -724,11 +724,16 @@ static int fuse_setattr(struct dentry *entry, struct iattr *attr) { struct inode *inode = entry->d_inode; struct fuse_conn *fc = INO_FC(inode); - struct fuse_req *req = fuse_get_request(fc); + struct fuse_req *req; struct fuse_setattr_in inarg; struct fuse_attr_out outarg; int err; - + + /* FIXME: need to fix race between truncate and writepage */ + if (attr->ia_valid & ATTR_SIZE) + fuse_sync_inode(inode); + + req = fuse_get_request(fc); if (!req) return -ERESTARTSYS; |