IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
This doesn't get the ctdb code fully working in Samba4, it just gets
it building and not breaking non-clustered use of Samba. It will take
a bit longer to update some of the calling ctdb_cluster.c code to make
it work correctly in Samba4.
Note also that Samba4 now only links to the client portion of
ctdb. For the moment I am leaving the ctdbd as a separate daemon,
which you install separately from http://ctdb.samba.org/.
existing ctdb_call() mechanism isn't sufficient. The main problem is
that the operations on the record need to be done with a lock held
while a local posix file operation is happening. We can't use a
ctdb_call callback function to do the actual file opens, renames,
unlinks etc as the callback would run on the wrong node.
So this commit adds the prototypes for two new ctdb API functions
which will make a opendb backend easier. Volker will probably
recognise these functions as they are basically the same as what he
did in his earlier Samba clustering code :-)
handling messages to remote nodes. Implemented dummy functions in the
'local' cluster backend for the messaging hooks, and modified the
messaging layer to check if the destination is remote and redirect
messages via the cluster layer
rather than allocating a reply_data field each time, I have changed
the ctdb_call API to include a status code. That greatly simplifies
use of the API.
calculations. It will be interesting to see how portable this is.
The advantage over the sizeof() method is that it avoids padding
problems after the data[1] array. That was causing us to get valgrind
errors.
- this fix looks really ugly but I don't know a better solution...
if we would use uint8_t *data; then we would send the pointer value
also in the network packet and we would need to initialize
s->data = ((void *)(&s->data) + 1;
to make the memcpy statements work as they're currently,
so we use uint8_t data[1] in the struct definition ...
tridge: please review careful!
hopefully fix the build on solaris and HPUX
metze
at the moment the brlock_ctdb backend will sometimes fail after
dmaster migrations. So to pass tests this needs to be set high. Thats
a priority to fix.