Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e63eb937 authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

nfsd4: eliminate lease delete callback



nfsd controls the lifetime of the lease, not the lock code, so there's
no need for this callback on lease destruction.

Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent fdef7aa5
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -327,14 +327,12 @@ fl_release_private: yes yes
prototypes:
prototypes:
	int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
	int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
	void (*fl_notify)(struct file_lock *);  /* unblock callback */
	void (*fl_notify)(struct file_lock *);  /* unblock callback */
	void (*fl_release_private)(struct file_lock *);
	void (*fl_break)(struct file_lock *); /* break_lease callback */
	void (*fl_break)(struct file_lock *); /* break_lease callback */


locking rules:
locking rules:
			BKL	may block
			BKL	may block
fl_compare_owner:	yes	no
fl_compare_owner:	yes	no
fl_notify:		yes	no
fl_notify:		yes	no
fl_release_private:	yes	yes
fl_break:		yes	no
fl_break:		yes	no


	Currently only NFSD and NLM provide instances of this class. None of the
	Currently only NFSD and NLM provide instances of this class. None of the
+0 −18
Original line number Original line Diff line number Diff line
@@ -2295,23 +2295,6 @@ void nfsd_break_deleg_cb(struct file_lock *fl)
	nfsd4_cb_recall(dp);
	nfsd4_cb_recall(dp);
}
}


/*
 * The file_lock is being reapd.
 *
 * Called by locks_free_lock() with lock_flocks() held.
 */
static
void nfsd_release_deleg_cb(struct file_lock *fl)
{
	struct nfs4_delegation *dp = (struct nfs4_delegation *)fl->fl_owner;

	dprintk("NFSD nfsd_release_deleg_cb: fl %p dp %p dl_count %d\n", fl,dp, atomic_read(&dp->dl_count));

	if (!(fl->fl_flags & FL_LEASE) || !dp)
		return;
	dp->dl_flock = NULL;
}

/*
/*
 * Called from setlease() with lock_flocks() held
 * Called from setlease() with lock_flocks() held
 */
 */
@@ -2341,7 +2324,6 @@ int nfsd_change_deleg_cb(struct file_lock **onlist, int arg)


static const struct lock_manager_operations nfsd_lease_mng_ops = {
static const struct lock_manager_operations nfsd_lease_mng_ops = {
	.fl_break = nfsd_break_deleg_cb,
	.fl_break = nfsd_break_deleg_cb,
	.fl_release_private = nfsd_release_deleg_cb,
	.fl_mylease = nfsd_same_client_deleg_cb,
	.fl_mylease = nfsd_same_client_deleg_cb,
	.fl_change = nfsd_change_deleg_cb,
	.fl_change = nfsd_change_deleg_cb,
};
};