summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorSteven Danneman <steven.danneman@isilon.com>2009-08-26 16:17:38 -0700
committerSteven Danneman <steven.danneman@isilon.com>2009-08-26 16:34:10 -0700
commit6c55518d471950d8ebaf0df47634116802d6f735 (patch)
treef9041a6b1ad050a921c6fed0a3f767373e8e3f36 /source3/smbd
parentbc4b253b2c793a2fce6614ee7fadf1713f558776 (diff)
downloadsamba-6c55518d471950d8ebaf0df47634116802d6f735.tar.gz
samba-6c55518d471950d8ebaf0df47634116802d6f735.tar.bz2
samba-6c55518d471950d8ebaf0df47634116802d6f735.zip
s3/smbd: open the share_info.tdb on startup instead of tconx
This is a small performance optimization. Instead of opening the tdb on every smb connection in the forked child process, we now open it in the parent and share the fd. This also reduces the total fd usage in the system.
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/server.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index ace3124842..09ad8d8ea5 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1218,6 +1218,15 @@ extern void build_options(bool screen);
return -1;
}
+ /* Open the share_info.tdb here, so we don't have to open
+ after the fork on every single connection. This is a small
+ performance improvment and reduces the total number of system
+ fds used. */
+ if (!share_info_db_init()) {
+ DEBUG(0,("ERROR: failed to load share info db.\n"));
+ exit(1);
+ }
+
/* only start the background queue daemon if we are
running as a daemon -- bad things will happen if
smbd is launched via inetd and we fork a copy of