smbd: only reprocess printer_list.tdb if it changed
authorDavid Disseldorp <ddiss@samba.org>
Wed, 23 Jul 2014 12:42:00 +0000 (14:42 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 8 Aug 2014 12:10:39 +0000 (14:10 +0200)
commita2182e03a061de6c1f111ce083cb5f668fe75e4e
tree78f3e088a16bf443ba0b39c96f9dbe7dc1d3dcfb
parent30ce835670a6aeca6fb960ea7c4fe1b982bdd5b0
smbd: only reprocess printer_list.tdb if it changed

The per-client smbd printer share inventory is currently updated from
printer_list.tdb when a client enumerates printers, via EnumPrinters or
NetShareEnum.
printer_list.tdb is populated by the background print process, based on
the latest printcap values retrieved from the printing backend (e.g.
CUPS) at regular intervals.
This change ensures that per-client smbd processes don't reparse
printer_list.tdb if it hasn't been updated since the last enumeration.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10652

Suggested-by: Volker Lendecke <vl@samba.org>
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/smbd/server_reload.c