Comment 2 for bug 908354

Revision history for this message
Jim Meyering (meyering) wrote : Re: [Bug 908354] [NEW] tail -0f /var/log/kern.log never prints anything (livecd cow overlayfs)

Tuomas Heino wrote:
> Public bug reported:
>
> Doing tail -f on /var/log/kern.log (which gets appended every 10 seconds) does not print anyting.
> May be an issue with the livecd / how overlayfs works. In any case tail should at least complain if underlaying fs does not properly support whatever -f needs to work (inotify below?):
>
> open("/var/log/kern.log", O_RDONLY) = 3
> fstat(3, {st_mode=S_IFREG|0640, st_size=10956666, ...}) = 0
> lseek(3, 0, SEEK_CUR) = 0
> lseek(3, 0, SEEK_END) = 10956666
> fstat(3, {st_mode=S_IFREG|0640, st_size=10956666, ...}) = 0
> fstatfs(3, {f_type=0x1021994, f_bsize=4096, f_blocks=2042790, f_bfree=2003669, f_bavail=2003669, f_files=2042790, f_ffree=2041029, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
> inotify_init() = 4
> inotify_add_watch(4, "/var/log/kern.log", IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = 1
> fstat(3, {st_mode=S_IFREG|0640, st_size=10956666, ...}) = 0
> read(4,

Thanks for the report.
In upstream coreutils development I've just made a change to fix that:
if the type of FS is unknown, it uses polling rather than inotify.

What does this print for that system?

    $ stat -f --format %t:%T /var/log

If it is a new non-local file system type, then we should add it
to stat.c's table.

In the mean time, you can use tail's deliberately undocumented
---disable-inotify option.