Skip to content

Commit 5b97eea

Browse files
author
Miklos Szeredi
committed
fuse: getattr cleanup
The refreshed argument isn't used by any caller, get rid of it. Use a helper for just updating the inode (no need to fill in a kstat). Signed-off-by: Miklos Szeredi <[email protected]>
1 parent e1c0eec commit 5b97eea

File tree

3 files changed

+18
-23
lines changed

3 files changed

+18
-23
lines changed

fs/fuse/dir.c

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -923,33 +923,29 @@ static int fuse_do_getattr(struct inode *inode, struct kstat *stat,
923923
return err;
924924
}
925925

926-
int fuse_update_attributes(struct inode *inode, struct kstat *stat,
927-
struct file *file, bool *refreshed)
926+
static int fuse_update_get_attr(struct inode *inode, struct file *file,
927+
struct kstat *stat)
928928
{
929929
struct fuse_inode *fi = get_fuse_inode(inode);
930-
int err;
931-
bool r;
930+
int err = 0;
932931

933932
if (time_before64(fi->i_time, get_jiffies_64())) {
934-
r = true;
935933
forget_all_cached_acls(inode);
936934
err = fuse_do_getattr(inode, stat, file);
937-
} else {
938-
r = false;
939-
err = 0;
940-
if (stat) {
941-
generic_fillattr(inode, stat);
942-
stat->mode = fi->orig_i_mode;
943-
stat->ino = fi->orig_ino;
944-
}
935+
} else if (stat) {
936+
generic_fillattr(inode, stat);
937+
stat->mode = fi->orig_i_mode;
938+
stat->ino = fi->orig_ino;
945939
}
946940

947-
if (refreshed != NULL)
948-
*refreshed = r;
949-
950941
return err;
951942
}
952943

944+
int fuse_update_attributes(struct inode *inode, struct file *file)
945+
{
946+
return fuse_update_get_attr(inode, file, NULL);
947+
}
948+
953949
int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid,
954950
u64 child_nodeid, struct qstr *name)
955951
{
@@ -1786,7 +1782,7 @@ static int fuse_getattr(const struct path *path, struct kstat *stat,
17861782
if (!fuse_allow_current_process(fc))
17871783
return -EACCES;
17881784

1789-
return fuse_update_attributes(inode, stat, NULL, NULL);
1785+
return fuse_update_get_attr(inode, NULL, stat);
17901786
}
17911787

17921788
static const struct inode_operations fuse_dir_inode_operations = {

fs/fuse/file.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,7 @@ static ssize_t fuse_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
926926
if (fc->auto_inval_data ||
927927
(iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) {
928928
int err;
929-
err = fuse_update_attributes(inode, NULL, iocb->ki_filp, NULL);
929+
err = fuse_update_attributes(inode, iocb->ki_filp);
930930
if (err)
931931
return err;
932932
}
@@ -1177,7 +1177,7 @@ static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
11771177

11781178
if (get_fuse_conn(inode)->writeback_cache) {
11791179
/* Update size (EOF optimization) and mode (SUID clearing) */
1180-
err = fuse_update_attributes(mapping->host, NULL, file, NULL);
1180+
err = fuse_update_attributes(mapping->host, file);
11811181
if (err)
11821182
return err;
11831183

@@ -2308,7 +2308,7 @@ static loff_t fuse_lseek(struct file *file, loff_t offset, int whence)
23082308
return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes);
23092309

23102310
fallback:
2311-
err = fuse_update_attributes(inode, NULL, file, NULL);
2311+
err = fuse_update_attributes(inode, file);
23122312
if (!err)
23132313
return generic_file_llseek(file, offset, whence);
23142314
else
@@ -2328,7 +2328,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int whence)
23282328
break;
23292329
case SEEK_END:
23302330
inode_lock(inode);
2331-
retval = fuse_update_attributes(inode, NULL, file, NULL);
2331+
retval = fuse_update_attributes(inode, file);
23322332
if (!retval)
23332333
retval = generic_file_llseek(file, offset, whence);
23342334
inode_unlock(inode);

fs/fuse/fuse_i.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -904,8 +904,7 @@ u64 fuse_lock_owner_id(struct fuse_conn *fc, fl_owner_t id);
904904

905905
void fuse_update_ctime(struct inode *inode);
906906

907-
int fuse_update_attributes(struct inode *inode, struct kstat *stat,
908-
struct file *file, bool *refreshed);
907+
int fuse_update_attributes(struct inode *inode, struct file *file);
909908

910909
void fuse_flush_writepages(struct inode *inode);
911910

0 commit comments

Comments
 (0)