bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#12730: bug #12730: patch attached


From: Andrew Warshall
Subject: bug#12730: bug #12730: patch attached
Date: Sun, 4 Nov 2012 19:28:41 -0500

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Mon, 05 Nov 2012 02:01:53 +0100
Jim Meyering <address@hidden> wrote:
> Thanks for the patch.
> However, I'd rather not duplicate all of that logic solely
> to change the part that deals with type-"none" entries.
> Instead, I'll leave the other 5 types in a separate, new macro,
> and use that from the new ME_DUMMY macro.
> 
> I've also removed the outer "#ifndef ME_DUMMY" and added
> a comment and a ChangeLog entry for you.  But now,
> you have to proofread that and ACK before I push it.
> 
> I've tested only on a system with MOUNTED_GETMNTENT1.
> 
> Finally, it's small enough that you don't have to fill
> out copyright paperwork (hence the "tiny change"
> and Copyright-paperwork-exempt notes), but if you think
> you may contribute something else, please start the process now,
> so the lack of an assignment does not delay things.
> Let me know off-list and I'll send you the forms.
> 
> 
> From 613bcb6205cf2b64d835c19074c5a7e7c6cb99eb Mon Sep 17 00:00:00 2001
> From: Andrew Warshall <address@hidden>
> Date: Sun, 4 Nov 2012 16:41:15 -0800
> Subject: [PATCH] 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
> ---
>  ChangeLog       |  8 ++++++++
>  lib/mountlist.c | 31 +++++++++++++++++++++----------
>  2 files changed, 29 insertions(+), 10 deletions(-)
> 
> diff --git a/ChangeLog b/ChangeLog
> index 720b7a2..2173fb2 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,11 @@
> +2012-11-04  Andrew Warshall  <address@hidden>  (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  <address@hidden>
> 
>       quote: provide a means to escape strings with nul characters
> diff --git a/lib/mountlist.c b/lib/mountlist.c
> index 67154b8..a9a9f2c 100644
> --- 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__
> --
> 1.8.0
> 

This looks fine. It should (I hope) have no effect on a system w/o
MOUNTED_GETMNTENT1; I was more concerned about the effect on anyone
with MOUNTED_GETMNTENT1 but without hasmntopt (i.e. a non-glibc
environment with the same getmntent semantics).

                      -Andrew Warshall
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJQlwg5AAoJEESPRWh79T7t4esH/3S1pACjASPJOQ656dqZQH6/
yviN1/KwSRisseyKKX1XjXgDyXnopUTDkd5irRqPFZYxjaj5xagldp4c3f0WhhFY
Kj2Ms5C1h9m4NrTodgCUW8EtfiCkBfdgj372htJHMepN0cQML5WOL+5L94VGLkWx
7EZjiXVZBYpOSjqBA8TNXogMBRurfEuOBp4nWwFgYRgfWQ1eIQS+tzbCjgigLq9a
/Kzu6i2x86ex5Bxcr421J0Lyp86T4CV7J5i3i2NcjvAgUImDLfLJRrbQFDsNhYnE
Tw9kOcTXt84AIIQSQJvB6PBZT8uTPeM8lImtDmxIw9GJNYyhd6zkPQLG6EWJrJU=
=KVEP
-----END PGP SIGNATURE-----

reply via email to

[Prev in Thread] Current Thread [Next in Thread]