1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00
samba-mirror/source3/printing
Jeremy Allison cd655715b8 s3: printing: Fix problem with server taking too long to respond to a MSG_PRINTER_DRVUPGRADE message.
Receiving a MSG_PRINTER_DRVUPGRADE causes
smbd to iterate over all printers looking
for ones that uses the driver. This is a very
expensive operation requiring a read of all
registry printer parameters.

On a system with a large number of printers,
this causes the clients to timeout (smbd
can take longer than 60 seconds to respond).

This patch fixes the problem by forwarding
the MSG_PRINTER_DRVUPGRADE to the background
lpq queue updater process and allowing it to
take care of the updating of the changeid
in the registry, allowing the smbd connected
to the client to return to processing requests
immediately.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Feb 18 17:48:30 CET 2014 on sn-devel-104
2014-02-18 17:48:30 +01:00
..
tests s3-printing: use euid for vlp job tracking 2012-06-26 16:10:39 +02:00
load.c loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *. 2012-07-18 15:07:23 +09:30
load.h
lpq_parse.c Correctly check for errors in strlower_m() returns. 2012-08-09 12:08:18 -07:00
notify.c loadparm: rename lp[cfg]_print_ok to lp[cfg]_printable for consistency with docs 2014-02-03 13:27:15 +13:00
notify.h
nt_printing_ads.c loadparm: rename lp[cfg]_print_ok to lp[cfg]_printable for consistency with docs 2014-02-03 13:27:15 +13:00
nt_printing_migrate_internal.c s3-rpc_cli: pass down ndr_interface_table to rpc_pipe_open_interface(). 2013-08-05 10:29:59 +02:00
nt_printing_migrate_internal.h s3-printing: split out printing migration code into a smaller library. 2011-07-01 16:46:26 +02:00
nt_printing_migrate.c s3-net: Add encoding=<CP> to 'net printing migrate'. 2013-03-15 12:11:03 +01:00
nt_printing_migrate.h s3-net: Add encoding=<CP> to 'net printing migrate'. 2013-03-15 12:11:03 +01:00
nt_printing_os2.c loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *. 2012-07-18 15:07:23 +09:30
nt_printing_os2.h s3-printing: move os2 related functions to printing/nt_printing_os2.c. 2011-07-07 18:06:01 +02:00
nt_printing_tdb.c Correctly check for errors in strlower_m() returns. 2012-08-09 12:08:18 -07:00
nt_printing_tdb.h
nt_printing.c s3: printing: Fix problem with server taking too long to respond to a MSG_PRINTER_DRVUPGRADE message. 2014-02-18 17:48:30 +01:00
pcap.c s3: Fix typos 2011-12-08 12:05:54 +01:00
pcap.h
print_aix.c
print_cups.c s3:printing: s/event_add_fd/tevent_add_fd and s/EVENT_FD_/TEVENT_FD_ 2013-02-19 23:48:01 +01:00
print_generic.c param: rename lp function and variable from "queueresumecommand" to "queueresume_command" 2014-02-07 16:19:14 -08:00
print_iprint.c Fix incorrect use of server as a talloc context. 2012-07-24 00:09:46 +02:00
print_standard.c
print_svid.c
printer_list.c dbwrap: add a dbwrap_flags argument to db_open() 2014-02-07 16:06:06 +01:00
printer_list.h
printing_db.c lib/util: Remove obsolete sys_getpid() and sys_fork(). 2012-03-24 21:55:40 +01:00
printing.c param: rename lp function and variable from "minprintspace" to "min_print_space" 2014-02-07 16:19:16 -08:00
printspoolss.c loadparm: rename lp[cfg]_pathname to lp[cfg]_path for consistency with docs 2014-02-03 13:26:13 +13:00
queue_process.c s3: printing: Fix problem with server taking too long to respond to a MSG_PRINTER_DRVUPGRADE message. 2014-02-18 17:48:30 +01:00
queue_process.h s3-printing: Allow bq process to have own logfile 2011-08-10 18:14:05 +02:00
spoolssd.c s3:printing fix a compiler warning 2013-12-12 14:21:27 -08:00