Re: [PATCH 00/18] SWN: Decouple witness registrations and tcons
Enzo Matsumiya <[email protected]>
| Newsgroups | org.kernel.vger.linux-cifs |
|---|---|
| Message-ID | <[email protected]> |
On 07/10, Samuel Cabrero wrote: >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. @Steve you may add my Rb to the whole series. >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 @Samuel just a small observation in this patch (14/18): It's better practice to use kfree_sensitive() when freeing passwords (swnreg->authinfo.ntlm.password). IMHO this can be done in a follow up patch instead of a v2. > 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(-) Cheers, Enzo