tail: fix -f to follow changes after a rename
commitd313a0b24234d3366ec263111469f219f5b4634f
authorStephane Chazelas <stephane.chazelas@gmail.com>
Tue, 3 Feb 2015 21:22:06 +0000 (3 21:22 +0000)
committerPádraig Brady <P@draigBrady.com>
Tue, 31 Mar 2015 10:55:32 +0000 (31 11:55 +0100)
tree60f0b5c02f43a38060ee21933c06aae4d2361d74
parent52209ee547476aba6827848705cfa15484df78bd
tail: fix -f to follow changes after a rename

* src/tail.c (tail_forever_inotify): Only monitor write()s and
truncate()s to files in --follow=descriptor mode, thus avoiding
the bug where we removed the watch on renamed files.
Also adjust the inotify event processing code that is
now significant only in --follow=name mode.
* tests/tail-2/F-vs-rename.sh: Improve this existing test by running
in both polling and inotify modes.
* tests/tail-2/f-vs-rename.sh: A new test based on the existing one.
* tests/local.mk: Reference the new test.
* NEWS: Mention the bug.
Fixes http://bugs.gnu.org/19760
NEWS
src/tail.c
tests/local.mk
tests/tail-2/F-vs-rename.sh
tests/tail-2/f-vs-rename.sh [new file with mode: 0755]