Age | Commit message (Collapse) | Author | Files | Lines |
|
Michael
(This used to be commit 5258907818f8c1e338ab2c8fb4e8d83c6142a24e)
|
|
as delete_rec operation from fetch_locked()
Michael
(This used to be commit f4aab595a0219305fbedf8890e787b690660a55a)
|
|
to reduce code duplication.
Michael
(This used to be commit 09a197e756459877cab7b4d09f534c6a41cfdd71)
|
|
This is because ctdbd can fail in performing the persistent_store
due to race conditions, and this does not mean it can't succeed
the next time.
To not loop infinitely, this makes use of a new parametric option:
"dbwrap ctdb:max store retries" (integer) which defaults to 5
and sets the upper limit for the number or repeats of the
fetch/store cycle.
Michael
(This used to be commit 2bcc9e6ecef876030e552a607d92597f60203db2)
|
|
in the persistent db_ctdb_store operation.
This is to prevent deadlocks in db_ctdb_persistent_store().
There is a tradeoff: Usually, the record is still locked
after db->store operation. This lock is usually released
via the talloc destructor with the TALLOC_FREE to
the record. So we have two choices:
- Either re-lock the record after the call to persistent_store
or cancel_persistent update and this way not changing any
assumptions callers may have about the state, but possibly
introducing new race conditions.
- Or don't lock the record again but just remove the
talloc_destructor. This is less racy but assumes that
the lock is always released via TALLOC_FREE of the record.
I choose the first variant for now since it seems less racy.
We can't guarantee that we succeed in getting the lock
anyways. The only real danger here is that a caller
performs multiple store operations after a fetch_locked()
which is currently not the case.
Michael
(This used to be commit d004c9a7281d2577c3ba2012c8f790cc198ea700)
|
|
Michael
(This used to be commit c939c55e5182258092faceefa58a7f328f18619e)
|
|
Michael
(This used to be commit b822bba9b9ae327bc6cee3f412f7e22ce28c1388)
|
|
Michael
(This used to be commit 7e73792c738447049b8662617da340a73fae9bf0)
|
|
database in an inconsistent state if we crash during the operation
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
(This used to be commit 09329f1f9114af44fc4e5e4f29a7315912313125)
|
|
Michael
(This used to be commit bd2158fb5f5d5c0c410fe2853f61776787e1461f)
|
|
Michael
(This used to be commit e63a1a396c5cee837aed8a54b5c5ea3b2116d755)
|
|
Michael
(This used to be commit d795c2d5dc860fbfa668160054be084fe23aa44a)
|
|
Michael
(This used to be commit 3323456e208742e160b9cabb79dc68bfbe8b1970)
|
|
This can not go upstream yet because it uses the non-GPL libgpfs. So it will
not be compiled by default and will not be included in the SOFS RPMs. But upon
Sven's request, we include it in the git tree and the source RPMs, so that it
can be built for in-house tests.
(This used to be commit fc9b30bed2d774dca6660b497cb50f982b23b885)
|
|
Michael
(This used to be commit 7f3787a79a9949e7e80c9c5e16ec504ad1c4bdb7)
|
|
Michael
(This used to be commit f7706c6437d6500a477cb704cb916f16fdfa1395)
|
|
Michael
(This used to be commit 1fee80b8a643c22d356d0ca8860d5fc9580c8918)
|
|
Michael
(This used to be commit 7c3e4a324248d61504c4c77a63d4d31e587802af)
|
|
(This used to be commit 19becb776148b7930a0abaec8038fee1158a66c4)
|
|
(This used to be commit 549db133df6782bcca7d033e8573e47716877cbd)
|
|
(This used to be commit 5fd51833a31b326d83ac2f76d06560920547f657)
|
|
(This used to be commit e52e2f7f1a09fff8ec37174a9dc98dc9b440ef87)
|
|
(This used to be commit 3d24c5b4602140470c40f002d206212e388ae59b)
|
|
(This used to be commit ace315c2ffc4e81c87ba1d30c28578719cb1692b)
|
|
To fix creation of 32bit packges on x86_64
Michael
(This used to be commit ae2a353286a1a02936fb80edd6f899b1941403af)
|
|
Michael
(This used to be commit f978df86f9af480de26a6cf67c4f8e60d1e27139)
|
|
libwbclient, libtalloc, libtdb, and libnetapi are now installed
into /usr/lib{,64} by their SONAME. The symlink is made from
the .so files to point to the SONAME files (e.g., libtdb.so.1).
Michael
(This used to be commit d18287b6284597878bc3683f16f001b949857e54)
|
|
Michael
(This used to be commit 0d64606da69edba20f545789e526a71d01ca40b0)
|
|
Michael
(This used to be commit c0ecb63d9e7b11bb5c31bdf95605d68c02206220)
|
|
Michael
(This used to be commit 58085063c46f3c55c8aebc83bb79a2dd19f73622)
|
|
Michael
(This used to be commit 1cd7201e5387ca11e9b735d37b806cb14d4a8dd3)
|
|
Michael
(This used to be commit b3e552d795caf6e4ab811368fda4a8a2f2d493a0)
|
|
Michael
(This used to be commit 2ccd9ef741c88772e4b7409506258e85b252c74f)
|
|
What would be the use of restarting a service that has just
been uninstalled...
Michael
(This used to be commit 98116075589abb7e0c9dc391f6d1bf3452025a1d)
|
|
remains of winbind are being removed from the main package.
also stop the winbind service in the "%preun common" script.
Michael
(This used to be commit 758f1de7750471815a284e9fad927112b59dc085)
|
|
Winbind along with its libraries and init script is packaged in the
samba-common rpm.
Michael
(This used to be commit 7ebc1ea13fd975126bfc43af48a4384fc9c620e2)
|
|
Michael
(This used to be commit 185e24249d3dea1755558a154aa819db3bb1a605)
|
|
For SOFS, we do know that we have netbios disabled, and testparm in the ctdb
shutdown event locks up due to a locked registry.tdb
(This used to be commit 285d55d2a273f18ec9b84011c74a8099cba193c2)
|
|
(This used to be commit 2856d2e4a43fbcc6c8f8ac7b1613828170362861)
|
|
(This used to be commit 87c9f7717fc8171644c244fe697cace2968b8f8a)
|
|
This is a band-aid for the rather convoluted offline/online mess in winbind
right now. Winbind re-uses the offline functionality that is targeted at domain
client installations on laptops to not overload disfunctional DCs. It uses the
winbind cache timeout as the retry timeout after a DC reboot.
I am using a parametric options because when this mess is cleaned up, that
parameter needs to go away again.
I'd recommend to use something like
winbind:online check timeout = 30
in typical LAN environments. This means a reconnect is attempted every 30
seconds.
Volker
(This used to be commit 9920473cc165e75ee9aa5cbb9e568eb5fb67e9e6)
|
|
With the ctdb checkin dde9f3f006 tdb optimized out write lock checks for
write-enabled transaction. Sadly, this also removed the possibility to ever
remove dead records left over from tdb_delete calls within a transaction.
Tridge, please check this! Did dde9f3f006 have any reason beyond performance
optimizations?
Thanks,
Volker
(This used to be commit 3f884c4ae36f3260e63626bdd4989d9258ae6497)
|
|
(cherry picked from commit 666bf8456ac44cbbbd5524af2bf4fd89e18ddf62)
(This used to be commit 8819c51809cabe6ad0843f3838de53e785a10b47)
|
|
(This used to be commit 8cb7ae011c8b8cb244e9b87a3ad51e27646411b6)
|
|
Here is a patch to allow many subsystems to be re-initialized. The only
functional change I made was to remove the null context tracking, as the memory
allocated here is designed to be left for the complete lifetime of the program.
Freeing this early (when all smb contexts are destroyed) could crash other
users of talloc.
Jeremy.
(This used to be commit 8c630efd25cf17aff59448ca05c1b44a41964b16)
|
|
(cherry picked from commit cee044bc42d955c535dbb6bb372af01089d37756)
(This used to be commit 2462562b5c90bc1c46237cd980810b0a69cd116d)
|
|
scan_directory).
Michael
(This used to be commit 15fc2427f91da697e0e91f7f34b0f0c6e230a9a5)
|
|
map_nt_error_from_unix() now assumes that it is called in
an error path and returns an error even for a given errno == 0.
The original behaviour of unix_convert() used the mapping
of errno == 0 ==> NT_STATUS_OK to return success through
an error path.
I think this must have been an oversight, and unix_convert() worked
only by coincidence (or because explicitly using the knowledge
of the conceptually wrong working of map_nt_error_from_unix().
This patch puts this straight by not interpreting errno == 0
as an error condition and proceeding in that case.
Jeremy - please check!
Michael
(This used to be commit ec5956ab0df1b3f567470b2481b73da9c3c67371)
|
|
one of our virtualised functions, such as db_open(), but error is only
set when a system call fails, and it is not uncommon for us to fail a
function internally without ever making a system call. That led to us
passing back success when a function had in fact failed.
I found two places where we relied on map_nt_error_from_unix()
returning success when errno==0, but lots and lots of places where we
relied on the reverse, so I fixed those two places.
map_nt_error_from_unix() will now always return an error, returning
NT_STATUS_UNSUCCESSFUL if errno is 0
(cherry picked from commit 69d40ca4c1af925d4b0e59ddc69ef8c26e6501d1)
(This used to be commit 834684a524a24bb4eb46b4af583d39947dc87d95)
|
|
for one
(This used to be commit 469ba9b87103aa0053c371e481acc5acf0f98ac1)
|