diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2013-07-17 14:53:53 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-07-17 14:53:53 +0200 |
commit | fa2b7213600f8110ebac64acebc78a885b0594a0 (patch) | |
tree | b72c3cc5f0af67623da13454a1c500fc60404b4b /fs/fuse | |
parent | 2914941e3178d84a216fc4eb85292dfef3b6d628 (diff) |
fuse: readdirplus: change attributes once
If we got the inode through fuse_iget() then the attributes are already
up-to-date.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/dir.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 5dfbb5439e4..37d85e05b1f 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -1252,6 +1252,10 @@ static int fuse_direntplus_link(struct file *file, fi->nlookup++; spin_unlock(&fc->lock); + fuse_change_attributes(inode, &o->attr, + entry_attr_timeout(o), + attr_version); + /* * The other branch to 'found' comes via fuse_iget() * which bumps nlookup inside @@ -1291,9 +1295,6 @@ static int fuse_direntplus_link(struct file *file, } found: - fuse_change_attributes(inode, &o->attr, entry_attr_timeout(o), - attr_version); - fuse_change_entry_timeout(dentry, o); err = 0; |