diff options
author | Jeremy Allison <jra@samba.org> | 2001-11-30 01:59:03 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-11-30 01:59:03 +0000 |
commit | 9e88a7ebe9b37d642241f404fb4867ee0239cf6f (patch) | |
tree | c3a9558080cd6540abae8931ce8ef2c341c05c79 /source3/rpc_server/srv_spoolss_nt.c | |
parent | 7a83ae0d5e9cf148872321fb59bb4483740673c5 (diff) | |
download | samba-9e88a7ebe9b37d642241f404fb4867ee0239cf6f.tar.gz samba-9e88a7ebe9b37d642241f404fb4867ee0239cf6f.tar.bz2 samba-9e88a7ebe9b37d642241f404fb4867ee0239cf6f.zip |
After conversations with Andrew, improved the robustness of the
sharemode db in the following way.
Originally, on startup and shutdown, smbd would scan the share mode
db to ensure it was correct. This lead to scalability issues as
scans lock the db for quite a long time. Andrew had the brainstorm
that we only care about the record we're about to read.
This new code (small change really, but quite significant) causes
get_share_modes() to do a process_exists() call against each pid
in each record, and to delete any that don't and re-write the
entry if any dead records were detected.
This allowed me to remove the startup/shutdown scans of the
db (they can be added into smbstatus if anyone really cares to
have them back). This will please the vfs author who was worried
about the time taken on open() calls, and will lead to much
greater robustness and scalability in the share mode db.
We need much testing of this, and also netbench tests to
ensure the extra process_exists() calls don't hurt performance
(they shouldn't it's a very simple system call).
Jeremy.
(This used to be commit 4098d442030e66601450baeb09ae06b39a1ab571)
Diffstat (limited to 'source3/rpc_server/srv_spoolss_nt.c')
0 files changed, 0 insertions, 0 deletions