Re: [PATCH -next,v2] NFS: report and clear ENOSPC/EFBIG/EDQUOT writeback error on close() file

From: kernel test robot
Date: Tue Jun 14 2022 - 21:15:06 EST


Hi ChenXiaoSong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.19-rc2]
[also build test WARNING on next-20220614]
[cannot apply to trondmy-nfs/linux-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/intel-lab-lkp/linux/commits/ChenXiaoSong/NFS-report-and-clear-ENOSPC-EFBIG-EDQUOT-writeback-error-on-close-file/20220614-231738
base: b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
config: x86_64-rhel-8.3-func (https://download.01.org/0day-ci/archive/20220615/202206150903.fMetZz83-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/f65252667ed27ca5a3e7f2182d1819d009dc98d7
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review ChenXiaoSong/NFS-report-and-clear-ENOSPC-EFBIG-EDQUOT-writeback-error-on-close-file/20220614-231738
git checkout f65252667ed27ca5a3e7f2182d1819d009dc98d7
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash fs/nfs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

fs/nfs/nfs4file.c: In function 'nfs4_file_flush':
>> fs/nfs/nfs4file.c:137:17: warning: ignoring return value of 'file_check_and_advance_wb_err' declared with attribute 'warn_unused_result' [-Wunused-result]
137 | file_check_and_advance_wb_err(file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +137 fs/nfs/nfs4file.c

108
109 /*
110 * Flush all dirty pages, and check for write errors.
111 */
112 static int
113 nfs4_file_flush(struct file *file, fl_owner_t id)
114 {
115 struct inode *inode = file_inode(file);
116 errseq_t since, error;
117
118 dprintk("NFS: flush(%pD2)\n", file);
119
120 nfs_inc_stats(inode, NFSIOS_VFSFLUSH);
121 if ((file->f_mode & FMODE_WRITE) == 0)
122 return 0;
123
124 /*
125 * If we're holding a write delegation, then check if we're required
126 * to flush the i/o on close. If not, then just start the i/o now.
127 */
128 if (!nfs4_delegation_flush_on_close(inode))
129 return filemap_fdatawrite(file->f_mapping);
130
131 /* Flush writes to the server and return any errors */
132 since = filemap_sample_wb_err(file->f_mapping);
133 nfs_wb_all(inode);
134 error = filemap_check_wb_err(file->f_mapping, since);
135
136 if (nfs_should_clear_wb_err(error))
> 137 file_check_and_advance_wb_err(file);
138
139 return error;
140 }
141

--
0-DAY CI Kernel Test Service
https://01.org/lkp