Subject: tail -f gives misleading error message when inotify limit is reached

From: Bram Neijt <[email-masked]>
Date: Mon, 10 Jan 2011 12:20:00 +0100

Dear developers,

When tail -f has inotify enabled and hits the max_user_watches limit
of inotify, the resulting error message is very misleading.

To reproduce:
1) Make sure you will hit the limit if you try another inotify request
    sudo sh -c 'echo 10 > /proc/sys/fs/inotify/max_user_watches'
2) Create a file:
    touch /tmp/hello
3) Follow it:
    tail -f /tmp/hello

Result:
tail: cannot watch `/tmp/hello': No space left on device

Expected result:
tail: cannot watch '/tmp/hello' because inotify reported: No space
left on device

It can be verified by using strace tail -f /tmp/hello:
inotify_add_watch(4, "/tmp/hello",
IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = -1 ENOSPC (No space
left on device)

I've also submitted this bug to launchpad for easier tracking at
https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/700958

Greetings,

Bram Neijt