Subject: bug#12461: unrecognized file system type 0xbacbacbc

From: Jim Meyering <[email-masked]>
Date: Wed, 19 Sep 2012 22:07:47 +0200

Daniel Tschinder wrote:
> this happens for me when i try to use tail on vmhgfs filesystem
> (vmwares shared folder file system)
>
> unrecognized file system type 0xbacbacbc for
> /data/[.…..]/sql.log'. please report this to
> [email-masked]. reverting to polling

Thanks for the report.

This is becoming routine and mechanical enough that I've begun to
script the patch process ;-)

At least this time, the NEWS entry is not mechanically added,
since I'm adding to an existing one.

I've only read a little about vmhgfs, e.g.,
  http://www.vmware.com/support/ws5/doc/ws_running_shared_folders.html
and google showed me only two hits for that magic number, 0xbacbacbc.

With that, I'm not sure whether it is safe to tell tail
to use inotify for files on a vmhgfs file system.  That
decides the "local" vs. "remote" part in the patch below.
I.e., if running tail -f with the patch below on a file FOO in a
shared directory on the host, and a VM appends to FOO, will tail
detect that?  How about the other way around?  I.e., run the tail -f
command from the VM and append to FOO from the host?  If you can
certify that both work, then I can use "local", as in the patch
below.  If not, then I must use "remote", which will force tail -f
to use polling rather than inotify for any file on a VMHGFS file system.

Please let us know.

Also, please check your name and email address as listed
in the log and THANKS.in below.

>From bf4fcfe29010512f50b430ef21ba3b5b5059220e Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Wed, 19 Sep 2012 21:52:05 +0200
Subject: [PATCH] tail,stat: improve support for vmhgfs

Inotify-enable tail -f to use on vmhgfs file systems, and let
stat -f --format=%T report the file system type name, "vmhgfs".
* src/stat.c (human_fstype): Add a case: vmhgfs, 0xbacbacbc.
* NEWS (Improvements): Mention it.
* THANKS.in: Update.
Reported by Daniel Tschinder in http://bugs.gnu.org/12461.
---
 NEWS       | 4 ++--
 THANKS.in  | 1 +
 src/stat.c | 2 ++
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 59a8510..2268565 100644
--- a/NEWS
+++ b/NEWS
@@ -49,8 +49,8 @@ GNU coreutils NEWS                                    -*- outline -*-
   but only with non-negative whole numbers, an increment of 1, and no
   format-changing options.

-  stat and tail work better with ZFS and VZFS.  stat -f --format=%T now
-  reports the file system type, and tail -f now uses inotify for files
+  stat and tail work better with ZFS, VZFS and VMHGFS.  stat -f --format=%T
+  now reports the file system type, and tail -f now uses inotify for files
   on those file systems, rather than the default (for unknown file system
   types) of issuing a warning and reverting to polling.

diff --git a/THANKS.in b/THANKS.in
index b0061b3..0f06aa0 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -139,6 +139,7 @@ Dan Pascu                           [email-masked]
 Daniel Bergstrom                    [email-masked]
 Daniel P. Berrangé                  [email-masked]
 Daniel Stavrovski                   [email-masked]
+Daniel Tschinder                    [email-masked]
 Dániel Varga                        [email-masked]
 Danny Levinson                      [email-masked]
 Darrel Francis                      [email-masked]
diff --git a/src/stat.c b/src/stat.c
index a9fb951..c343b5d 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -413,6 +413,8 @@ human_fstype (STRUCT_STATVFS const *statfsbuf)
       return "usbdevfs";
     case S_MAGIC_V9FS: /* 0x01021997 local */
       return "v9fs";
+    case S_MAGIC_VMHGFS: /* 0xBACBACBC local */
+      return "vmhgfs";
     case S_MAGIC_VXFS: /* 0xA501FCF5 local */
       return "vxfs";
     case S_MAGIC_VZFS: /* 0x565A4653 local */
--
1.7.12.1.382.gb0576a6