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 <mszeredi@redhat.com>

+18 -23
+13 -17
fs/fuse/dir.c
··· 923 923 return err; 924 924 } 925 925 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) 928 928 { 929 929 struct fuse_inode *fi = get_fuse_inode(inode); 930 - int err; 931 - bool r; 930 + int err = 0; 932 931 933 932 if (time_before64(fi->i_time, get_jiffies_64())) { 934 - r = true; 935 933 forget_all_cached_acls(inode); 936 934 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; 945 939 } 946 940 947 - if (refreshed != NULL) 948 - *refreshed = r; 949 - 950 941 return err; 942 + } 943 + 944 + int fuse_update_attributes(struct inode *inode, struct file *file) 945 + { 946 + return fuse_update_get_attr(inode, file, NULL); 951 947 } 952 948 953 949 int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid, ··· 1782 1786 if (!fuse_allow_current_process(fc)) 1783 1787 return -EACCES; 1784 1788 1785 - return fuse_update_attributes(inode, stat, NULL, NULL); 1789 + return fuse_update_get_attr(inode, NULL, stat); 1786 1790 } 1787 1791 1788 1792 static const struct inode_operations fuse_dir_inode_operations = {
+4 -4
fs/fuse/file.c
··· 926 926 if (fc->auto_inval_data || 927 927 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) { 928 928 int err; 929 - err = fuse_update_attributes(inode, NULL, iocb->ki_filp, NULL); 929 + err = fuse_update_attributes(inode, iocb->ki_filp); 930 930 if (err) 931 931 return err; 932 932 } ··· 1177 1177 1178 1178 if (get_fuse_conn(inode)->writeback_cache) { 1179 1179 /* 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); 1181 1181 if (err) 1182 1182 return err; 1183 1183 ··· 2308 2308 return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes); 2309 2309 2310 2310 fallback: 2311 - err = fuse_update_attributes(inode, NULL, file, NULL); 2311 + err = fuse_update_attributes(inode, file); 2312 2312 if (!err) 2313 2313 return generic_file_llseek(file, offset, whence); 2314 2314 else ··· 2328 2328 break; 2329 2329 case SEEK_END: 2330 2330 inode_lock(inode); 2331 - retval = fuse_update_attributes(inode, NULL, file, NULL); 2331 + retval = fuse_update_attributes(inode, file); 2332 2332 if (!retval) 2333 2333 retval = generic_file_llseek(file, offset, whence); 2334 2334 inode_unlock(inode);
+1 -2
fs/fuse/fuse_i.h
··· 904 904 905 905 void fuse_update_ctime(struct inode *inode); 906 906 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); 909 908 910 909 void fuse_flush_writepages(struct inode *inode); 911 910