From 42623fc60b8bfd866f01b0592d2005a53e35a4b1 Mon Sep 17 00:00:00 2001 From: zhoutianlian Date: Mon, 26 Sep 2022 07:15:42 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20earliest=5Fidx=20=E4=B8=BA?= =?UTF-8?q?=E8=B4=9F=E7=9A=84=E5=9C=BA=E6=99=AF=E4=B8=8B=EF=BC=8Cpgaudit?= =?UTF-8?q?=5Ftotalspace=E7=9A=84=E8=AE=A1=E7=AE=97=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhoutianlian --- src/gausskernel/process/postmaster/pgaudit.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gausskernel/process/postmaster/pgaudit.cpp b/src/gausskernel/process/postmaster/pgaudit.cpp index 537b3d1d3..86254322f 100755 --- a/src/gausskernel/process/postmaster/pgaudit.cpp +++ b/src/gausskernel/process/postmaster/pgaudit.cpp @@ -2422,11 +2422,17 @@ static void pgaudit_indextbl_init_new(void) } /* audit threads are writing files in range [earliest_idx, latest_idx) */ - uint32 earliest_idx = g_instance.audit_cxt.audit_indextbl->latest_idx - g_instance.audit_cxt.thread_num; - + uint32 earliest_idx = 0; + if (g_instance.audit_cxt.audit_indextbl->latest_idx >= g_instance.audit_cxt.thread_num) { + earliest_idx = g_instance.audit_cxt.audit_indextbl->latest_idx - g_instance.audit_cxt.thread_num; + index = g_instance.audit_cxt.audit_indextbl->begidx; + } else { + earliest_idx = g_instance.audit_cxt.audit_indextbl->maxnum + g_instance.audit_cxt.audit_indextbl->latest_idx - + g_instance.audit_cxt.thread_num; + index = g_instance.audit_cxt.audit_indextbl->latest_idx; + } /* calculate total space of all audit files */ g_instance.audit_cxt.pgaudit_totalspace = 0; - index = g_instance.audit_cxt.audit_indextbl->begidx; do { item = g_instance.audit_cxt.audit_indextbl->data + index; g_instance.audit_cxt.pgaudit_totalspace += item->filesize;