diff options
author | Paul Holzinger <paul.holzinger@web.de> | 2020-08-05 14:12:55 +0200 |
---|---|---|
committer | Paul Holzinger <paul.holzinger@web.de> | 2020-08-06 20:56:30 +0200 |
commit | 2c79f9929d2434c34205efc1603d51670ed0f763 (patch) | |
tree | 83f73167d94b36532519580cda7da6e4572f5489 /libpod | |
parent | 47971909ae7a54c3a0b0fe4ebe33197c9e291657 (diff) | |
download | podman-2c79f9929d2434c34205efc1603d51670ed0f763.tar.gz podman-2c79f9929d2434c34205efc1603d51670ed0f763.tar.bz2 podman-2c79f9929d2434c34205efc1603d51670ed0f763.zip |
fix podman logs --tail when log is bigger than pagesize
Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/logs/log.go | 12 | ||||
-rw-r--r-- | libpod/logs/reversereader/reversereader.go | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/libpod/logs/log.go b/libpod/logs/log.go index c2545e188..a9554088b 100644 --- a/libpod/logs/log.go +++ b/libpod/logs/log.go @@ -101,11 +101,14 @@ func getTailLog(path string, tail int) ([]*LogLine, error) { if err != nil { if errors.Cause(err) == io.EOF { inputs <- []string{leftover} - close(inputs) - break + } else { + logrus.Error(err) } - logrus.Error(err) close(inputs) + if err := f.Close(); err != nil { + logrus.Error(err) + } + break } line := strings.Split(s+leftover, "\n") if len(line) > 1 { @@ -136,9 +139,6 @@ func getTailLog(path string, tail int) ([]*LogLine, error) { } // if we have enough loglines, we can hangup if nllCounter >= tail { - if err := f.Close(); err != nil { - logrus.Error(err) - } break } } diff --git a/libpod/logs/reversereader/reversereader.go b/libpod/logs/reversereader/reversereader.go index 72d9ad975..4fa1a3f88 100644 --- a/libpod/logs/reversereader/reversereader.go +++ b/libpod/logs/reversereader/reversereader.go @@ -60,7 +60,7 @@ func (r *ReverseReader) Read() (string, error) { if int64(n) < r.readSize { b = b[0:n] } - // Set to the next page boundary - r.offset = -r.readSize + // Move the offset one pagesize up + r.offset -= r.readSize return string(b), nil } |