[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Fri May 3 06:49:03 MDT 2013


The branch, master has been updated
       via  0a29101 idmap: Store negative cache entries if the backend fails
       via  1966e28 idmap: Print error from idmap_backends_unixid_to_sid
      from  5f82641 libsmb: Use sizeof instead of explicit numbers

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0a2910152aaafa1c7d484f8a0ade869d7962d4e3
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 3 10:28:59 2013 +0000

    idmap: Store negative cache entries if the backend fails
    
    This changes the behaviour for out-of-range queries: The tdb backend
    (probably all backends) returns NT_STATUS_NONE_MAPPED and does not set the
    map.status value to ID_UNMAPPED. This means that we did an early error
    exit, not setting a negative cache value. This makes smbd ask winbind
    over and over again for out-of-range gids, which can be a performance
    problem in certain scenarios.
    
    The new code makes us fall through to the code setting the negative
    cache entry in all cases.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>
    
    Autobuild-User(master): Michael Adam <obnox at samba.org>
    Autobuild-Date(master): Fri May  3 14:48:35 CEST 2013 on sn-devel-104

commit 1966e28d157da3ef561a6e760eb4736e917fdd81
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 3 10:24:17 2013 +0000

    idmap: Print error from idmap_backends_unixid_to_sid
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/winbindd/idmap_util.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/idmap_util.c b/source3/winbindd/idmap_util.c
index a068298..e671acf 100644
--- a/source3/winbindd/idmap_util.c
+++ b/source3/winbindd/idmap_util.c
@@ -68,8 +68,9 @@ backend:
 
 	ret = idmap_backends_unixid_to_sid(domname, &map);
 	if ( ! NT_STATUS_IS_OK(ret)) {
-		DEBUG(10, ("error mapping uid [%lu]\n", (unsigned long)uid));
-		return ret;
+		DEBUG(10, ("error mapping uid [%lu]: %s\n", (unsigned long)uid,
+			   nt_errstr(ret)));
+		map.status = ID_UNMAPPED;
 	}
 
 	if (map.status != ID_MAPPED) {
@@ -131,8 +132,9 @@ backend:
 
 	ret = idmap_backends_unixid_to_sid(domname, &map);
 	if ( ! NT_STATUS_IS_OK(ret)) {
-		DEBUG(10, ("error mapping gid [%lu]\n", (unsigned long)gid));
-		return ret;
+		DEBUG(10, ("error mapping gid [%lu]: %s\n", (unsigned long)gid,
+			   nt_errstr(ret)));
+		map.status = ID_UNMAPPED;
 	}
 
 	if (map.status != ID_MAPPED) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list