From 58615e0586bb5d8f17cdd4ec71f4b8c2a1497f3b Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Sun, 4 Jul 2004 21:21:08 +0000 Subject: fix --- kernel/dir.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'kernel/dir.c') 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; -- cgit v1.2.3