From: Pádraig Brady Date: Tue, 27 Oct 2020 21:04:14 +0000 (+0000) Subject: mountlist: recognize more file system types as remote X-Git-Tag: v1.0~3536 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=dd1fc46be12d671c1a9d9dc5a6fa8c766e99aa2f;p=gnulib.git mountlist: recognize more file system types as remote Sync "remote" file systems from stat.c in coreutils. Note we only consider file systems that do not use host:resource mount source. I.e. those that don't generally use a colon when mounting, as that case is already considered. Searching for " /etc/fstab" was informative for identifying these. The full list of "remote" file systems in coreutils is currently: acfs afs ceph cifs coda fhgfs fuseblk fusectl gfs gfs2 gpfs ibrix k-afs lustre novell nfs nfsd ocfs2 panfs prl_fs smb smb2 snfs vboxsf vmhgfs vxfs Note also we do not include virtual machine file systems, as even though they're remote to the current kernel, they are generally not distributed to separate hosts. * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered "remote" file systems from stat.c in coreutils. --- diff --git a/ChangeLog b/ChangeLog index 03904e4e95..6a9c762c1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2020-11-03 Pádraig Brady + + mountlist: recognize more file system types as remote + + * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered + "remote" file systems from stat.c in coreutils. + 2020-11-02 Bernhard Voelker verify tests: Fix -Wuninitialized warning (regression 2020-10-30). diff --git a/lib/mountlist.c b/lib/mountlist.c index ca1be63f21..026d653306 100644 --- a/lib/mountlist.c +++ b/lib/mountlist.c @@ -224,8 +224,9 @@ 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). */ + or if it is of any other of the listed types + or Fs_name is equal to "-hosts" (used by autofs to mount remote fs). + "VM" file systems like prl_fs or vboxsf are not considered remote here. */ # define ME_REMOTE(Fs_name, Fs_type) \ (strchr (Fs_name, ':') != NULL \ || ((Fs_name)[0] == '/' \ @@ -233,8 +234,15 @@ me_remote (char const *fs_name, char const *fs_type _GL_UNUSED) && (strcmp (Fs_type, "smbfs") == 0 \ || strcmp (Fs_type, "smb3") == 0 \ || strcmp (Fs_type, "cifs") == 0)) \ + || strcmp (Fs_type, "acfs") == 0 \ || strcmp (Fs_type, "afs") == 0 \ + || strcmp (Fs_type, "coda") == 0 \ || strcmp (Fs_type, "auristorfs") == 0 \ + || strcmp (Fs_type, "fhgfs") == 0 \ + || strcmp (Fs_type, "gpfs") == 0 \ + || strcmp (Fs_type, "ibrix") == 0 \ + || strcmp (Fs_type, "ocfs2") == 0 \ + || strcmp (Fs_type, "vxfs") == 0 \ || strcmp ("-hosts", Fs_name) == 0) #endif