From: Jeff Layton <jlayton@kernel.org>
To: Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Chuck Lever <chuck.lever@oracle.com>,
Alexander Aring <alex.aring@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
NeilBrown <neil@brown.name>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>,
Amir Goldstein <amir73il@gmail.com>
Cc: Calum Mackay <calum.mackay@oracle.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-nfs@vger.kernel.org, Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v2 08/28] nfsd: check fl_lmops in nfsd_breaker_owns_lease()
Date: Thu, 16 Apr 2026 10:35:09 -0700 [thread overview]
Message-ID: <20260416-dir-deleg-v2-8-851426a550f6@kernel.org> (raw)
In-Reply-To: <20260416-dir-deleg-v2-0-851426a550f6@kernel.org>
Any lease created by nfsd will have its fl_lmops set to
nfsd_lease_mng_ops. Do a quick check for that first when testing whether
the lease breaker owns the lease.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
fs/nfsd/nfs4state.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index c75d3940188c..35f5c098717e 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -91,6 +91,8 @@ static void _free_cpntf_state_locked(struct nfsd_net *nn, struct nfs4_cpntf_stat
static void nfsd4_file_hash_remove(struct nfs4_file *fi);
static void deleg_reaper(struct nfsd_net *nn);
+static const struct lease_manager_operations nfsd_lease_mng_ops;
+
/* Locking: */
enum nfsd4_st_mutex_lock_subclass {
@@ -5655,6 +5657,10 @@ static bool nfsd_breaker_owns_lease(struct file_lease *fl)
struct svc_rqst *rqst;
struct nfs4_client *clp;
+ /* Only nfsd leases */
+ if (fl->fl_lmops != &nfsd_lease_mng_ops)
+ return false;
+
rqst = nfsd_current_rqst();
if (!nfsd_v4client(rqst))
return false;
--
2.53.0
next prev parent reply other threads:[~2026-04-16 17:35 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 17:35 [PATCH v2 00/28] vfs/nfsd: add support for CB_NOTIFY callbacks in directory delegations Jeff Layton
2026-04-16 17:35 ` [PATCH v2 01/28] filelock: pass current blocking lease to trace_break_lease_block() rather than "new_fl" Jeff Layton
2026-04-16 17:35 ` [PATCH v2 02/28] filelock: add support for ignoring deleg breaks for dir change events Jeff Layton
2026-04-16 17:35 ` [PATCH v2 03/28] filelock: add a tracepoint to start of break_lease() Jeff Layton
2026-04-16 17:35 ` [PATCH v2 04/28] filelock: add an inode_lease_ignore_mask helper Jeff Layton
2026-04-16 17:35 ` [PATCH v2 05/28] fsnotify: new tracepoint in fsnotify() Jeff Layton
2026-04-17 11:49 ` Jan Kara
2026-04-16 17:35 ` [PATCH v2 06/28] fsnotify: add fsnotify_modify_mark_mask() Jeff Layton
2026-04-16 17:35 ` [PATCH v2 07/28] fsnotify: add FSNOTIFY_EVENT_RENAME data type Jeff Layton
2026-04-16 19:24 ` Amir Goldstein
2026-04-16 20:52 ` Jeff Layton
2026-04-17 11:56 ` Jan Kara
2026-04-16 17:35 ` Jeff Layton [this message]
2026-04-16 17:35 ` [PATCH v2 09/28] nfsd: add protocol support for CB_NOTIFY Jeff Layton
2026-04-16 17:35 ` [PATCH v2 10/28] nfs_common: add new NOTIFY4_* flags proposed in RFC8881bis Jeff Layton
2026-04-16 17:35 ` [PATCH v2 11/28] nfsd: allow nfsd to get a dir lease with an ignore mask Jeff Layton
2026-04-16 17:35 ` [PATCH v2 12/28] nfsd: update the fsnotify mark when setting or removing a dir delegation Jeff Layton
2026-04-16 17:35 ` [PATCH v2 13/28] nfsd: make nfsd4_callback_ops->prepare operation bool return Jeff Layton
2026-04-16 17:35 ` [PATCH v2 14/28] nfsd: add callback encoding and decoding linkages for CB_NOTIFY Jeff Layton
2026-04-16 17:35 ` [PATCH v2 15/28] nfsd: use RCU to protect fi_deleg_file Jeff Layton
2026-04-16 17:35 ` [PATCH v2 16/28] nfsd: add data structures for handling CB_NOTIFY Jeff Layton
2026-04-16 17:35 ` [PATCH v2 17/28] nfsd: add notification handlers for dir events Jeff Layton
2026-04-16 17:35 ` [PATCH v2 18/28] nfsd: add tracepoint to dir_event handler Jeff Layton
2026-04-16 17:35 ` [PATCH v2 19/28] nfsd: apply the notify mask to the delegation when requested Jeff Layton
2026-04-16 17:35 ` [PATCH v2 20/28] nfsd: add helper to marshal a fattr4 from completed args Jeff Layton
2026-04-16 17:35 ` [PATCH v2 21/28] nfsd: allow nfsd4_encode_fattr4_change() to work with no export Jeff Layton
2026-04-16 17:35 ` [PATCH v2 22/28] nfsd: send basic file attributes in CB_NOTIFY Jeff Layton
2026-04-16 17:35 ` [PATCH v2 23/28] nfsd: allow encoding a filehandle into fattr4 without a svc_fh Jeff Layton
2026-04-16 17:35 ` [PATCH v2 24/28] nfsd: add a fi_connectable flag to struct nfs4_file Jeff Layton
2026-04-16 17:35 ` [PATCH v2 25/28] nfsd: add the filehandle to returned attributes in CB_NOTIFY Jeff Layton
2026-04-16 17:35 ` [PATCH v2 26/28] nfsd: properly track requested child attributes Jeff Layton
2026-04-16 17:35 ` [PATCH v2 27/28] nfsd: track requested dir attributes Jeff Layton
2026-04-16 17:35 ` [PATCH v2 28/28] nfsd: add support to CB_NOTIFY for dir attribute changes Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260416-dir-deleg-v2-8-851426a550f6@kernel.org \
--to=jlayton@kernel.org \
--cc=Dai.Ngo@oracle.com \
--cc=alex.aring@gmail.com \
--cc=amir73il@gmail.com \
--cc=anna@kernel.org \
--cc=brauner@kernel.org \
--cc=calum.mackay@oracle.com \
--cc=chuck.lever@oracle.com \
--cc=corbet@lwn.net \
--cc=jack@suse.cz \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=neil@brown.name \
--cc=okorniev@redhat.com \
--cc=rostedt@goodmis.org \
--cc=skhan@linuxfoundation.org \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox