fuse: getattr cleanup
authorMiklos Szeredi <mszeredi@redhat.com>
Tue, 12 Sep 2017 14:57:54 +0000 (16:57 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Tue, 12 Sep 2017 14:57:54 +0000 (16:57 +0200)
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>
fs/fuse/dir.c
fs/fuse/file.c
fs/fuse/fuse_i.h

index 00800c07ba1c89bda7abd8f15aa760b9ddccc869..622081b97426d5b439bb1db5ee57dc4c3eead253 100644 (file)
@@ -923,33 +923,29 @@ static int fuse_do_getattr(struct inode *inode, struct kstat *stat,
        return err;
 }
 
-int fuse_update_attributes(struct inode *inode, struct kstat *stat,
-                          struct file *file, bool *refreshed)
+static int fuse_update_get_attr(struct inode *inode, struct file *file,
+                               struct kstat *stat)
 {
        struct fuse_inode *fi = get_fuse_inode(inode);
-       int err;
-       bool r;
+       int err = 0;
 
        if (time_before64(fi->i_time, get_jiffies_64())) {
-               r = true;
                forget_all_cached_acls(inode);
                err = fuse_do_getattr(inode, stat, file);
-       } else {
-               r = false;
-               err = 0;
-               if (stat) {
-                       generic_fillattr(inode, stat);
-                       stat->mode = fi->orig_i_mode;
-                       stat->ino = fi->orig_ino;
-               }
+       } else if (stat) {
+               generic_fillattr(inode, stat);
+               stat->mode = fi->orig_i_mode;
+               stat->ino = fi->orig_ino;
        }
 
-       if (refreshed != NULL)
-               *refreshed = r;
-
        return err;
 }
 
+int fuse_update_attributes(struct inode *inode, struct file *file)
+{
+       return fuse_update_get_attr(inode, file, NULL);
+}
+
 int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid,
                             u64 child_nodeid, struct qstr *name)
 {
@@ -1786,7 +1782,7 @@ static int fuse_getattr(const struct path *path, struct kstat *stat,
        if (!fuse_allow_current_process(fc))
                return -EACCES;
 
-       return fuse_update_attributes(inode, stat, NULL, NULL);
+       return fuse_update_get_attr(inode, NULL, stat);
 }
 
 static const struct inode_operations fuse_dir_inode_operations = {
index dd499dba1e5755c09677e4585ef2a943b01beb00..3cf4c966994c984147bf0c7011b8593f9245b63a 100644 (file)
@@ -926,7 +926,7 @@ static ssize_t fuse_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
        if (fc->auto_inval_data ||
            (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) {
                int err;
-               err = fuse_update_attributes(inode, NULL, iocb->ki_filp, NULL);
+               err = fuse_update_attributes(inode, iocb->ki_filp);
                if (err)
                        return err;
        }
@@ -1177,7 +1177,7 @@ static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
 
        if (get_fuse_conn(inode)->writeback_cache) {
                /* Update size (EOF optimization) and mode (SUID clearing) */
-               err = fuse_update_attributes(mapping->host, NULL, file, NULL);
+               err = fuse_update_attributes(mapping->host, file);
                if (err)
                        return err;
 
@@ -2308,7 +2308,7 @@ static loff_t fuse_lseek(struct file *file, loff_t offset, int whence)
        return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes);
 
 fallback:
-       err = fuse_update_attributes(inode, NULL, file, NULL);
+       err = fuse_update_attributes(inode, file);
        if (!err)
                return generic_file_llseek(file, offset, whence);
        else
@@ -2328,7 +2328,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int whence)
                break;
        case SEEK_END:
                inode_lock(inode);
-               retval = fuse_update_attributes(inode, NULL, file, NULL);
+               retval = fuse_update_attributes(inode, file);
                if (!retval)
                        retval = generic_file_llseek(file, offset, whence);
                inode_unlock(inode);
index 610514f6aadf1a7061f83170de3b44c50a025f0c..d5773ca67ad2bbc36155a30fafa596dd7e44502a 100644 (file)
@@ -904,8 +904,7 @@ u64 fuse_lock_owner_id(struct fuse_conn *fc, fl_owner_t id);
 
 void fuse_update_ctime(struct inode *inode);
 
-int fuse_update_attributes(struct inode *inode, struct kstat *stat,
-                          struct file *file, bool *refreshed);
+int fuse_update_attributes(struct inode *inode, struct file *file);
 
 void fuse_flush_writepages(struct inode *inode);