[PATCH 00/18] SWN: Decouple witness registrations and tcons

Samuel Cabrero <[email protected]>
Newsgroups org.kernel.vger.linux-cifs
Message-ID <[email protected]>
This patches removes the cached tcon pointers from the witness
registrations.

First patch in the serie reverts the current approach based on snapshots
that fixes a race while processing a received notification. This
patchset implements a different approach based on reference counting and
fixes other races that could occur with concurrent
register/unregister/notification processing.

The witness registration stores now all required information to issue
register/unregister DCERPC calls (like auth info and target address),
and when a notification is received it applies it to all matching
witness-enabled tcons.

Each witness registration has its own task to enforce the registration
in case the userspace daemon is started after mounting the share,
instead of overload the echo task for this purpose.

Samuel Cabrero (18):
  Revert "smb: client: resolve SWN tcon from live registrations"
  smb:client: Adjust witness notification request
  smb:client: Rename variable to match the rest of the code
  smb:client: Split idr remove and release functions
  smb:client: Add a specific task to refresh witness registrations
  smb:client: Store the tcon dstaddr in the witness registration
  smb:client: Fix printf format string
  smb:client: Save memory allocations
  smb:client: Use the correct return code
  smb:client: Improve tcon matching logic
  smb:client: Pass the tcon to cifs_swn_send_register_message
  smb:client: Pass the tcon to notification handlers
  smb:client: Introduce swn_notification struct
  smb:client: Cache auth info
  smb:client: Do not store the tcon reference, find a matching one
  smb:client: Simplify registration creation
  smb:client: Improve registration network and share names handling
  smb:client: Avoid witness re-register if the address did not change

 fs/smb/client/cifs_swn.c | 1179 ++++++++++++++++++++++----------------
 fs/smb/client/cifs_swn.h |    3 -
 fs/smb/client/connect.c  |    3 -
 fs/smb/client/trace.h    |    4 +-
 4 files changed, 682 insertions(+), 507 deletions(-)

-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.