mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
46833ee1c3
If mount fails, the reason might be right there in the kernel log ring buffer. Let's include it in the error message, it might be of great help. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
20 lines
399 B
Go
20 lines
399 B
Go
// +build linux
|
|
|
|
package dmesg
|
|
|
|
import (
|
|
"unsafe"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
// Dmesg returns last messages from the kernel log, up to size bytes
|
|
func Dmesg(size int) []byte {
|
|
t := uintptr(3) // SYSLOG_ACTION_READ_ALL
|
|
b := make([]byte, size)
|
|
amt, _, err := unix.Syscall(unix.SYS_SYSLOG, t, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)))
|
|
if err != 0 {
|
|
return []byte{}
|
|
}
|
|
return b[:amt]
|
|
}
|