[PATCH] CTDB - portability fixes and improvements

Amitay Isaacs amitay at gmail.com
Fri Jul 27 05:46:16 UTC 2018


Hi,

Here are the patches to ctdb to make it build and run tests on freebsd.

I would like to make sure that CTDB runs on three platforms of
interest (Linux, freebsd, AIX).  This is a first set of patches to
improve the portability of CTDB code and the test infrastructure.  As
a result I have added new abstractions (line based I/O) and
errno/signum matching utilities.

With these changes all unit tests except 3 related to PROCESS_EXISTS
control pass on freebsd.  Next step would be to make simple tests
work, which test against the ctdb daemon.

Since freebsd does not support getting peer credentials (pid) of the
process across a unix-domain socket connection, clustered samba cannot
work correctly on freebsd.  There is an open feature request for the
same in freebsd bugzilla.

    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215202

Even on Linux, there is a problem.  If a process sets up a connection
to ctdbd and then forks, then the peer credential will be the pid of
the original process and not the child process.  For CTDB to have the
correct information, a client needs to register that information with
CTDB.  Something we need to think about in future.

Most of the changes are to the testing infrastructure to use shell
features and utilities from posix standard.

Please review and push.

Amitay.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ctdb.patch
Type: text/x-patch
Size: 91942 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20180727/2a51ef44/ctdb.bin>


More information about the samba-technical mailing list