Linux NFS development
 help / color / mirror / Atom feed
* [PATCH v2 0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation
@ 2023-09-13 23:38 Dai Ngo
  2023-09-13 23:38 ` [PATCH v2 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Dai Ngo @ 2023-09-13 23:38 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.

v2:
  . fix kernel test robot report of missing function parameter description
    of nfsd4_deleg_getattr_conflict()


^ permalink raw reply	[flat|nested] 6+ messages in thread
* PATCH [v2 0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation
@ 2024-02-15 18:26 Dai Ngo
  2024-02-15 18:26 ` [PATCH v2 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
  0 siblings, 1 reply; 6+ messages in thread
From: Dai Ngo @ 2024-02-15 18:26 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.

v2:
  . update comments in nfsd4_deleg_getattr_conflict

 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] 6+ messages in thread

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

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-13 23:38 [PATCH v2 0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation Dai Ngo
2023-09-13 23:38 ` [PATCH v2 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
2023-09-13 23:38 ` [PATCH v2 2/2] NFSD: handle GETATTR conflict with write delegation Dai Ngo
2023-09-15 15:57 ` [PATCH v2 0/2] NFSD: use CB_GETATTR to " Chuck Lever
2023-09-18 15:42 ` Jeff Layton
  -- strict thread matches above, loose matches on Subject: below --
2024-02-15 18:26 PATCH [v2 " Dai Ngo
2024-02-15 18:26 ` [PATCH v2 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox