Re: [for-next][PATCH 8/8] ktest.pl: Add MAIL_MAX_SIZE to limit the amount of log emailed

From: Steven Rostedt
Date: Thu Jul 02 2020 - 08:58:55 EST


On Thu, 2 Jul 2020 14:34:02 +0200
Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

> > I can add an option to do that if you want. My full logs end up being a
> > few hundred megabytes. Perhaps I could add a compress option too.
>
> It's fine, the default should be good enough for me for now. If not,
> I'll just bump the value, or add compression.

If we compress, it would need to be an attachment. I'm guessing you are
fine with that. Do you already make it an attachment?

BTW, my test just failed and for some reason it created a 13162697 byte
log file to include in my email, which failed to send :-p

Strange that it did that, as I had the max set to 950000. Thus, I've
changed this code to be:

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 917810fa4c85..9363a5b27339 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -1499,18 +1499,21 @@ sub dodie {
my $log_file;

if (defined($opt{"LOG_FILE"})) {
- my $size = 0;
+ my $whence = 0; # beginning of file
+ my $pos = $test_log_start;
+
if (defined($mail_max_size)) {
my $log_size = tell LOG;
$log_size -= $test_log_start;
if ($log_size > $mail_max_size) {
- $size = $log_size - $mail_max_size;
+ $whence = 2; # end of file
+ $pos = - $mail_max_size;
}
}
$log_file = "$tmpdir/log";
open (L, "$opt{LOG_FILE}") or die "Can't open $opt{LOG_FILE} to read)";
open (O, "> $tmpdir/log") or die "Can't open $tmpdir/log\n";
- seek(L, $test_log_start + $size, 0);
+ seek(L, $pos, $whence);
while (<L>) {
print O;
}

Let's see if this now limits it :-/

-- Steve