]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - fs/inode.c
i40e: Fix sparse warning: missing error code 'err'
[mirror_ubuntu-hirsute-kernel.git] / fs / inode.c
index cb008acf0efdb8009f34afb681f49718ac0db20a..497326faa1247a88ed4ab70bc13b7fa5b5af869e 100644 (file)
@@ -1624,7 +1624,9 @@ static void iput_final(struct inode *inode)
        else
                drop = generic_drop_inode(inode);
 
-       if (!drop && (sb->s_flags & SB_ACTIVE)) {
+       if (!drop &&
+           !(inode->i_state & I_DONTCACHE) &&
+           (sb->s_flags & SB_ACTIVE)) {
                inode_add_lru(inode);
                spin_unlock(&inode->i_lock);
                return;
@@ -1767,12 +1769,13 @@ EXPORT_SYMBOL(generic_update_time);
  * This does the actual work of updating an inodes time or version.  Must have
  * had called mnt_want_write() before calling this.
  */
-static int update_time(struct inode *inode, struct timespec64 *time, int flags)
+int update_time(struct inode *inode, struct timespec64 *time, int flags)
 {
        if (inode->i_op->update_time)
                return inode->i_op->update_time(inode, time, flags);
        return generic_update_time(inode, time, flags);
 }
+EXPORT_SYMBOL_GPL(update_time);
 
 /**
  *     touch_atime     -       update the access time