socket-wrapper fd-passing

Stefan Metzmacher metze at samba.org
Fri Aug 28 08:05:39 UTC 2020


Hi Anoop,

>>>>> I guess it means we would need to undo some of the changes we
>>>>> made
>>>>> to one array of socket_info structures.
>>>>>
>>>>> I'll let you know if I get the basic passing of information via
>>>>> the
>>>>> tmp
>>>>> pipe working...
>>>>
>>>> As Samba does not require that the socket is usable from two
>>>> processes
>>>> at the same time, I guess we can take a short cut and just pass
>>>> the socket_info structure (an array of them) through the pipe.
>>>> That would allow us to have multichannel tested in
>>>> gitlab/autobuild.
>>>
>>> I am looking through your changes and will let you know in case I
>>> need
>>> more clarifications.
>>>
>>>> I'll see if I can get this to work. Once we have these basics,
>>>> we can try to improve the design to be more generic with shared
>>>> structures, when we really need it.
>>
>> I made good progress, see
>> https://gitlab.com/metze/socket_wrapper/-/commits/fd-passing-unix
>> https://gitlab.com/metze/socket_wrapper/-/pipelines/161689331
>>
>> And for Samba:
>> https://git.samba.org/?p=metze/samba/wip.git;a=shortlog;h=refs/heads/master-multichannel
> 
> Is this still the up-to-date branch with socket_wrapper changes pulled
> in along with multichannel tests enabled?

Basically yes, but it also has some unrelated stuff in it.

Here's a subset of it just for socket_wrapper and multichannel tests:
https://gitlab.com/samba-team/devel/samba/-/commits/metze-multichannel

>> https://gitlab.com/samba-team/devel/samba/-/pipelines/161691424
>> https://gitlab.com/samba-team/devel/samba/-/pipelines/161691541
>> I'll add some more tests tomorrow and debug why some samba tests are
>> failing...
> 
> Were you able to complete a successful Samba CI run with fd-passing
> changes?

If I remember correctly, yes.

I just started a new pipeline here:
https://gitlab.com/samba-team/devel/samba/-/pipelines/183002136

There are two main items left to do:
1. cleanup the socket_wrapper.c:
  - struct swrap_unix_scm_rights => adding a uint64 magic
    (if possible the magic should be derived from the
    definition of swrap_unix_scm_rights_payload,
    see profile_setup() in source3/profile/profile.c
    where we do something similar.
  - we need to remove some #if 0 code

2. Find a way to keep the smb2.lease.dynamic_share test running
   - We may only activate multichannel support on a few test environments
     instead of all, it's still off by default and we should mainly test
     the default behavior of smbd

   - And/or we need to rewrite the test to use multiple user sessions
     and %U in 'path =' instead of %R. Or two tcons to the same share (on a single connection)
     and using %t (together with a root preexec script) instead of %R.

metze




-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20200828/4f4bf7f3/signature.sig>


More information about the samba-technical mailing list