Linux NFS development
 help / color / mirror / Atom feed
* PATCH [v3 0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation
@ 2024-02-15 22:05 Dai Ngo
  2024-02-15 22:05 ` [PATCH v3 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Dai Ngo @ 2024-02-15 22:05 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

v3:
  . rebase with nfsd-next

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


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

end of thread, other threads:[~2024-02-17 17:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-15 22:05 PATCH [v3 0/2] NFSD: use CB_GETATTR to handle GETATTR conflict with write delegation Dai Ngo
2024-02-15 22:05 ` [PATCH v3 1/2] NFSD: add supports for CB_GETATTR callback Dai Ngo
2024-02-15 22:05 ` [PATCH v3 2/2] NFSD: handle GETATTR conflict with write delegation Dai Ngo
2024-02-16 13:36 ` PATCH [v3 0/2] NFSD: use CB_GETATTR to " Chuck Lever
2024-02-16 23:34 ` Dan Shelton
2024-02-17  2:00   ` Trond Myklebust
2024-02-17  2:17   ` Chuck Lever
2024-02-17 17:42     ` dai.ngo

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