Hi Vasily, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on trondmy-nfs/linux-next] [also build test WARNING on v5.16-rc7 next-20211224] [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/0day-ci/linux/commits/Vasily-Averin/nfs4-handle-async-processing-of-F_SETLK-with-FL_SLEEP/20211227-184632 base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next config: i386-randconfig-r005-20211227 (https://download.01.org/0day-ci/archive/20211228/202112280146.yo82FThq-lkp@intel.com/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 511726c64d3b6cca66f7c54d457d586aa3129f67) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/7ae55d384b2f337e6630509e451c35dda45ae185 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vasily-Averin/nfs4-handle-async-processing-of-F_SETLK-with-FL_SLEEP/20211227-184632 git checkout 7ae55d384b2f337e6630509e451c35dda45ae185 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash fs/nfs/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> fs/nfs/nfs4proc.c:7202:25: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand] if ((request->fl_flags && FL_SLEEP) && IS_SETLK(cmd)) ^ ~~~~~~~~ fs/nfs/nfs4proc.c:7202:25: note: use '&' for a bitwise operation if ((request->fl_flags && FL_SLEEP) && IS_SETLK(cmd)) ^~ & fs/nfs/nfs4proc.c:7202:25: note: remove constant to silence this warning if ((request->fl_flags && FL_SLEEP) && IS_SETLK(cmd)) ~^~~~~~~~~~~ 1 warning generated. vim +7202 fs/nfs/nfs4proc.c 7193 7194 static int _nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) 7195 { 7196 struct nfs_inode *nfsi = NFS_I(state->inode); 7197 struct nfs4_state_owner *sp = state->owner; 7198 unsigned char fl_flags = request->fl_flags; 7199 int status; 7200 7201 request->fl_flags |= FL_ACCESS; > 7202 if ((request->fl_flags && FL_SLEEP) && IS_SETLK(cmd)) 7203 status = posix_lock_file(request->fl_file, request, NULL); 7204 else 7205 status = locks_lock_inode_wait(state->inode, request); 7206 if (status) 7207 goto out; 7208 mutex_lock(&sp->so_delegreturn_mutex); 7209 down_read(&nfsi->rwsem); 7210 if (test_bit(NFS_DELEGATED_STATE, &state->flags)) { 7211 /* Yes: cache locks! */ 7212 /* ...but avoid races with delegation recall... */ 7213 request->fl_flags = fl_flags & ~FL_SLEEP; 7214 status = locks_lock_inode_wait(state->inode, request); 7215 up_read(&nfsi->rwsem); 7216 mutex_unlock(&sp->so_delegreturn_mutex); 7217 goto out; 7218 } 7219 up_read(&nfsi->rwsem); 7220 mutex_unlock(&sp->so_delegreturn_mutex); 7221 status = _nfs4_do_setlk(state, cmd, request, NFS_LOCK_NEW); 7222 out: 7223 request->fl_flags = fl_flags; 7224 return status; 7225 } 7226 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org