[Top][All Lists]
[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-----