[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <174007920440.104075.11286565001428092466.b4-ty@oracle.com>
Date: Thu, 20 Feb 2025 14:21:15 -0500
From: cel@...nel.org
To: Neil Brown <neilb@...e.de>,
Olga Kornievskaia <okorniev@...hat.com>,
Dai Ngo <Dai.Ngo@...cle.com>,
Tom Talpey <tom@...pey.com>,
Jeff Layton <jlayton@...nel.org>
Cc: Chuck Lever <chuck.lever@...cle.com>,
Li Lingfeng <lilingfeng3@...wei.com>,
linux-nfs@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/5] nfsd: don't allow concurrent queueing of workqueue jobs
From: Chuck Lever <chuck.lever@...cle.com>
On Thu, 20 Feb 2025 11:47:12 -0500, Jeff Layton wrote:
> While looking at the problem that Li Lingfeng reported [1] around
> callback queueing failures, I noticed that there were potential
> scenarios where the callback workqueue jobs could run concurrently with
> an rpc_task. Since they touch some of the same fields, this is incorrect
> at best and potentially dangerous.
>
> This patchset adds a new mechanism for ensuring that the same
> nfsd4_callback can't run concurrently with itself, regardless of where
> it is in its execution. This also gives us a more sure mechanism for
> handling the places where we need to take and hold a reference on an
> object while the callback is running.
>
> [...]
Applied to nfsd-testing, thanks! This series replaces:
https://lore.kernel.org/linux-nfs/20250218135423.1487309-1-lilingfeng3@huawei.com/
Review is still open.
[1/5] nfsd: prevent callback tasks running concurrently
commit: 9a03a9d82410bdb758a6b342689e0c235bba94f1
[2/5] nfsd: eliminate cl_ra_cblist and NFSD4_CLIENT_CB_RECALL_ANY
commit: 743fda103062626c828dbac774716e718a74f81b
[3/5] nfsd: replace CB_GETATTR_BUSY with NFSD4_CALLBACK_RUNNING
commit: d2d94554567f486eba111e953e75745eca09bee3
[4/5] nfsd: move cb_need_restart flag into cb_flags
commit: 355f1ec5ce21ab324d9b3978d2d5abe6d0c84024
[5/5] nfsd: handle errors from rpc_call_async()
commit: d0f1ba5ed270fbda06248ef8af822a9e14708ee1
--
Chuck Lever
Powered by blists - more mailing lists