Re: [patch 02/12] fuse: fix race between getattr and write

2007-10-04 Thread Miklos Szeredi
> > @@ -228,6 +243,7 @@ static struct dentry *fuse_lookup(struct > > struct fuse_conn *fc = get_fuse_conn(dir); > > struct fuse_req *req; > > struct fuse_req *forget_req; > > + u64 attr_version; > > > > if (entry->d_name.len > FUSE_NAME_MAX) > > return ERR_PTR(-ENAME

Re: [patch 02/12] fuse: fix race between getattr and write

2007-10-04 Thread Andrew Morton
On Tue, 02 Oct 2007 17:50:28 +0200 Miklos Szeredi <[EMAIL PROTECTED]> wrote: > @@ -228,6 +243,7 @@ static struct dentry *fuse_lookup(struct > struct fuse_conn *fc = get_fuse_conn(dir); > struct fuse_req *req; > struct fuse_req *forget_req; > + u64 attr_version; > > if

[patch 02/12] fuse: fix race between getattr and write

2007-10-02 Thread Miklos Szeredi
From: Miklos Szeredi <[EMAIL PROTECTED]> Getattr and lookup operations can be running in parallel to attribute changing operations, such as write and setattr. This means, that if for example getattr was slower than a write, the cached size attribute could be set to a stale value. To prevent this