To release Samba 4.0 'as is'
Jeremy Allison
jra at samba.org
Tue Nov 29 17:36:41 MST 2011
On Wed, Nov 30, 2011 at 10:13:30AM +1100, Andrew Tridgell wrote:
>
> So it is not a question of size. It is a question of
> architecture.
Indeed - it's not a question of size.
> Personally I think that the file server being a module
> like all the other modules we have in bin/samba is the best approach.
>
> That said, as this is obviously a sticking point and I clearly haven't
> convinced you, so I'm currently reworking my s3fs-wip branch to create a
> bin/samba module that launches smbd as a child daemon. It first creates
> a custom config file in $PREFIX/private/smbd.tmp/fileserver.conf then
> launches $SBINDIR/smbd like this:
>
> /* start it as a child process */
> req = samba_runcmd_send(task, task->event_ctx, timeval_zero(), 1, 0,
> smbd_cmd,
> "--configfile", fileserver_conf,
> "--foreground", NULL);
>
> If you want to look at the rest of the code, then have a look at my
> s3fs-wip branch, in the file_server directory. It works for simple tasks
> at the moment (eg. smbclient can connect to a share), but more complex
> tasks involving some RPC services (such as what smbclient -L does)
> fail. I'm currently looking into why this is.
>
> We also need to teach smbd to die when its parent process dies, as
> currently killing the samba process leaves a stray smbd behind, so a
> restart doesn't work. When run with --foreground it should be monitoring
> its parent, either via an event on a pipe or via kill() to ensure it
> exits when the parent exits.
That looks much nicer, thanks !
Jeremy.
More information about the samba-technical
mailing list