Subject: Re: bug#13172: tail: unrecognized file system type

From: Bernhard Voelker <[email-masked]>
Date: Fri, 14 Dec 2012 10:18:34 +0100

On 12/13/2012 02:37 PM, coni wrote:
> Hi i've got a warning message in tail command:
> "tail -f /vc/log/apache2/access_log" - report to bug.
>  
> tail (GNU coreutils) 8.20
>  Packaged by Gentoo (8.20 (p1.0))
>  
> - file system type ceph
>  
> message:
>  
> tail: unrecognized file system type 0x00c36400 for '/vc/log/apache2/access_log'.
> please report this to [email-masked]. reverting to polling
>  
> Regards:
> Conrad.

Thanks for the report.

As a distributed network file system, CEPH seems to be a "remote"
file system, i.e. not supporting inotify.

Conrad, would you mind giving us your full name, so that we can
mention it correctly in THANKS.in?

Here comes the patch.

Have a nice day,
Berny

>From 5997134899c9abd5efd635a446fb1a3975483a82 Mon Sep 17 00:00:00 2001
From: Bernhard Voelker <[email-masked]>
Date: Fri, 14 Dec 2012 10:11:51 +0100
Subject: [PATCH] tail,stat: improve support for the ceph file system

Teach tail -f that it must use polling on ceph file systems, and
let stat -f --format=%T report the file system type name, "ceph".
Website: http://ceph.com/

* src/stat.c (human_fstype): Add a case: ceph, 0x00c36400, remote.
* NEWS (Improvements): Mention it.
* THANKS.in: Update.
Reported by Conrad <[email-masked]> in http://bugs.gnu.org/13172.
---
 NEWS       |    6 ++++++
 THANKS.in  |    1 +
 src/stat.c |    2 ++
 3 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/NEWS b/NEWS
index e22d3a9..1ee2c17 100644
--- a/NEWS
+++ b/NEWS
@@ -59,6 +59,12 @@ GNU coreutils NEWS                                    -*- outline -*-
   nl no longer supports the --page-increment option which was deprecated
   since coreutils-7.5.  Use --line-increment instead.

+** Improvements
+
+  stat and tail now know about CEPH.  stat -f --format=%T now reports the file
+  system type, and tail -f uses polling for files on CEPH file systems.
+
+
 ** Build-related

   Perl is now more of a prerequisite.  It has long been required in order
diff --git a/THANKS.in b/THANKS.in
index f0ef9b8..802e52d 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -129,6 +129,7 @@ Clark Morgan                        [email-masked]
 Clement Wang                        [email-masked]
 Colin Plumb                         [email-masked]
 Collin Rogowski                     [email-masked]
+Conrad ??                           [email-masked]
 Cray-Cyber Project                  http://www.cray-cyber.org
 Cristian Cadar                      [email-masked]
 Cyril Bouthors                      [email-masked]
diff --git a/src/stat.c b/src/stat.c
index 51f4b90..6283566 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -266,6 +266,8 @@ human_fstype (STRUCT_STATVFS const *statfsbuf)
       return "binfmt_misc";
     case S_MAGIC_BTRFS: /* 0x9123683E local */
       return "btrfs";
+    case S_MAGIC_CEPH: /* 0x00c36400 remote */
+      return "ceph";
     case S_MAGIC_CGROUP: /* 0x0027E0EB local */
       return "cgroupfs";
     case S_MAGIC_CIFS: /* 0xFF534D42 remote */
-- 
1.7.7