<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/src/tail.c, branch v8.7</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=v8.7</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=v8.7'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2010-10-25T14:41:53Z</updated>
<entry>
<title>tail: support rechecking currently missing remote dirs</title>
<updated>2010-10-25T14:41:53Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2010-10-24T13:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=c84ddbaa333fc502394941320d3abef2db6889f0'/>
<id>urn:sha1:c84ddbaa333fc502394941320d3abef2db6889f0</id>
<content type='text'>
src/tail.c (main): As an optimization, don't bother checking
for stdin or remote files, when ---disable-inotify is specified.
To improve the fix in commit 61b77891, set the disable_inotify
flag when we fall back to polling, so that we recheck remote files.
NEWS: Mention the fix
</content>
</entry>
<entry>
<title>tail: fix checking of currently unavailable directories</title>
<updated>2010-10-12T10:41:17Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2010-10-12T00:39:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=61b77891c2d9af299063850a0c4d1d721340cfff'/>
<id>urn:sha1:61b77891c2d9af299063850a0c4d1d721340cfff</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): Handle the case where
tail --follow=name with inotify, is not able to add a watch on
a specified directory.  This may happen due to inotify resource
limits or if the directory is currently missing or inaccessible.
In all these cases, revert to polling which will try to reopen
the file later.  Note inotify returns ENOSPC when it runs out
of resources, and instead we report a particular error message,
lest users think one of their file systems is full.
(main): Document another caveat with using inotify, where we
currently don't recheck directories recreated after the
initial watch is setup.
* tests/tail-2/F-vs-rename: Fix the endless loop triggered by
the above issue.
* tests/tail-2/inotify-hash-abuse: Likewise.
* tests/tail-2/wait: Don't fail in the resource exhaustion case.
* tests/tail-2/F-vs-missing: A new test for this failure mode
which was until now just triggered on older buggy linux kernels
which returned ENOSPC constantly from inotify_add_watch().
* NEWS: Mention the fix.
</content>
</entry>
<entry>
<title>maint: adjust INT_BUFSIZE_BOUND usage for maintainability</title>
<updated>2010-06-08T11:16:26Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2010-06-07T05:15:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=9e7edd8467232b5c6b714d588d0e1528cc54151b'/>
<id>urn:sha1:9e7edd8467232b5c6b714d588d0e1528cc54151b</id>
<content type='text'>
* src/tail.c (xlseek): Give INT_BUFSIZE_BOUND a variable name,
not a type name.
* src/ls.c (gobble_file, format_user_or_group_width): Likewise.
* src/head.c (elide_tail_bytes_pipe): Likewise.
(elide_tail_lines_seekable, main): Likewise.
[This change is not complete -- there are doubtless other uses
that can be updated in the same way.]
</content>
</entry>
<entry>
<title>tail: include sys/vfs.h (if possible) when sys/statfs.h is absent</title>
<updated>2010-04-04T07:15:07Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2010-04-04T07:15:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=98dacf492e2e6f2153455cb4179058578cee20ff'/>
<id>urn:sha1:98dacf492e2e6f2153455cb4179058578cee20ff</id>
<content type='text'>
* src/tail.c [HAVE_INOTIFY &amp;&amp; !HAVE_SYS_STATFS_H]: Include &lt;sys/vfs.h&gt;.
</content>
</entry>
<entry>
<title>maint: update all FSF copyright year lists to include 2010</title>
<updated>2010-01-01T13:06:47Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2010-01-01T09:56:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=1aa17dc89b3f313697661541adca0aa0defbdc09'/>
<id>urn:sha1:1aa17dc89b3f313697661541adca0aa0defbdc09</id>
<content type='text'>
Use this command:
git ls-files | grep -v COPYING \
  | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \
      build-aux/update-copyright
</content>
</entry>
<entry>
<title>doc: update tail's documentation to allow for new -F semantics</title>
<updated>2009-12-31T08:42:52Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-30T13:23:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=f428e548e52d76a5ed729a2cba9a05f93dad40d9'/>
<id>urn:sha1:f428e548e52d76a5ed729a2cba9a05f93dad40d9</id>
<content type='text'>
* src/tail.c (usage): Reword tail -F description, so that it no
longer mentions details specific to the non-inotify implementation.
Also, join diagnostic strings (while staying under the 509-byte limit)
to ease formatting of translations.  The latter was prompted by
a report from Stéphane Raimbault.
* doc/coreutils.texi (tail invocation): Update description here, too.
</content>
</entry>
<entry>
<title>tail -F: don't stop following the target of a rename</title>
<updated>2009-12-30T10:22:55Z</updated>
<author>
<name>Giuseppe Scrivano</name>
<email>gscrivano@gnu.org</email>
</author>
<published>2009-12-29T23:20:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=2ead2365e01f8e103ddce6f34558eee3648de5b4'/>
<id>urn:sha1:2ead2365e01f8e103ddce6f34558eee3648de5b4</id>
<content type='text'>
This fixes a bug whereby tail -F would fail to track changes
to a file that was a target of a rename, and when the source of
the rename was another tailed file.

* src/tail.c (tail_forever_inotify): Ensure the wd is not already
present in the hash table before trying to add it.  When a new watch
descriptor is added to the `wd_to_name' hash table, check that it is
not already present.  If it is present then remove the previous element.
</content>
</entry>
<entry>
<title>tail: remove `fdspec' from the hash table before changing its key</title>
<updated>2009-12-29T16:01:01Z</updated>
<author>
<name>Giuseppe Scrivano</name>
<email>gscrivano@gnu.org</email>
</author>
<published>2009-12-29T13:59:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=07f15147eb72e9c60686068ddea9c6c5b1ac62e3'/>
<id>urn:sha1:07f15147eb72e9c60686068ddea9c6c5b1ac62e3</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): Avoid modifying fdspec-&gt;wd while
it is in the wd_to_name hash table.  Once it is removed, it can be
added using the new `wd' as key for the hash table.  This fixes the
abort-inducing bug reported by Rob Wortman in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19372
</content>
</entry>
<entry>
<title>tail: rename an internal variable</title>
<updated>2009-12-29T13:26:05Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-29T13:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=4b2b2711d9f12b991d29755810e090133510f0d2'/>
<id>urn:sha1:4b2b2711d9f12b991d29755810e090133510f0d2</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): s/wd_table/wd_to_name/
</content>
</entry>
<entry>
<title>tail: avoid read-beyond-end-of-buffer error</title>
<updated>2009-12-29T13:24:01Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-29T13:24:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=66b15949df877a75a413ad40e88aa89c3c467d34'/>
<id>urn:sha1:66b15949df877a75a413ad40e88aa89c3c467d34</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): Do not use f[i] in a context
where i may be larger than the largest valid index.  In the final
"if" clause in which we'd remove an inotify watch, we might have
used f[n_files].  Use fspec instead, since it is guaranteed to
be defined.
</content>
</entry>
</feed>
