From 9c54c0a1d04ec243f9d118d679f31cd17b35ce6b Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 22 Dec 2011 23:23:02 +0100 Subject: tail: with -f, use polling when a file is on an FS of unknown type Before, we would use inotify in that case, which would work as long as updates were taking place locally, but not at all when remote. Move hard-coded list of known remote FS types into a more maintainable table in stat.c, alongside the list of FS names and magic numbers. Generate a new is_local_fs_type function. * src/Makefile.am (fs-is-local.h): New rule, generated file. * src/extract-magic: Revamp to parse local/remote keyword after each magic number in src/stat.c's case statements. Accept new --local option. * src/.gitignore: Ignore the generated fs-is-local.h. * src/tail.c [HAVE_INOTIFY]: Include fs-is-local.h. (fremote) [HAVE_INOTIFY]: Use the new function in place of the switch stmt with hard-coded list of FS types. Emit a warning when processing a file on a file system of unknown type. * NEWS (Changes in behavior): Mention it. Suggested by Sven Breuner. --- src/.gitignore | 1 + 1 file changed, 1 insertion(+) (limited to 'src/.gitignore') diff --git a/src/.gitignore b/src/.gitignore index d397370d3..d25a8e57b 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -31,6 +31,7 @@ false fmt fold fs.h +fs-is-local.h getlimits ginstall groups -- cgit v1.2.3-54-g00ecf