forked from Minki/linux
fuse: cleanup: add fuse_get_attr_version()
Extract repeated code into helper function, as suggested by Akpm. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
bcb4be809d
commit
7dca9fd39f
@ -132,6 +132,21 @@ static void fuse_lookup_init(struct fuse_req *req, struct inode *dir,
|
||||
req->out.args[0].value = outarg;
|
||||
}
|
||||
|
||||
static u64 fuse_get_attr_version(struct fuse_conn *fc)
|
||||
{
|
||||
u64 curr_version;
|
||||
|
||||
/*
|
||||
* The spin lock isn't actually needed on 64bit archs, but we
|
||||
* don't yet care too much about such optimizations.
|
||||
*/
|
||||
spin_lock(&fc->lock);
|
||||
curr_version = fc->attr_version;
|
||||
spin_unlock(&fc->lock);
|
||||
|
||||
return curr_version;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check whether the dentry is still valid
|
||||
*
|
||||
@ -171,9 +186,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
spin_lock(&fc->lock);
|
||||
attr_version = fc->attr_version;
|
||||
spin_unlock(&fc->lock);
|
||||
attr_version = fuse_get_attr_version(fc);
|
||||
|
||||
parent = dget_parent(entry);
|
||||
fuse_lookup_init(req, parent->d_inode, entry, &outarg);
|
||||
@ -264,9 +277,7 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
|
||||
return ERR_PTR(PTR_ERR(forget_req));
|
||||
}
|
||||
|
||||
spin_lock(&fc->lock);
|
||||
attr_version = fc->attr_version;
|
||||
spin_unlock(&fc->lock);
|
||||
attr_version = fuse_get_attr_version(fc);
|
||||
|
||||
fuse_lookup_init(req, dir, entry, &outarg);
|
||||
request_send(fc, req);
|
||||
@ -733,9 +744,7 @@ static int fuse_do_getattr(struct inode *inode, struct kstat *stat,
|
||||
if (IS_ERR(req))
|
||||
return PTR_ERR(req);
|
||||
|
||||
spin_lock(&fc->lock);
|
||||
attr_version = fc->attr_version;
|
||||
spin_unlock(&fc->lock);
|
||||
attr_version = fuse_get_attr_version(fc);
|
||||
|
||||
memset(&inarg, 0, sizeof(inarg));
|
||||
memset(&outarg, 0, sizeof(outarg));
|
||||
|
Loading…
Reference in New Issue
Block a user