NFS: Do not report writeback errors in nfs_getattr()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 15 Feb 2022 23:05:18 +0000 (18:05 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Feb 2022 11:06:02 +0000 (12:06 +0100)
commit d19e0183a88306acda07f4a01fedeeffe2a2a06b upstream.

The result of the writeback, whether it is an ENOSPC or an EIO, or
anything else, does not inhibit the NFS client from reporting the
correct file timestamps.

Fixes: 79566ef018f5 ("NFS: Getattr doesn't require data sync semantics")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfs/inode.c

index fda530d5e76405902d0f723f36c3d599fa48178d..a09d3ff627c20a72fc06c81ce549f133015a60c6 100644 (file)
@@ -853,12 +853,9 @@ int nfs_getattr(struct user_namespace *mnt_userns, const struct path *path,
        }
 
        /* Flush out writes to the server in order to update c/mtime.  */
-       if ((request_mask & (STATX_CTIME|STATX_MTIME)) &&
-                       S_ISREG(inode->i_mode)) {
-               err = filemap_write_and_wait(inode->i_mapping);
-               if (err)
-                       goto out;
-       }
+       if ((request_mask & (STATX_CTIME | STATX_MTIME)) &&
+           S_ISREG(inode->i_mode))
+               filemap_write_and_wait(inode->i_mapping);
 
        /*
         * We may force a getattr if the user cares about atime.