Linux filesystem development
 help / color / mirror / Atom feed
From: Chuck Lever <cel@kernel.org>
To: Dai Ngo <dai.ngo@oracle.com>,
	Chuck Lever <chuck.lever@oracle.com>,
	Jeff Layton <jlayton@kernel.org>, NeilBrown <neil@brown.name>,
	Olga Kornievskaia <okorniev@redhat.com>,
	Tom Talpey <tom@talpey.com>, Christoph Hellwig <hch@lst.de>,
	Alexander Aring <alex.aring@gmail.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH v7 1/1] NFSD: Enforce timeout on layout recall and integrate lease manager fencing
Date: Mon, 9 Feb 2026 14:30:46 -0500	[thread overview]
Message-ID: <e2a7dd77-246d-4af5-a30b-ba726951ff84@kernel.org> (raw)
In-Reply-To: <e66142e7-ae6e-4d4a-b2fd-2507d2948f77@oracle.com>

On 2/9/26 2:24 PM, Dai Ngo wrote:
>>> diff --git a/fs/nfsd/nfs4layouts.c b/fs/nfsd/nfs4layouts.c
>>> index ad7af8cfcf1f..c02b3219ebeb 100644
>>> --- a/fs/nfsd/nfs4layouts.c
>>> +++ b/fs/nfsd/nfs4layouts.c
>>> @@ -27,6 +27,25 @@ static struct kmem_cache *nfs4_layout_stateid_cache;
>>>   static const struct nfsd4_callback_ops nfsd4_cb_layout_ops;
>>>   static const struct lease_manager_operations nfsd4_layouts_lm_ops;
>>>
>>> +/*
>>> + * By default, if the server fails to fence a client, it retries the
>>> fencing
>>> + * operation indefinitely to prevent data corruption. The admin
>>> needs to take
>>> + * the following actions to restore access to the file for other
>>> clients:
>>> + *
>>> + *    . shutdown or power off the client being fenced.
>>> + *    . manually expire the client to release all its state on the
>>> server;
>>> + *      echo 'expire' > proc/fs/nfsd/clients/clientid/ctl'.
>> Has there been any testing that shows expiring that client actually
>> breaks the fence retry loop below?
> 
> nfsd4_revoke_states calls nfsd4_close_layout to remove all file leases.
> I manually tested it.

Excellent!

-- 
Chuck Lever

      reply	other threads:[~2026-02-09 19:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-07  6:09 [PATCH v7 1/1] NFSD: Enforce timeout on layout recall and integrate lease manager fencing Dai Ngo
2026-02-07 11:35 ` Jeff Layton
2026-02-07 18:00 ` Chuck Lever
2026-02-09 19:24   ` Dai Ngo
2026-02-09 19:30     ` Chuck Lever [this message]

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=e2a7dd77-246d-4af5-a30b-ba726951ff84@kernel.org \
    --to=cel@kernel.org \
    --cc=alex.aring@gmail.com \
    --cc=brauner@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=dai.ngo@oracle.com \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=jlayton@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neil@brown.name \
    --cc=okorniev@redhat.com \
    --cc=tom@talpey.com \
    --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