From 7a15069b68a376f26c5dca34ae2689c5bf8adc99 Mon Sep 17 00:00:00 2001
From: Marc Dionne <marc.dionne@auristor.com>
Date: Wed, 5 Feb 2020 13:35:12 -0800
Subject: [PATCH] mountlist: Consider AFS filesystems as remote

df --local relies on the ME_REMOTE macro to determine if a given
mount entry should be considered "local".  There is special logic
for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
kernel's kafs module or AuriStorFS is treated as a local mount.
* lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
(OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.

Copyright-paperwork-exempt: yes
---
 ChangeLog       | 10 ++++++++++
 lib/mountlist.c |  3 +++
 2 files changed, 13 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index e44dcb9a17..99e0c2e9e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
+
+	mountlist: Consider AFS filesystems as remote
+	df --local relies on the ME_REMOTE macro to determine if a given
+	mount entry should be considered "local".  There is special logic
+	for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
+	kernel's kafs module or AuriStorFS is treated as a local mount.
+	* lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
+	(OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
+
 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Port _Noreturn to older Clang
diff --git a/lib/mountlist.c b/lib/mountlist.c
index 61063ce91c..255e350e0b 100644
--- a/lib/mountlist.c
+++ b/lib/mountlist.c
@@ -221,6 +221,7 @@ me_remote (char const *fs_name, char const *fs_type _GL_UNUSED)
 #ifndef ME_REMOTE
 /* A file system is "remote" if its Fs_name contains a ':'
    or if (it is of type (smbfs or cifs) and its Fs_name starts with '//')
+   or if it is of type (afs or auristorfs)
    or Fs_name is equal to "-hosts" (used by autofs to mount remote fs).  */
 # define ME_REMOTE(Fs_name, Fs_type)            \
     (strchr (Fs_name, ':') != NULL              \
@@ -228,6 +229,8 @@ me_remote (char const *fs_name, char const *fs_type _GL_UNUSED)
          && (Fs_name)[1] == '/'                 \
          && (strcmp (Fs_type, "smbfs") == 0     \
              || strcmp (Fs_type, "cifs") == 0)) \
+     || strcmp (Fs_type, "afs") == 0            \
+     || strcmp (Fs_type, "auristorfs") == 0     \
      || (strcmp("-hosts", Fs_name) == 0))
 #endif
 
-- 
2.39.5