linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PATCH [0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation
@ 2024-02-13 17:47 Dai Ngo
  2024-02-13 17:47 ` [PATCH 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Dai Ngo @ 2024-02-13 17:47 UTC (permalink / raw)
  To: chuck.lever, jlayton; +Cc: linux-nfs

Currently GETATTR conflict with a write delegation is handled by
recalling the delegation before replying to the GETATTR.

This patch series add supports for CB_GETATTR callback to get the latest
change_info and size information of the file from the client that holds
the delegation to reply to the GETATTR from the second client.

NOTE: this patch series is mostly the same as the previous patches which
were backed out when un unrelated problem of NFSD server hang on reboot
was reported.

The only difference is the wait_on_bit() in nfsd4_deleg_getattr_conflict was
replaced with wait_on_bit_timeout() with 30ms timeout to avoid a potential
DOS attack by exhausting NFSD kernel threads with GETATTR conflicts.

 fs/nfsd/nfs4callback.c |  97 +++++++++++++++++++++++++++++++++++-
 fs/nfsd/nfs4state.c    | 119 ++++++++++++++++++++++++++++++++++++++++----
 fs/nfsd/nfs4xdr.c      |  10 +++-
 fs/nfsd/nfsd.h         |   1 +
 fs/nfsd/state.h        |  24 ++++++++-
 fs/nfsd/xdr4cb.h       |  18 +++++++
 6 files changed, 255 insertions(+), 14 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH 0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation
@ 2023-09-13 15:01 Dai Ngo
  2023-09-13 15:01 ` [PATCH 2/2] NFSD: " Dai Ngo
  0 siblings, 1 reply; 10+ messages in thread
From: Dai Ngo @ 2023-09-13 15:01 UTC (permalink / raw)
  To: chuck.lever, jlayton; +Cc: linux-nfs

Currently GETATTR conflict with a write delegation is handled by
recalling the delegation before replying to the GETATTR.

This patch series add supports for CB_GETATTR callback to get the latest
change_info and size information of the file from the client that holds
the delegation to reply to the GETATTR from the second client.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-02-15 13:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-13 17:47 PATCH [0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation Dai Ngo
2024-02-13 17:47 ` [PATCH 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
2024-02-13 17:47 ` [PATCH 2/2] NFSD: handle GETATTR conflict with write delegation Dai Ngo
2024-02-14 14:50   ` Chuck Lever
2024-02-14 18:10     ` dai.ngo
2024-02-14 18:14       ` Chuck Lever
2024-02-14 18:22         ` dai.ngo
2024-02-15 13:55           ` Chuck Lever
2024-02-13 20:24 ` PATCH [0/2] NFSD: use CB_GETATTR to " Jeff Layton
  -- strict thread matches above, loose matches on Subject: below --
2023-09-13 15:01 [PATCH 0/2] " Dai Ngo
2023-09-13 15:01 ` [PATCH 2/2] NFSD: " Dai Ngo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).