Michael Adam [Mon, 11 Aug 2008 14:30:36 +0000 (16:30 +0200)]
smbd: prevent smbd from panicing with "clustering = no" but --with-cluster-support
Michael
Andrew Tridgell [Sun, 10 Aug 2008 00:46:09 +0000 (10:46 +1000)]
up release to 46
Andrew Tridgell [Sat, 9 Aug 2008 03:27:36 +0000 (13:27 +1000)]
up to release 45 now
Andrew Tridgell [Sat, 9 Aug 2008 03:26:49 +0000 (13:26 +1000)]
disable the DNS update code, as it breaks clustering
Andrew Tridgell [Fri, 8 Aug 2008 12:47:23 +0000 (22:47 +1000)]
up to release 44
Andrew Tridgell [Fri, 8 Aug 2008 12:47:04 +0000 (22:47 +1000)]
added a explanatory comment on tcon check
Michael Adam [Tue, 12 Aug 2008 10:16:19 +0000 (12:16 +0200)]
smbd/conn: fix prototype change of conn_close_all() in proto.h.
(Cleaning "ensure we exit with non-zero status on EOF on socket"
after rebasing to v3-3-test which has no "make proto" anymore.)
Michael
Andrew Tridgell [Fri, 8 Aug 2008 12:34:59 +0000 (22:34 +1000)]
ensure we exit with non-zero status on EOF on socket, so the parent
can trigger a brlock db cleanup
Andrew Tridgell [Fri, 8 Aug 2008 11:11:56 +0000 (21:11 +1000)]
fixed child exit handling and IP release handling
Andrew Tridgell [Fri, 8 Aug 2008 11:00:42 +0000 (21:00 +1000)]
log unclean shutdowns
Andrew Tridgell [Fri, 8 Aug 2008 10:31:03 +0000 (20:31 +1000)]
register the ctdbd reconfigure message
Andrew Tridgell [Fri, 8 Aug 2008 09:57:57 +0000 (19:57 +1000)]
update configure.rpm
Andrew Tridgell [Fri, 8 Aug 2008 06:44:52 +0000 (16:44 +1000)]
increase version to 43
Andrew Tridgell [Fri, 8 Aug 2008 06:44:24 +0000 (16:44 +1000)]
allow nested ctdb transactions in the same manner that they are
allowed for tdb. This is needed for the registry db backend.
Andrew Tridgell [Fri, 8 Aug 2008 03:45:12 +0000 (13:45 +1000)]
update to ctdb.42 release
Michael, if you do a new release, make it 43 or later please
Andrew Tridgell [Fri, 8 Aug 2008 03:14:09 +0000 (13:14 +1000)]
update to transactions4 release
Andrew Tridgell [Fri, 8 Aug 2008 03:13:42 +0000 (13:13 +1000)]
drop retries to 5
Andrew Tridgell [Fri, 8 Aug 2008 03:12:16 +0000 (13:12 +1000)]
use CTDB_CONTROL_TRANS2_COMMIT_RETRY to prevent the counter getting
out of sync
Andrew Tridgell [Fri, 8 Aug 2008 01:47:23 +0000 (11:47 +1000)]
up release to transactions3
Andrew Tridgell [Fri, 8 Aug 2008 01:42:06 +0000 (11:42 +1000)]
fixed lots of places that paniced on a failed transaction_commit,
thinking it was a failure of a transaction cancel
Andrew Tridgell [Fri, 8 Aug 2008 01:41:21 +0000 (11:41 +1000)]
don't leave a dangling transaction on retry error
Andrew Tridgell [Fri, 8 Aug 2008 00:55:11 +0000 (10:55 +1000)]
cope with the control failing completely without returning a status
Andrew Tridgell [Fri, 8 Aug 2008 00:01:13 +0000 (10:01 +1000)]
up release number
Andrew Tridgell [Thu, 7 Aug 2008 23:58:15 +0000 (09:58 +1000)]
handle two special cases
1) when all nodes write the same value to the record, or when writing
a value that is already there, we can skip the write and save
ourselves a network transactions
2) when all remote nodes fail an update, and we then fail a replay, we
don't need to trigger a recovery. This solves a corner case where
we could get into a recovery loop
Andrew Tridgell [Thu, 7 Aug 2008 20:02:59 +0000 (22:02 +0200)]
mark this release as a transactions test release
Andrew Tridgell [Thu, 7 Aug 2008 13:26:22 +0000 (23:26 +1000)]
put a limit on the number of retries. I found a case where a recovery
could lead to it blocking forever
Andrew Tridgell [Thu, 7 Aug 2008 11:33:00 +0000 (21:33 +1000)]
we need to commit, not cancel, on record destruction
Andrew Tridgell [Thu, 7 Aug 2008 09:21:49 +0000 (19:21 +1000)]
removed more unused code
Andrew Tridgell [Thu, 7 Aug 2008 09:14:16 +0000 (19:14 +1000)]
all persistent databases now do all stores via automatic transactions
Andrew Tridgell [Thu, 7 Aug 2008 08:35:19 +0000 (18:35 +1000)]
use transactions in idmap_tdb2
Andrew Tridgell [Thu, 7 Aug 2008 08:34:54 +0000 (18:34 +1000)]
fixed fetch of empty records
Andrew Tridgell [Thu, 7 Aug 2008 08:33:37 +0000 (18:33 +1000)]
samba3 can't handle NOREPLY yet
Andrew Tridgell [Thu, 7 Aug 2008 06:56:47 +0000 (16:56 +1000)]
cleanup debugging and fix handling of empty transaction
Andrew Tridgell [Thu, 7 Aug 2008 06:20:05 +0000 (16:20 +1000)]
first cut at adding full transactions for ctdb to samba3
Andrew Tridgell [Thu, 7 Aug 2008 01:59:39 +0000 (11:59 +1000)]
got rid of the redundent cache database
Michael Adam [Thu, 7 Aug 2008 00:46:13 +0000 (02:46 +0200)]
packaging(RHEL-CTDB): we are now based on 3.2.1
Michael
Michael Adam [Thu, 7 Aug 2008 00:03:22 +0000 (02:03 +0200)]
idmap tdb2: fix inconsistent mappings by checking for race and retrying to fetch mapping.
Michael
Michael Adam [Wed, 6 Aug 2008 22:12:57 +0000 (00:12 +0200)]
dbwrap ctdb: fix a DEBUG message.
Michael
Michael Adam [Wed, 6 Aug 2008 20:43:27 +0000 (22:43 +0200)]
idmap tdb2: fix broken logic in tdb2_delete_bystring().
1. use the return value that idmap_tdb2_open_perm_db() gives us
2. don't delete frep the local db if deleting from the perm db failed.
3. fix wrong interpretation of return value of the local delete
Michael
Michael Adam [Wed, 6 Aug 2008 20:33:58 +0000 (22:33 +0200)]
idmap tdb2: fix broken logic in tdb2_store_bystring().
1. use the return value that idmap_tdb2_open_perm_db() gives us
2. don't write to the local db if writing to the perm db failed.
3. fix wrong interpretation of return value of the local store
Michael
Michael Adam [Wed, 6 Aug 2008 20:30:27 +0000 (22:30 +0200)]
dbwrap ctdb: don't retry when tdb_store failed in db_ctdb_persistent_store().
Only retry when ctdbd_persisten_update() failed.
Michael
Michael Adam [Wed, 6 Aug 2008 20:22:23 +0000 (22:22 +0200)]
dbwrap ctdb: add a partial mapping from tdb_error to NTSTATUS and use it for store.
Michael
Michael Adam [Wed, 6 Aug 2008 00:19:53 +0000 (02:19 +0200)]
packaging(RHEL-CTDB): Bump release number to ctdb.41 for the next RPM.
Michael
Michael Adam [Tue, 5 Aug 2008 16:47:40 +0000 (18:47 +0200)]
dbwrap ctdb: add db_ctdb_delete_persistent() and use it for persistent DBs
as delete_rec operation from fetch_locked()
Michael
Michael Adam [Tue, 5 Aug 2008 16:46:02 +0000 (18:46 +0200)]
dbwrap ctdb: call db_ctdb_store() in db_ctdb_delete().
to reduce code duplication.
Michael
Michael Adam [Tue, 5 Aug 2008 09:32:20 +0000 (11:32 +0200)]
dbwrap ctdb: add a retry loop to the persistent store operation.
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
Michael Adam [Tue, 5 Aug 2008 16:42:07 +0000 (18:42 +0200)]
dbwrap ctdb: release the lock before calling ctdbd_persistent_store()
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
Michael Adam [Mon, 4 Aug 2008 15:07:20 +0000 (17:07 +0200)]
dbwrap ctdb: remove erroneously duplicated comment.
Michael
Michael Adam [Wed, 30 Jul 2008 13:46:44 +0000 (15:46 +0200)]
packaging(RHEL-CTDB): Bump release number to ctdb.40 for the next RPM.
Michael
Michael Adam [Wed, 23 Jul 2008 00:01:51 +0000 (02:01 +0200)]
packaging(RHEL-CTDB): Bump release number to ctdb.39 for the next RPM.
Michael
Ronnie Sahlberg [Fri, 18 Jul 2008 08:50:16 +0000 (18:50 +1000)]
Use transaction start/cancel for persistent writes to avoid leaving the database in an inconsistent state if we crash during the operation
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Michael Adam [Fri, 18 Jul 2008 09:20:38 +0000 (11:20 +0200)]
packaging(RHEL-CTDB): bump Release number to ctdb.37 for next rpm.
Michael
Michael Adam [Thu, 10 Jul 2008 21:28:07 +0000 (23:28 +0200)]
packaging(RHEL-CTDB): Bump release number to ctdb.37 for the next RPM.
Michael
Michael Adam [Fri, 4 Jul 2008 13:22:16 +0000 (15:22 +0200)]
packaging(RHEL-CTDB): bump Release number to ctdb.36 for next rpm.
Michael
Michael Adam [Fri, 27 Jun 2008 14:54:57 +0000 (16:54 +0200)]
packaging(RHEL-CTDB): Bump release number to ctdb.35 for the next RPM.
Michael
Volker Lendecke [Mon, 28 Apr 2008 09:44:26 +0000 (11:44 +0200)]
Add a gpfs_prefetch module
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.
Michael Adam [Wed, 18 Jun 2008 16:45:01 +0000 (18:45 +0200)]
packaging(RHEL-CTDB): bump Release number to ctdb.34 for the next RPM.
Michael
Michael Adam [Tue, 17 Jun 2008 10:44:07 +0000 (12:44 +0200)]
packaging(RHEL-CTDB): update the build instructions in the README.
Michael
Michael Adam [Tue, 17 Jun 2008 09:36:21 +0000 (11:36 +0200)]
packaging(RHEL-CTDB): bump Release to ctdb.33 for the next build
Michael
Michael Adam [Wed, 28 May 2008 11:25:31 +0000 (13:25 +0200)]
packaging(RHEL-CTDB): remove the libnss_wins modules to reduce deps.
Michael
Volker Lendecke [Fri, 13 Jun 2008 12:24:05 +0000 (14:24 +0200)]
bump version number to 32
Volker Lendecke [Fri, 13 Jun 2008 10:01:31 +0000 (12:01 +0200)]
Correctly return NULL from messaging_ctdbd_connection if messaging_init failed
Volker Lendecke [Fri, 13 Jun 2008 10:00:24 +0000 (12:00 +0200)]
Exit smbstatus cleanly if messaging_init fails
Volker Lendecke [Fri, 6 Jun 2008 17:45:26 +0000 (19:45 +0200)]
Package 32-bit versions of libtalloc into the winbind rpm
Volker Lendecke [Fri, 6 Jun 2008 11:50:06 +0000 (13:50 +0200)]
Fix README: DOCS_DIR is replaced by DOCS_TARBALL
Volker Lendecke [Fri, 6 Jun 2008 11:49:00 +0000 (13:49 +0200)]
Bump up version number
Michael Adam [Fri, 23 May 2008 16:13:53 +0000 (18:13 +0200)]
packaging(RHEL-CTDB): use /usr/%{_libarch} instead of %{_libdir}
To fix creation of 32bit packges on x86_64
Michael
Michael Adam [Fri, 23 May 2008 16:06:53 +0000 (18:06 +0200)]
packaging(RHEL-CTDB): remove duplicate block from spec file.
Michael
Michael Adam [Fri, 23 May 2008 13:12:01 +0000 (15:12 +0200)]
packaging(RHEL-CTDB): fix placement and link direction of new shared libs
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
Michael Adam [Fri, 23 May 2008 12:03:11 +0000 (14:03 +0200)]
packaging(RHEL-CTDB): bump rpm release to the next version ctdb.29
Michael
Michael Adam [Fri, 23 May 2008 11:44:13 +0000 (13:44 +0200)]
packaging(RHEL-CTDB): add "service winbind condrestart" to "%post common"
Michael
Michael Adam [Fri, 23 May 2008 10:52:21 +0000 (12:52 +0200)]
packaging(RHEL-CTDB): use "/sbin/service smb" instead of "%{initdir}/smb"
Michael
Michael Adam [Fri, 23 May 2008 10:51:32 +0000 (12:51 +0200)]
packaging(RHEL-CTDB): ignore errors from init scripts in pre/post scripts.
Michael
Michael Adam [Fri, 23 May 2008 10:50:14 +0000 (12:50 +0200)]
packaging(RHEL-CTDB): in %preun, first stop the service then deactivate
Michael
Michael Adam [Fri, 23 May 2008 10:48:55 +0000 (12:48 +0200)]
packaging(RHEL-CTDB): use condrestart instead of restart in %post script
Michael
Michael Adam [Fri, 23 May 2008 10:47:42 +0000 (12:47 +0200)]
packaging(RHEL-CTDB): move service smb restart from %postun to %post
What would be the use of restarting a service that has just
been uninstalled...
Michael
Michael Adam [Fri, 23 May 2008 10:26:28 +0000 (12:26 +0200)]
packaging(RHEL-CTDB): move "chkconfig --del winbind" to "%preun common"
remains of winbind are being removed from the main package.
also stop the winbind service in the "%preun common" script.
Michael
Michael Adam [Fri, 23 May 2008 09:58:01 +0000 (11:58 +0200)]
packaging(RHEL-CTDB): remove winbind init script and its linke from main pkg
Winbind along with its libraries and init script is packaged in the
samba-common rpm.
Michael
Michael Adam [Wed, 21 May 2008 09:41:51 +0000 (11:41 +0200)]
packaging: bump the rhel-ctdb rpm releas number to ctbd.28
Michael
Volker Lendecke [Mon, 19 May 2008 14:08:04 +0000 (16:08 +0200)]
Do not call testparm in /etc/init.d/smb
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
Andrew Tridgell [Mon, 21 Apr 2008 16:40:45 +0000 (18:40 +0200)]
keep compatibility with v3-0-ctdb name for fileid:mapping option
Andrew Tridgell [Mon, 21 Apr 2008 16:39:56 +0000 (18:39 +0200)]
update configure.rpm for clustered Samba usage
Volker Lendecke [Mon, 19 May 2008 16:15:06 +0000 (18:15 +0200)]
Add winbind:online check timeout parameter
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
Volker Lendecke [Tue, 12 Aug 2008 20:31:52 +0000 (22:31 +0200)]
Attempt to fix bug 5684
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
Volker Lendecke [Tue, 1 Jul 2008 12:24:47 +0000 (14:24 +0200)]
Attempt to fix the build on Irix CC
(cherry picked from commit
666bf8456ac44cbbbd5524af2bf4fd89e18ddf62)
Jeremy Allison [Tue, 12 Aug 2008 21:40:01 +0000 (14:40 -0700)]
Merge from Herb. print correct test status
Jeremy Allison [Tue, 12 Aug 2008 20:35:15 +0000 (13:35 -0700)]
Fix bug 5686 - libsmbclient segfaults with more than one SMBCCTX.
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.
Herb Lewis [Mon, 7 Jul 2008 19:44:13 +0000 (12:44 -0700)]
use variables for files used in multiple places
(cherry picked from commit
cee044bc42d955c535dbb6bb372af01089d37756)
Michael Adam [Tue, 12 Aug 2008 13:19:17 +0000 (15:19 +0200)]
Make sure to always set errno on error path in OpenDir (and hence scan_directory).
Michael
Michael Adam [Tue, 12 Aug 2008 12:59:59 +0000 (14:59 +0200)]
Fix unix_convert() for "*" after changing map_nt_error_from_unix().
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
Andrew Tridgell [Sun, 10 Aug 2008 00:43:36 +0000 (10:43 +1000)]
I found lots of places where we assume error will be set when calling
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)
Andrew Tridgell [Mon, 11 Aug 2008 07:21:11 +0000 (17:21 +1000)]
ensure we give an error code to any routines above that are looking
for one
Jeff Layton [Tue, 12 Aug 2008 18:32:54 +0000 (14:32 -0400)]
cifs.upcall: negatively instantiate keys on error
When a request-key upcall exits without instantiating a key, the kernel
will negatively instantiate the key with a 60s timeout. Older kernels,
however seem to also link that key into the session keyring. This
behavior can interefere with subsequent mount attempts until the
key times out. The next request_key() call will get this negative key
even if the upcall would have worked the second time.
Fix this by having cifs.upcall negatively instantiate the key itself
with a 1s timeout and don't attach it to the session keyring.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Volker Lendecke [Tue, 12 Aug 2008 09:59:13 +0000 (11:59 +0200)]
Remove two unused variables
Volker Lendecke [Tue, 29 Jul 2008 07:04:17 +0000 (09:04 +0200)]
Do not create a new mapping if a domain with an explicit config fails
Volker Lendecke [Fri, 18 Jul 2008 10:30:24 +0000 (12:30 +0200)]
Make the docs actually build
Thanks to Karolin for the friendly build service :-)
Volker Lendecke [Thu, 17 Jul 2008 12:05:57 +0000 (14:05 +0200)]
Document idmap rewrite
Volker Lendecke [Thu, 17 Jul 2008 11:32:28 +0000 (13:32 +0200)]
Some doxygen comments for idmap
Volker Lendecke [Wed, 16 Jul 2008 16:14:33 +0000 (18:14 +0200)]
Fix prototypes
Volker Lendecke [Wed, 16 Jul 2008 14:51:46 +0000 (16:51 +0200)]
Remove "idmap alloc config : range" parameter
This was overwritten by "idmap uid/gid" anyway. These are now the range
parameters for the alloc backend.