The Samba-Bugzilla – Attachment 6673 Details for
Bug 8293
SMB2 doesn't rotate the log files often enough.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
git-am fix for 3.6.0
0001-Fix-bug-8293-SMB2-doesn-t-rotate-the-log-files-often.patch (text/plain), 2.84 KB, created by
Jeremy Allison
on 2011-07-07 22:37:50 UTC
(
hide
)
Description:
git-am fix for 3.6.0
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2011-07-07 22:37:50 UTC
Size:
2.84 KB
patch
obsolete
>From 1b58d90008bcb4d0f58524867957af5e12ac1f2f Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Thu, 7 Jul 2011 14:59:41 -0700 >Subject: [PATCH] Fix bug #8293 - SMB2 doesn't rotate the log files often enough. > >Move the num_requests field out of the smb1 struct into the generic >struct smbd_server_connection struct. Use it to count SMB2 requests >as well as SMB1 and ensure that check_log_size() is called every 50 >SMB2 requests. >--- > source3/smbd/globals.h | 3 ++- > source3/smbd/process.c | 4 ++-- > source3/smbd/smb2_server.c | 17 +++++++++++++++++ > 3 files changed, 21 insertions(+), 3 deletions(-) > >diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h >index 51ea367..a98936a 100644 >--- a/source3/smbd/globals.h >+++ b/source3/smbd/globals.h >@@ -483,6 +483,8 @@ struct smbd_server_connection { > int dirhandles_open; > } searches; > >+ uint64_t num_requests; >+ > struct { > struct fd_event *fde; > >@@ -510,7 +512,6 @@ struct smbd_server_connection { > int ref_count; > } echo_handler; > >- uint64_t num_requests; > struct { > bool encrypted_passwords; > bool spnego; >diff --git a/source3/smbd/process.c b/source3/smbd/process.c >index ca52626..339d005 100644 >--- a/source3/smbd/process.c >+++ b/source3/smbd/process.c >@@ -1621,7 +1621,7 @@ static void process_smb(struct smbd_server_connection *sconn, > sconn->trans_num++; > > done: >- sconn->smb1.num_requests++; >+ sconn->num_requests++; > > /* The timeout_processing function isn't run nearly > often enough to implement 'max log size' without >@@ -1630,7 +1630,7 @@ done: > level 10. Checking every 50 SMBs is a nice > tradeoff of performance vs log file size overrun. */ > >- if ((sconn->smb1.num_requests % 50) == 0 && >+ if ((sconn->num_requests % 50) == 0 && > need_to_check_log_size()) { > change_to_root_user(); > check_log_size(); >diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c >index 90f4767..5882572 100644 >--- a/source3/smbd/smb2_server.c >+++ b/source3/smbd/smb2_server.c >@@ -2234,6 +2234,8 @@ void smbd_smb2_first_negprot(struct smbd_server_connection *sconn, > return; > } > tevent_req_set_callback(subreq, smbd_smb2_request_incoming, sconn); >+ >+ sconn->num_requests++; > } > > static void smbd_smb2_request_incoming(struct tevent_req *subreq) >@@ -2290,4 +2292,19 @@ next: > return; > } > tevent_req_set_callback(subreq, smbd_smb2_request_incoming, sconn); >+ >+ sconn->num_requests++; >+ >+ /* The timeout_processing function isn't run nearly >+ often enough to implement 'max log size' without >+ overrunning the size of the file by many megabytes. >+ This is especially true if we are running at debug >+ level 10. Checking every 50 SMB2s is a nice >+ tradeoff of performance vs log file size overrun. */ >+ >+ if ((sconn->num_requests % 50) == 0 && >+ need_to_check_log_size()) { >+ change_to_root_user(); >+ check_log_size(); >+ } > } >-- >1.7.3.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
metze
:
review+
Actions:
View
Attachments on
bug 8293
: 6673