mirror of https://github.com/k3s-io/k3s
Let ReadLogs return when there is a read error.
parent
3ce49346a7
commit
65190e2a72
|
@ -191,6 +191,7 @@ func ReadLogs(path string, apiOpts *v1.PodLogOptions, stdout, stderr io.Writer)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
glog.Errorf("Failed with err %v when writing log for log file %q: %+v", err, path, msg)
|
glog.Errorf("Failed with err %v when writing log for log file %q: %+v", err, path, msg)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -299,6 +300,9 @@ type logWriter struct {
|
||||||
// errMaximumWrite is returned when all bytes have been written.
|
// errMaximumWrite is returned when all bytes have been written.
|
||||||
var errMaximumWrite = errors.New("maximum write")
|
var errMaximumWrite = errors.New("maximum write")
|
||||||
|
|
||||||
|
// errShortWrite is returned when the message is not fully written.
|
||||||
|
var errShortWrite = errors.New("short write")
|
||||||
|
|
||||||
func newLogWriter(stdout io.Writer, stderr io.Writer, opts *logOptions) *logWriter {
|
func newLogWriter(stdout io.Writer, stderr io.Writer, opts *logOptions) *logWriter {
|
||||||
w := &logWriter{
|
w := &logWriter{
|
||||||
stdout: stdout,
|
stdout: stdout,
|
||||||
|
@ -342,6 +346,10 @@ func (w *logWriter) write(msg *logMessage) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
// If the line has not been fully written, return errShortWrite
|
||||||
|
if n < len(line) {
|
||||||
|
return errShortWrite
|
||||||
|
}
|
||||||
// If there are no more bytes left, return errMaximumWrite
|
// If there are no more bytes left, return errMaximumWrite
|
||||||
if w.remain <= 0 {
|
if w.remain <= 0 {
|
||||||
return errMaximumWrite
|
return errMaximumWrite
|
||||||
|
|
Loading…
Reference in New Issue