David Disseldorp | 25 Nov 22:22 2014

[PATCH 1/2] srv_srvsvc_nt: remove unneeded get_share_params() call

The snum and share name are already determined via the prior
find_service() call.

Signed-off-by: David Disseldorp <ddiss <at> samba.org>
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
index eaa70e7..5c26f15 100644
--- a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
 <at>  <at>  -2143,7 +2143,6  <at>  <at>  WERROR _srvsvc_NetShareDel(struct pipes_struct *p,
 	int ret;
 	int snum;
 	bool is_disk_op;
-	struct share_params *params;
 	TALLOC_CTX *ctx = p->mem_ctx;

 	DEBUG(5,("_srvsvc_NetShareDel: %d\n", __LINE__));
 <at>  <at>  -2168,10 +2167,6  <at>  <at>  WERROR _srvsvc_NetShareDel(struct pipes_struct *p,

-	if (!(params = get_share_params(p->mem_ctx, share_name))) {
-	}
 	/* No change to printer shares. */
 	if (lp_printable(snum))
(Continue reading)

Richard Sharpe | 25 Nov 21:09 2014


On Tue, Nov 25, 2014 at 10:40 AM, Min Wai Chan <dcmwai <at> gmail.com> wrote:
> Dear All,
> What fail...
> Both CTDB will start non-stop recovery...
> When there is only one node, it is still working
> but not on both node...

This appears to be the problem:

2014/11/26 02:18:26.363173 [recoverd: 9883]: ctdb_control error:
'managed to lock reclock file from inside daemon'
2014/11/26 02:18:26.363257 [recoverd: 9883]: ctdb_control error:
'managed to lock reclock file from inside daemon'
2014/11/26 02:18:26.363292 [recoverd: 9883]: Async operation failed
with ret=-1 res=-1 opcode=16
2014/11/26 02:18:26.363315 [recoverd: 9883]: Async wait failed - fail_count=1
2014/11/26 02:18:26.363334 [recoverd: 9883]:
server/ctdb_recoverd.c:393 Unable to set recovery mode. Recovery

Something is going wrong with locking.


Richard Sharpe

(Continue reading)

Volker Lendecke | 24 Nov 16:11 2014

[PATCH] current notify work


Attached find my current patch series for the new messaging
based notify infrastructure. A lot of those patches are
preparatory and already carry a Signed-off-by me. I'd
appreciate if someone took the time to take a look and
potentially push some of them.

The big one is patch 35. It adds the notify daemon as a
tevent_req based engine that can be forked or run as part of
any tevent loop with a messaging context.

If you take a look at the "+" lines of patch 39 you see why
I'm doing this: All the hard work in notify_trigger is
replaced with one single messaging_send_iov call which boils
down to one single sendmsg call to the notify daemon. In
particular in a cluster environment the dbwrap_parse calls
really, really hurt performance.

Also we use just one single inotify listener inside the
notify daemon, the individual smbds don't do that anymore.
The architecture is such that we get clusterwide notifies
working correctly cross-protocol. I'm not aware of a cluster
file system giving us clusterwide inotify, but with this
code you can smb-mount on node a, nfs mount on node b, and a
new file coming in via nfs shows up on the smb-mount via

It would be trivial to add a simple protocol listener
available for NFS servers to enable recursive notifies
(Continue reading)

Volker Lendecke | 25 Nov 12:56 2014

[PATCH] fix unix_msg.h define


I'd appreciate review&push!



SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt <at> sernet.de
From 6fba6d1c09298d2eaf6803a1a3f8b969554d9b8a Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl <at> samba.org>
Date: Tue, 25 Nov 2014 12:55:26 +0100
Subject: [PATCH] lib: Fix header include protection #define

Signed-off-by: Volker Lendecke <vl <at> samba.org>
 source3/lib/unix_msg/unix_msg.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/source3/lib/unix_msg/unix_msg.h b/source3/lib/unix_msg/unix_msg.h
index 56f7a40..83d7067 100644
--- a/source3/lib/unix_msg/unix_msg.h
+++ b/source3/lib/unix_msg/unix_msg.h
 <at>  <at>  -16,8 +16,8  <at>  <at> 
(Continue reading)

Richard Sharpe | 24 Nov 22:45 2014

Having problems understanding CTDB's election process

Hi folks,

I am trying to work my way through the CTDB code to figure out how
elections work.

When the first ctdb node comes up, it will start the recoverd (which
always starts with recmaster = -1) which will call force_election.
This then sets the current node to the recovery master (via
set_recovery_mode and then sends an election request. Since there are
no other nodes at this stage, no one else will challenge us for the
position of recovery master.

However, what I can't tell from the briar patch that is CTDB, is how
do_recovery gets called or if it needs to be called when the first
CTDB node starts.

Can anyone enlighten me?


Richard Sharpe

Andreas Schneider | 24 Nov 17:46 2014

[PATCH] s3-smbstatus: Fix exit code of profile output.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=10961

Signed-off-by: Andreas Schneider <asn <at> samba.org>
 source3/utils/status.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/source3/utils/status.c b/source3/utils/status.c
index 64c2a93..4e1dae7 100644
--- a/source3/utils/status.c
+++ b/source3/utils/status.c
 <at>  <at>  -364,6 +364,7  <at>  <at>  int main(int argc, const char *argv[])
 	int ret = 0;
 	struct messaging_context *msg_ctx;
 	char *db_path;
+	bool ok;

 <at>  <at>  -463,10 +464,12  <at>  <at>  int main(int argc, const char *argv[])
 	switch (profile_only) {
 		case 'P':
 			/* Dump profile data */
-			return status_profile_dump(verbose);
+			ok = status_profile_dump(verbose);
+			return ok ? 0 : 1;
 		case 'R':
 			/* Continuously display rate-converted data */
-			return status_profile_rates(verbose);
+			ok = status_profile_rates(verbose);
(Continue reading)

Volker Lendecke | 24 Nov 16:33 2014

[PATCH] fix local-messaging-read4 on FreeBSD


I'd appreciate review&push.



SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt <at> sernet.de
From fb2a290c44947d8dee846288ae6330db7587cc2d Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl <at> samba.org>
Date: Mon, 24 Nov 2014 16:27:39 +0100
Subject: [PATCH 1/2] unix_msg: Reformat unix_dgram_send a bit

This makes the next commit a bit more readable

Signed-off-by: Volker Lendecke <vl <at> samba.org>
 source3/lib/unix_msg/unix_msg.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/source3/lib/unix_msg/unix_msg.c b/source3/lib/unix_msg/unix_msg.c
index 00ac7f5..9641bff 100644
--- a/source3/lib/unix_msg/unix_msg.c
(Continue reading)

Andreas Schneider | 24 Nov 16:26 2014

[PATCH] smbclient -L //dns.domain.name fails


doing 'smbclient -L //win2008.dns.domain.name' fails in Samba 4.x. It
worked before in Samba 3.6 returning success.

asn <at> samba:~/workspace/projects/samba/git> bin/smbclient -L discworlddomain.discworld.site
-Ujoe1%secret; echo "RETURN VALUE: $?"
Domain=[DISCWORLD] OS=[Windows Server 2008 R2 Enterprise 7601 Service Pack 1] Server=[Windows Server
2008 R2 Enterprise 6.1]

        Sharename       Type      Comment
        ---------       ----      -------
        ADMIN$          Disk      Remote Admin
        C$              Disk      Default share
        IPC$            IPC       Remote IPC
        NETLOGON        Disk      Logon server share 
        public          Disk      
        SYSVOL          Disk      Logon server share 
        test            Disk      
Connection to discworlddomain.discworld.site failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available

As you can see above the shares are correclty listed but the return value of
the executable indicates a failure. The following patches return 0 instead.


Andreas Schneider (1):
  s3-smbclient: Return success if we listed the shares.
(Continue reading)

Volker Lendecke | 24 Nov 15:55 2014

[PATCH] Fix 2 clang warnings


I'd appreciate review&push!



SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt <at> sernet.de
From 06161d210a6540f836f2e793ce2d352b8cad55bd Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl <at> samba.org>
Date: Mon, 24 Nov 2014 14:34:24 +0100
Subject: [PATCH 1/2] dsdb: Remove a self-assignment

Signed-off-by: Volker Lendecke <vl <at> samba.org>
 source4/dsdb/samdb/ldb_modules/dirsync.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/source4/dsdb/samdb/ldb_modules/dirsync.c b/source4/dsdb/samdb/ldb_modules/dirsync.c
index c93189e..b5510ec 100644
--- a/source4/dsdb/samdb/ldb_modules/dirsync.c
+++ b/source4/dsdb/samdb/ldb_modules/dirsync.c
 <at>  <at>  -571,7 +571,6  <at>  <at>  skip:
(Continue reading)

Denis Cardon | 22 Nov 18:49 2014

ldbedit and backllinked attributes computation

Hi all,

lately I have been doing some more DC/RODC ldap cleansing. In one RODC I 
had one reference to an old DC in the msDS-IsFullReplicaFor on the 
dc=ForestDnsZones,dc=mydomain,dc=local entry (a demoted DC with the 
\0ADEL flag). I saw this discrepancy throught the ldapcmp utility, the 
source DC is clean (after some work), but it seems like it was not 
properly propataged to the RODC for some reasons.

I realise it would be simpler to just re-join the RODC or try a 
--sync-force, but I thought it was a good opportunity to look deeper in 
the subject before doing a full resync.

Since this msDS-IsFullReplicaFor attribute is back link for 
msDS-hasFullReplicaNCs, ApacheDirectoryStudio or ldbedit don't want to 
delete the msDS-IsFullReplicaFor attribute, which if sounds like normal 

If I just delete the \0DEL entry with ldbdel, the backlink is not 
updated, even after a restart. So my question is how and when are 
triggered the backlink computation?




Denis Cardon
Tranquil IT Systems
Les Espaces Jules Verne, bâtiment A
(Continue reading)

Christof Schmitt | 21 Nov 22:52 2014

[PATCH] debug: Print header when logging to stdout

This patch changes the debug code, so that the header is always printed.
I find this useful for debugging interactive commands with -d10. Always
having the debug header in the output would also make the explicit
function name in the debug message obsolete.

I assume that there is a historical reason for the behavior in the debug
code; does anybody know why the debug code behaves differently for
stdout and logging to a file?

From c3f9fcde891dcfb41468292d99f6ee112c149d6c Mon Sep 17 00:00:00 2001
From: Christof Schmitt <cs <at> samba.org>
Date: Fri, 21 Nov 2014 14:44:38 -0700
Subject: [PATCH] debug: Print header when logging to stdout

Having the source line of the error messages helps debugging interactive

Signed-off-by: Christof Schmitt <cs <at> samba.org>
 lib/util/debug.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/lib/util/debug.c b/lib/util/debug.c
index 750ad25..31a203b 100644
--- a/lib/util/debug.c
+++ b/lib/util/debug.c
 <at>  <at>  -969,11 +969,6  <at>  <at>  bool dbghdrclass(int level, int cls, const char *location, const char *func)
(Continue reading)