WI-17338 (recognize FUSE block device mounts as watchable)
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Wed, 27 Mar 2013 13:56:07 +0000 (14:56 +0100)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Wed, 27 Mar 2013 13:56:43 +0000 (14:56 +0100)
bin/linux/fsnotifier
bin/linux/fsnotifier64
native/fsNotifier/linux/main.c

index 3e49fd732b8b7c41159db06e5208c4231d784313..03b70687318740e565374e0a10598a42f549e992 100755 (executable)
Binary files a/bin/linux/fsnotifier and b/bin/linux/fsnotifier differ
index 97861b8423d3052729e9c53aabe7d90fb84d2aeb..69b71c411d385cce0d7762bfb2bd9575f75ddf50 100755 (executable)
Binary files a/bin/linux/fsnotifier64 and b/bin/linux/fsnotifier64 differ
index e4984a80b2bfafe629001dbbd63d2e01806432b3..91fa1ae8396c850f9c07f22e3700f1ab6edc6650 100644 (file)
@@ -392,7 +392,8 @@ static bool register_roots(array* new_roots, array* unwatchable, array* mounts)
 static bool is_watchable(const char* fs) {
   // don't watch special and network filesystems
   return !(strncmp(fs, "dev", 3) == 0 || strcmp(fs, "proc") == 0 || strcmp(fs, "sysfs") == 0 || strcmp(fs, MNTTYPE_SWAP) == 0 ||
-           strncmp(fs, "fuse", 4) == 0 || strcmp(fs, "cifs") == 0 || strcmp(fs, MNTTYPE_NFS) == 0);
+           (strncmp(fs, "fuse", 4) == 0 && strcmp(fs, "fuseblk") != 0) ||
+           strcmp(fs, "cifs") == 0 || strcmp(fs, MNTTYPE_NFS) == 0);
 }
 
 static array* unwatchable_mounts() {