A few more minor updates to the set to fix some small-ish bugs, and do a bit of cleanup. This seems to test OK for me so far. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- Changes in v3: - add patch to convert se_flags to single se_dead bool - fix off-by-one bug in handling of NFSD_BC_SLOT_TABLE_MAX - don't reject target highest slot value of 0 - Link to v2: https://lore.kernel.org/r/20241029-bcwide-v2-1-e9010b6ef55d@xxxxxxxxxx Changes in v2: - take cl_lock when fetching fields from session to be encoded - use fls() instead of bespoke highest_unset_index() - rename variables in several functions with more descriptive names - clamp limit of for loop in update_cb_slot_table() - re-add missing rpc_wake_up_queued_task() call - fix slotid check in decode_cb_sequence4resok() - add new per-session spinlock --- Jeff Layton (2): nfsd: make nfsd4_session->se_flags a bool nfsd: allow for up to 32 callback session slots fs/nfsd/nfs4callback.c | 108 ++++++++++++++++++++++++++++++++++--------------- fs/nfsd/nfs4state.c | 17 +++++--- fs/nfsd/state.h | 19 ++++----- fs/nfsd/trace.h | 2 +- 4 files changed, 98 insertions(+), 48 deletions(-) --- base-commit: 06c049d2a81a81f01ff072c6519d0c38b646b550 change-id: 20241025-bcwide-6bd7e4b63db2 Best regards, -- Jeff Layton <jlayton@xxxxxxxxxx>