Mercurial > hg > octave-kai > gnulib-hg
changeset 17147:c4a6dcd5073a
mountlist: do not classify a bind-mounted dir entry as "dummy"
* lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
the "none"-testing clause.
(ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
exception for bind-mounted directories.
Copyright-paperwork-exempt: Yes
author | Andrew Warshall <warshall@99main.com> |
---|---|
date | Sun, 04 Nov 2012 16:41:15 -0800 |
parents | decc44342646 |
children | 8e5a994a5d5b |
files | ChangeLog lib/mountlist.c |
diffstat | 2 files changed, 29 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-11-04 Andrew Warshall <warshall@99main.com> (tiny change) + + mountlist: do not classify a bind-mounted dir entry as "dummy" + * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit + the "none"-testing clause. + (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the + exception for bind-mounted directories. + 2012-11-01 Akim Demaille <akim@lrde.epita.fr> quote: provide a means to escape strings with nul characters
--- a/lib/mountlist.c +++ b/lib/mountlist.c @@ -149,16 +149,27 @@ #undef opendir #undef closedir -#ifndef ME_DUMMY -# define ME_DUMMY(Fs_name, Fs_type) \ - (strcmp (Fs_type, "autofs") == 0 \ - || strcmp (Fs_type, "none") == 0 \ - || strcmp (Fs_type, "proc") == 0 \ - || strcmp (Fs_type, "subfs") == 0 \ - /* for NetBSD 3.0 */ \ - || strcmp (Fs_type, "kernfs") == 0 \ - /* for Irix 6.5 */ \ - || strcmp (Fs_type, "ignore") == 0) +#define ME_DUMMY_0(Fs_name, Fs_type) \ + (strcmp (Fs_type, "autofs") == 0 \ + || strcmp (Fs_type, "proc") == 0 \ + || strcmp (Fs_type, "subfs") == 0 \ + /* for NetBSD 3.0 */ \ + || strcmp (Fs_type, "kernfs") == 0 \ + /* for Irix 6.5 */ \ + || strcmp (Fs_type, "ignore") == 0) + +/* Historically, we have marked as "dummy" any file system of type "none", + but now that programs like du need to know about bind-mounted directories, + we grant an exception to any with "bind" in its list of mount options. + I.e., those are *not* dummy entries. */ +#ifdef MOUNTED_GETMNTENT1 +# define ME_DUMMY(Fs_name, Fs_type, Fs_ent) \ + (ME_DUMMY_0 (Fs_name, Fs_type) \ + || (strcmp (Fs_type, "none") == 0 \ + && !hasmntopt (Fs_ent, "bind"))) +#else +# define ME_DUMMY(Fs_name, Fs_type) \ + (ME_DUMMY_0 (Fs_name, Fs_type) || strcmp (Fs_type, "none") == 0) #endif #ifdef __CYGWIN__