New async libwbclient

Stefan (metze) Metzmacher metze at
Mon Apr 6 07:58:47 GMT 2009

Hi Volker,

> On 
> I've uploaded my current async libwbclient iteration. It's
> 1849 lines replaced by 1890 new ones, and it's almost
> midnight here. So I didn't directly push it yet.
> The core checkin is af7876587c3. I've done this as a large
> patch, you definitely don't want to see the whole history of
> this :-)

This looks really good!

> The main difference to the current in-master library is a
> better abstraction: We don't need the recv_helper anymore,
> and we don't need to expose the innards of the async
> libsmbclient engine anymore. Furthermore, it does a lot less
> memcpy ops, it relies on writev_send.
> I need to test the secondary trans things with signing, and
> we need a writev style version of the client signing
> routine. The current one makes a copy and signs that.

I assume the trans code will just work.

Calling cli_state_seqnum_persistent() and cli_state_seqnum_remove()
is only needed for the old functions which use cli_state->inbuf/outbuf,
so you should remove them from the new functions.
Then you can also avoid the goto fail in cli_trans_done().

> It's a ton of new code, and it has taken me two days to get
> my stack of 60 patches with funny gd-style checkin messages
> into something presentable, so eventually I want this in and
> promise to support it :-)

I think we can move smb_splice_chain to smbd/process.c now:-)

For me it would be nice if we could decouple
the async_smb.c code completely from struct cli_state,
but maybe we need to wait until all cli_state->inbuf users are gone.

+1 for getting this code in when it's tested enough.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url :

More information about the samba-technical mailing list