lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202412030038.Fh8VTQwJ-lkp@intel.com>
Date: Tue, 3 Dec 2024 01:07:10 +0800
From: kernel test robot <lkp@...el.com>
To: Benjamin Coddington <bcodding@...hat.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
	Christian Brauner <brauner@...nel.org>,
	Jeff Layton <jlayton@...nel.org>
Subject: fs/nfsd/nfs4state.c:7881:29: error: variable 'sb' set but not used

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   e70140ba0d2b1a30467d4af6bcfe761327b9ec95
commit: 7e64c5bc497cf17872b38003307f320e8f077880 NLM/NFSD: Fix lock notifications for async-capable filesystems
date:   9 weeks ago
config: x86_64-rhel-9.4-nofixup (https://download.01.org/0day-ci/archive/20241203/202412030038.Fh8VTQwJ-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241203/202412030038.Fh8VTQwJ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412030038.Fh8VTQwJ-lkp@intel.com/

All errors (new ones prefixed by >>):

   fs/nfsd/nfs4state.c: In function 'nfsd4_lock':
>> fs/nfsd/nfs4state.c:7881:29: error: variable 'sb' set but not used [-Werror=unused-but-set-variable]
    7881 |         struct super_block *sb;
         |                             ^~
   cc1: all warnings being treated as errors


vim +/sb +7881 fs/nfsd/nfs4state.c

64a284d07c7d842 J. Bruce Fields      2011-10-20  7863  
^1da177e4c3f415 Linus Torvalds       2005-04-16  7864  /*
^1da177e4c3f415 Linus Torvalds       2005-04-16  7865   *  LOCK operation 
^1da177e4c3f415 Linus Torvalds       2005-04-16  7866   */
b37ad28bcaa7c48 Al Viro              2006-10-19  7867  __be32
ca3643171bc6e08 J.Bruce Fields       2006-12-13  7868  nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
eb69853da945928 Christoph Hellwig    2017-05-08  7869  	   union nfsd4_op_u *u)
^1da177e4c3f415 Linus Torvalds       2005-04-16  7870  {
eb69853da945928 Christoph Hellwig    2017-05-08  7871  	struct nfsd4_lock *lock = &u->lock;
fe0750e5c43189a J. Bruce Fields      2011-07-30  7872  	struct nfs4_openowner *open_sop = NULL;
fe0750e5c43189a J. Bruce Fields      2011-07-30  7873  	struct nfs4_lockowner *lock_sop = NULL;
3d0fabd5a48fbf6 Trond Myklebust      2014-07-29  7874  	struct nfs4_ol_stateid *lock_stp = NULL;
0667b1e9d8a7c0a Trond Myklebust      2014-07-29  7875  	struct nfs4_ol_stateid *open_stp = NULL;
7214e8600eee146 Jeff Layton          2014-07-10  7876  	struct nfs4_file *fp;
eb82dd393744107 Jeff Layton          2019-08-18  7877  	struct nfsd_file *nf = NULL;
76d348fadff52e8 Jeff Layton          2016-09-16  7878  	struct nfsd4_blocked_lock *nbl = NULL;
21179d81f1de37c Jeff Layton          2012-08-21  7879  	struct file_lock *file_lock = NULL;
21179d81f1de37c Jeff Layton          2012-08-21  7880  	struct file_lock *conflock = NULL;
2dd10de8e6bcbac Alexander Aring      2023-09-12 @7881  	struct super_block *sb;
b37ad28bcaa7c48 Al Viro              2006-10-19  7882  	__be32 status = 0;
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7883  	int lkflg;
b8dd7b9ab194d9a Al Viro              2006-10-19  7884  	int err;
5db1c03feb00a72 Jeff Layton          2014-07-29  7885  	bool new = false;
60f3154d196b5b1 Jeff Layton          2024-01-31  7886  	unsigned char type;
60f3154d196b5b1 Jeff Layton          2024-01-31  7887  	unsigned int flags = FL_POSIX;
3320fef19b542b8 Stanislav Kinsbursky 2012-11-14  7888  	struct net *net = SVC_NET(rqstp);
3320fef19b542b8 Stanislav Kinsbursky 2012-11-14  7889  	struct nfsd_net *nn = net_generic(net, nfsd_net_id);
^1da177e4c3f415 Linus Torvalds       2005-04-16  7890  
^1da177e4c3f415 Linus Torvalds       2005-04-16  7891  	dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n",
^1da177e4c3f415 Linus Torvalds       2005-04-16  7892  		(long long) lock->lk_offset,
^1da177e4c3f415 Linus Torvalds       2005-04-16  7893  		(long long) lock->lk_length);
^1da177e4c3f415 Linus Torvalds       2005-04-16  7894  
^1da177e4c3f415 Linus Torvalds       2005-04-16  7895  	if (check_lock_length(lock->lk_offset, lock->lk_length))
^1da177e4c3f415 Linus Torvalds       2005-04-16  7896  		 return nfserr_inval;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7897  
ca3643171bc6e08 J.Bruce Fields       2006-12-13  7898  	if ((status = fh_verify(rqstp, &cstate->current_fh,
8837abcab3d1660 Miklos Szeredi       2008-06-16  7899  				S_IFREG, NFSD_MAY_LOCK))) {
a6f6ef2f1d73291 Andy Adamson         2006-01-18  7900  		dprintk("NFSD: nfsd4_lock: permission denied!\n");
a6f6ef2f1d73291 Andy Adamson         2006-01-18  7901  		return status;
a6f6ef2f1d73291 Andy Adamson         2006-01-18  7902  	}
2dd10de8e6bcbac Alexander Aring      2023-09-12  7903  	sb = cstate->current_fh.fh_dentry->d_sb;
a6f6ef2f1d73291 Andy Adamson         2006-01-18  7904  
^1da177e4c3f415 Linus Torvalds       2005-04-16  7905  	if (lock->lk_is_new) {
684e563858018d2 J. Bruce Fields      2011-11-04  7906  		if (nfsd4_has_session(cstate))
684e563858018d2 J. Bruce Fields      2011-11-04  7907  			/* See rfc 5661 18.10.3: given clientid is ignored: */
76f6c9e176dda6e Kinglong Mee         2015-07-13  7908  			memcpy(&lock->lk_new_clientid,
ec59659b4972ec2 J. Bruce Fields      2021-01-21  7909  				&cstate->clp->cl_clientid,
684e563858018d2 J. Bruce Fields      2011-11-04  7910  				sizeof(clientid_t));
684e563858018d2 J. Bruce Fields      2011-11-04  7911  
^1da177e4c3f415 Linus Torvalds       2005-04-16  7912  		/* validate and update open stateid and open seqid */
c0a5d93efbbb791 J. Bruce Fields      2011-09-06  7913  		status = nfs4_preprocess_confirmed_seqid_op(cstate,
^1da177e4c3f415 Linus Torvalds       2005-04-16  7914  				        lock->lk_new_open_seqid,
^1da177e4c3f415 Linus Torvalds       2005-04-16  7915  		                        &lock->lk_new_open_stateid,
3320fef19b542b8 Stanislav Kinsbursky 2012-11-14  7916  					&open_stp, nn);
375151773125f56 NeilBrown            2005-07-07  7917  		if (status)
^1da177e4c3f415 Linus Torvalds       2005-04-16  7918  			goto out;
feb9dad52092800 Oleg Drokin          2016-06-14  7919  		mutex_unlock(&open_stp->st_mutex);
fe0750e5c43189a J. Bruce Fields      2011-07-30  7920  		open_sop = openowner(open_stp->st_stateowner);
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7921  		status = nfserr_bad_stateid;
684e563858018d2 J. Bruce Fields      2011-11-04  7922  		if (!same_clid(&open_sop->oo_owner.so_client->cl_clientid,
76f6c9e176dda6e Kinglong Mee         2015-07-13  7923  						&lock->lk_new_clientid))
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7924  			goto out;
64a284d07c7d842 J. Bruce Fields      2011-10-20  7925  		status = lookup_or_create_lock_state(cstate, open_stp, lock,
5db1c03feb00a72 Jeff Layton          2014-07-29  7926  							&lock_stp, &new);
3d0fabd5a48fbf6 Trond Myklebust      2014-07-29  7927  	} else {
dd453dfd70538ca Benny Halevy         2009-04-03  7928  		status = nfs4_preprocess_seqid_op(cstate,
^1da177e4c3f415 Linus Torvalds       2005-04-16  7929  						  lock->lk_old_lock_seqid,
^1da177e4c3f415 Linus Torvalds       2005-04-16  7930  						  &lock->lk_old_lock_stateid,
3f29cc82a84c23c NeilBrown            2024-01-30  7931  						  SC_TYPE_LOCK, 0, &lock_stp,
3f29cc82a84c23c NeilBrown            2024-01-30  7932  						  nn);
3d0fabd5a48fbf6 Trond Myklebust      2014-07-29  7933  	}
^1da177e4c3f415 Linus Torvalds       2005-04-16  7934  	if (status)
^1da177e4c3f415 Linus Torvalds       2005-04-16  7935  		goto out;
fe0750e5c43189a J. Bruce Fields      2011-07-30  7936  	lock_sop = lockowner(lock_stp->st_stateowner);
^1da177e4c3f415 Linus Torvalds       2005-04-16  7937  
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7938  	lkflg = setlkflg(lock->lk_type);
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7939  	status = nfs4_check_openmode(lock_stp, lkflg);
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7940  	if (status)
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7941  		goto out;
b34f27aa5da75b0 J. Bruce Fields      2011-08-22  7942  
0dd395dc76071a0 NeilBrown            2005-07-07  7943  	status = nfserr_grace;
3320fef19b542b8 Stanislav Kinsbursky 2012-11-14  7944  	if (locks_in_grace(net) && !lock->lk_reclaim)
0dd395dc76071a0 NeilBrown            2005-07-07  7945  		goto out;
0dd395dc76071a0 NeilBrown            2005-07-07  7946  	status = nfserr_no_grace;
3320fef19b542b8 Stanislav Kinsbursky 2012-11-14  7947  	if (!locks_in_grace(net) && lock->lk_reclaim)
0dd395dc76071a0 NeilBrown            2005-07-07  7948  		goto out;
0dd395dc76071a0 NeilBrown            2005-07-07  7949  
bb0a55bb7148a49 J. Bruce Fields      2021-08-20  7950  	if (lock->lk_reclaim)
60f3154d196b5b1 Jeff Layton          2024-01-31  7951  		flags |= FL_RECLAIM;
bb0a55bb7148a49 J. Bruce Fields      2021-08-20  7952  
11b9164adad7cd1 Trond Myklebust      2014-07-29  7953  	fp = lock_stp->st_stid.sc_file;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7954  	switch (lock->lk_type) {
^1da177e4c3f415 Linus Torvalds       2005-04-16  7955  		case NFS4_READW_LT:
df561f6688fef77 Gustavo A. R. Silva  2020-08-23  7956  			fallthrough;
76d348fadff52e8 Jeff Layton          2016-09-16  7957  		case NFS4_READ_LT:
7214e8600eee146 Jeff Layton          2014-07-10  7958  			spin_lock(&fp->fi_lock);
eb82dd393744107 Jeff Layton          2019-08-18  7959  			nf = find_readable_file_locked(fp);
eb82dd393744107 Jeff Layton          2019-08-18  7960  			if (nf)
0997b173609b922 J. Bruce Fields      2011-03-02  7961  				get_lock_access(lock_stp, NFS4_SHARE_ACCESS_READ);
7214e8600eee146 Jeff Layton          2014-07-10  7962  			spin_unlock(&fp->fi_lock);
60f3154d196b5b1 Jeff Layton          2024-01-31  7963  			type = F_RDLCK;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7964  			break;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7965  		case NFS4_WRITEW_LT:
df561f6688fef77 Gustavo A. R. Silva  2020-08-23  7966  			fallthrough;
76d348fadff52e8 Jeff Layton          2016-09-16  7967  		case NFS4_WRITE_LT:
7214e8600eee146 Jeff Layton          2014-07-10  7968  			spin_lock(&fp->fi_lock);
eb82dd393744107 Jeff Layton          2019-08-18  7969  			nf = find_writeable_file_locked(fp);
eb82dd393744107 Jeff Layton          2019-08-18  7970  			if (nf)
0997b173609b922 J. Bruce Fields      2011-03-02  7971  				get_lock_access(lock_stp, NFS4_SHARE_ACCESS_WRITE);
7214e8600eee146 Jeff Layton          2014-07-10  7972  			spin_unlock(&fp->fi_lock);
60f3154d196b5b1 Jeff Layton          2024-01-31  7973  			type = F_WRLCK;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7974  			break;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7975  		default:
^1da177e4c3f415 Linus Torvalds       2005-04-16  7976  			status = nfserr_inval;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7977  		goto out;
^1da177e4c3f415 Linus Torvalds       2005-04-16  7978  	}
76d348fadff52e8 Jeff Layton          2016-09-16  7979  
eb82dd393744107 Jeff Layton          2019-08-18  7980  	if (!nf) {
f9d7562fdb9dc0a J. Bruce Fields      2010-07-08  7981  		status = nfserr_openmode;
f9d7562fdb9dc0a J. Bruce Fields      2010-07-08  7982  		goto out;
f9d7562fdb9dc0a J. Bruce Fields      2010-07-08  7983  	}
aef9583b234a4ec Kinglong Mee         2014-08-22  7984  
7e64c5bc497cf17 Benjamin Coddington  2024-09-11  7985  	if (lock->lk_type & (NFS4_READW_LT | NFS4_WRITEW_LT) &&
7e64c5bc497cf17 Benjamin Coddington  2024-09-11  7986  		nfsd4_has_session(cstate) &&
7e64c5bc497cf17 Benjamin Coddington  2024-09-11  7987  		locks_can_async_lock(nf->nf_file->f_op))
7e64c5bc497cf17 Benjamin Coddington  2024-09-11  7988  			flags |= FL_SLEEP;
40595cdc93edf41 J. Bruce Fields      2021-12-16  7989  
76d348fadff52e8 Jeff Layton          2016-09-16  7990  	nbl = find_or_allocate_block(lock_sop, &fp->fi_fhandle, nn);
76d348fadff52e8 Jeff Layton          2016-09-16  7991  	if (!nbl) {
76d348fadff52e8 Jeff Layton          2016-09-16  7992  		dprintk("NFSD: %s: unable to allocate block!\n", __func__);
76d348fadff52e8 Jeff Layton          2016-09-16  7993  		status = nfserr_jukebox;
76d348fadff52e8 Jeff Layton          2016-09-16  7994  		goto out;
76d348fadff52e8 Jeff Layton          2016-09-16  7995  	}
76d348fadff52e8 Jeff Layton          2016-09-16  7996  
76d348fadff52e8 Jeff Layton          2016-09-16  7997  	file_lock = &nbl->nbl_lock;
05580bbfc6bcac9 Jeff Layton          2024-01-31  7998  	file_lock->c.flc_type = type;
05580bbfc6bcac9 Jeff Layton          2024-01-31  7999  	file_lock->c.flc_owner = (fl_owner_t)lockowner(nfs4_get_stateowner(&lock_sop->lo_owner));
05580bbfc6bcac9 Jeff Layton          2024-01-31  8000  	file_lock->c.flc_pid = current->tgid;
05580bbfc6bcac9 Jeff Layton          2024-01-31  8001  	file_lock->c.flc_file = nf->nf_file;
05580bbfc6bcac9 Jeff Layton          2024-01-31  8002  	file_lock->c.flc_flags = flags;
21179d81f1de37c Jeff Layton          2012-08-21  8003  	file_lock->fl_lmops = &nfsd_posix_mng_ops;
21179d81f1de37c Jeff Layton          2012-08-21  8004  	file_lock->fl_start = lock->lk_offset;
21179d81f1de37c Jeff Layton          2012-08-21  8005  	file_lock->fl_end = last_byte_offset(lock->lk_offset, lock->lk_length);
21179d81f1de37c Jeff Layton          2012-08-21  8006  	nfs4_transform_lock_offset(file_lock);
21179d81f1de37c Jeff Layton          2012-08-21  8007  
21179d81f1de37c Jeff Layton          2012-08-21  8008  	conflock = locks_alloc_lock();
21179d81f1de37c Jeff Layton          2012-08-21  8009  	if (!conflock) {
21179d81f1de37c Jeff Layton          2012-08-21  8010  		dprintk("NFSD: %s: unable to allocate lock!\n", __func__);
21179d81f1de37c Jeff Layton          2012-08-21  8011  		status = nfserr_jukebox;
21179d81f1de37c Jeff Layton          2012-08-21  8012  		goto out;
21179d81f1de37c Jeff Layton          2012-08-21  8013  	}
^1da177e4c3f415 Linus Torvalds       2005-04-16  8014  
60f3154d196b5b1 Jeff Layton          2024-01-31  8015  	if (flags & FL_SLEEP) {
20b7d86f29d39e8 Arnd Bergmann        2019-11-04  8016  		nbl->nbl_time = ktime_get_boottime_seconds();
0cc11a61b80a1ab Jeff Layton          2016-10-20  8017  		spin_lock(&nn->blocked_locks_lock);
76d348fadff52e8 Jeff Layton          2016-09-16  8018  		list_add_tail(&nbl->nbl_list, &lock_sop->lo_blocked);
7919d0a27f1e7cb Jeff Layton          2016-09-16  8019  		list_add_tail(&nbl->nbl_lru, &nn->blocked_locks_lru);
47446d74f170704 Vasily Averin        2021-12-17  8020  		kref_get(&nbl->nbl_kref);
0cc11a61b80a1ab Jeff Layton          2016-10-20  8021  		spin_unlock(&nn->blocked_locks_lock);
76d348fadff52e8 Jeff Layton          2016-09-16  8022  	}
76d348fadff52e8 Jeff Layton          2016-09-16  8023  
eb82dd393744107 Jeff Layton          2019-08-18  8024  	err = vfs_lock_file(nf->nf_file, F_SETLK, file_lock, conflock);
76d348fadff52e8 Jeff Layton          2016-09-16  8025  	switch (err) {
^1da177e4c3f415 Linus Torvalds       2005-04-16  8026  	case 0: /* success! */
9767feb2c64b297 Jeff Layton          2015-10-01  8027  		nfs4_inc_and_copy_stateid(&lock->lk_resp_stateid, &lock_stp->st_stid);
b8dd7b9ab194d9a Al Viro              2006-10-19  8028  		status = 0;
03f318ca652889a J. Bruce Fields      2018-06-08  8029  		if (lock->lk_reclaim)
03f318ca652889a J. Bruce Fields      2018-06-08  8030  			nn->somebody_reclaimed = true;
eb76b3fda1f7c2a Andy Adamson         2006-03-26  8031  		break;
76d348fadff52e8 Jeff Layton          2016-09-16  8032  	case FILE_LOCK_DEFERRED:
47446d74f170704 Vasily Averin        2021-12-17  8033  		kref_put(&nbl->nbl_kref, free_nbl);
76d348fadff52e8 Jeff Layton          2016-09-16  8034  		nbl = NULL;
df561f6688fef77 Gustavo A. R. Silva  2020-08-23  8035  		fallthrough;
76d348fadff52e8 Jeff Layton          2016-09-16  8036  	case -EAGAIN:		/* conflock holds conflicting lock */
eb76b3fda1f7c2a Andy Adamson         2006-03-26  8037  		status = nfserr_denied;
eb76b3fda1f7c2a Andy Adamson         2006-03-26  8038  		dprintk("NFSD: nfsd4_lock: conflicting lock found!\n");
21179d81f1de37c Jeff Layton          2012-08-21  8039  		nfs4_set_lock_denied(conflock, &lock->lk_denied);
eb76b3fda1f7c2a Andy Adamson         2006-03-26  8040  		break;
76d348fadff52e8 Jeff Layton          2016-09-16  8041  	case -EDEADLK:
^1da177e4c3f415 Linus Torvalds       2005-04-16  8042  		status = nfserr_deadlock;
eb76b3fda1f7c2a Andy Adamson         2006-03-26  8043  		break;
^1da177e4c3f415 Linus Torvalds       2005-04-16  8044  	default:
fd85b8170dabbf0 Marc Eshel           2006-11-28  8045  		dprintk("NFSD: nfsd4_lock: vfs_lock_file() failed! status %d\n",err);
3e77246393c0a43 J. Bruce Fields      2011-08-10  8046  		status = nfserrno(err);
eb76b3fda1f7c2a Andy Adamson         2006-03-26  8047  		break;
^1da177e4c3f415 Linus Torvalds       2005-04-16  8048  	}
^1da177e4c3f415 Linus Torvalds       2005-04-16  8049  out:
76d348fadff52e8 Jeff Layton          2016-09-16  8050  	if (nbl) {
76d348fadff52e8 Jeff Layton          2016-09-16  8051  		/* dequeue it if we queued it before */
60f3154d196b5b1 Jeff Layton          2024-01-31  8052  		if (flags & FL_SLEEP) {
0cc11a61b80a1ab Jeff Layton          2016-10-20  8053  			spin_lock(&nn->blocked_locks_lock);
47446d74f170704 Vasily Averin        2021-12-17  8054  			if (!list_empty(&nbl->nbl_list) &&
47446d74f170704 Vasily Averin        2021-12-17  8055  			    !list_empty(&nbl->nbl_lru)) {
76d348fadff52e8 Jeff Layton          2016-09-16  8056  				list_del_init(&nbl->nbl_list);
7919d0a27f1e7cb Jeff Layton          2016-09-16  8057  				list_del_init(&nbl->nbl_lru);
47446d74f170704 Vasily Averin        2021-12-17  8058  				kref_put(&nbl->nbl_kref, free_nbl);
47446d74f170704 Vasily Averin        2021-12-17  8059  			}
47446d74f170704 Vasily Averin        2021-12-17  8060  			/* nbl can use one of lists to be linked to reaplist */
0cc11a61b80a1ab Jeff Layton          2016-10-20  8061  			spin_unlock(&nn->blocked_locks_lock);
76d348fadff52e8 Jeff Layton          2016-09-16  8062  		}
76d348fadff52e8 Jeff Layton          2016-09-16  8063  		free_blocked_lock(nbl);
76d348fadff52e8 Jeff Layton          2016-09-16  8064  	}
eb82dd393744107 Jeff Layton          2019-08-18  8065  	if (nf)
eb82dd393744107 Jeff Layton          2019-08-18  8066  		nfsd_file_put(nf);
5db1c03feb00a72 Jeff Layton          2014-07-29  8067  	if (lock_stp) {
5db1c03feb00a72 Jeff Layton          2014-07-29  8068  		/* Bump seqid manually if the 4.0 replay owner is openowner */
5db1c03feb00a72 Jeff Layton          2014-07-29  8069  		if (cstate->replay_owner &&
5db1c03feb00a72 Jeff Layton          2014-07-29  8070  		    cstate->replay_owner != &lock_sop->lo_owner &&
5db1c03feb00a72 Jeff Layton          2014-07-29  8071  		    seqid_mutating_err(ntohl(status)))
5db1c03feb00a72 Jeff Layton          2014-07-29  8072  			lock_sop->lo_owner.so_seqid++;
5db1c03feb00a72 Jeff Layton          2014-07-29  8073  
5db1c03feb00a72 Jeff Layton          2014-07-29  8074  		/*
5db1c03feb00a72 Jeff Layton          2014-07-29  8075  		 * If this is a new, never-before-used stateid, and we are
5db1c03feb00a72 Jeff Layton          2014-07-29  8076  		 * returning an error, then just go ahead and release it.
5db1c03feb00a72 Jeff Layton          2014-07-29  8077  		 */
2502072058b35e2 J. Bruce Fields      2018-01-17  8078  		if (status && new)
5db1c03feb00a72 Jeff Layton          2014-07-29  8079  			release_lock_stateid(lock_stp);
beeca19cf1249a9 Trond Myklebust      2017-11-03  8080  
beeca19cf1249a9 Trond Myklebust      2017-11-03  8081  		mutex_unlock(&lock_stp->st_mutex);
5db1c03feb00a72 Jeff Layton          2014-07-29  8082  
3d0fabd5a48fbf6 Trond Myklebust      2014-07-29  8083  		nfs4_put_stid(&lock_stp->st_stid);
5db1c03feb00a72 Jeff Layton          2014-07-29  8084  	}
0667b1e9d8a7c0a Trond Myklebust      2014-07-29  8085  	if (open_stp)
0667b1e9d8a7c0a Trond Myklebust      2014-07-29  8086  		nfs4_put_stid(&open_stp->st_stid);
9411b1d4c7df26d J. Bruce Fields      2013-04-01  8087  	nfsd4_bump_seqid(cstate, status);
21179d81f1de37c Jeff Layton          2012-08-21  8088  	if (conflock)
21179d81f1de37c Jeff Layton          2012-08-21  8089  		locks_free_lock(conflock);
^1da177e4c3f415 Linus Torvalds       2005-04-16  8090  	return status;
^1da177e4c3f415 Linus Torvalds       2005-04-16  8091  }
^1da177e4c3f415 Linus Torvalds       2005-04-16  8092  

:::::: The code at line 7881 was first introduced by commit
:::::: 2dd10de8e6bcbacf85ad758b904543c294820c63 lockd: introduce safe async lock op

:::::: TO: Alexander Aring <aahringo@...hat.com>
:::::: CC: Chuck Lever <chuck.lever@...cle.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ