diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-02-15 18:05:18 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-02-23 11:57:36 +0100 |
commit | 428657e8d886aca461160da82d2cb9089535a6a8 (patch) | |
tree | 81ac51bf285815b0f9f7bbf7485c768931c8a5ac /fs | |
parent | 76bbeeedc9af845f5c81a9063baf642da0ab9c0a (diff) |
NFS: Do not report writeback errors in nfs_getattr()
[ Upstream commit d19e0183a88306acda07f4a01fedeeffe2a2a06b ]
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: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/inode.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index ad01d4fb795e..ac836e202ff7 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -740,11 +740,8 @@ int nfs_getattr(const struct path *path, struct kstat *stat, trace_nfs_getattr_enter(inode); /* Flush out writes to the server in order to update c/mtime. */ - if (S_ISREG(inode->i_mode)) { - err = filemap_write_and_wait(inode->i_mapping); - if (err) - goto out; - } + if (S_ISREG(inode->i_mode)) + filemap_write_and_wait(inode->i_mapping); /* * We may force a getattr if the user cares about atime. @@ -775,7 +772,7 @@ int nfs_getattr(const struct path *path, struct kstat *stat, if (S_ISDIR(inode->i_mode)) stat->blksize = NFS_SERVER(inode)->dtsize; } -out: + trace_nfs_getattr_exit(inode, err); return err; } |