On (31/07/08 16:01), Andy Whitcroft didst pronounce:
> Allow the user to request the specific hugetlb configuration which will
> be used for the selected options, exposed via the --dry-run option.
>
> Signed-off-by: Andy Whitcroft <[EMAIL PROTECTED]>
> Acked-by: Adam Litke <[EMAIL PROTECTED]>
> Acked-by: Eric B Munson <[EMAIL PROTECTED]>
Acked-by: Mel Gorman <[EMAIL PROTECTED]>
> ---
> hugectl.c | 18 +++++++++++++++++-
> 1 files changed, 17 insertions(+), 1 deletions(-)
>
> diff --git a/hugectl.c b/hugectl.c
> index 755d3b6..e24d69f 100644
> --- a/hugectl.c
> +++ b/hugectl.c
> @@ -66,8 +66,11 @@ void print_usage()
> CONT("(malloc space)");
>
> OPTION("--no-preload", "Disable preloading the libhugetlbfs library");
> +
> + OPTION("--dry-run", "describe what would be done without doing it");
> }
>
> +int opt_dry_run = 0;
> int verbose_level = VERBOSITY_DEFAULT;
>
> void verbose_init(void)
> @@ -86,6 +89,9 @@ void setup_environment(char *var, char *val)
> {
> setenv(var, val, 1);
> DEBUG("%s='%s'\n", var, val);
> +
> + if (opt_dry_run)
> + printf("%s='%s'\n", var, val);
> }
>
>
> @@ -97,6 +103,8 @@ void setup_environment(char *var, char *val)
>
> #define LONG_NO_PRELOAD (LONG_BASE | 'p')
>
> +#define LONG_DRY_RUN (LONG_BASE | 'd')
> +
> /*
> * Mapping selectors, one bit per remappable/backable area as requested
> * by the user. These are also used as returns from getopts where they
> @@ -160,6 +168,7 @@ int main(int argc, char** argv)
> struct option long_opts[] = {
> {"help", no_argument, NULL, 'h'},
> {"no-preload", no_argument, NULL, LONG_NO_PRELOAD},
> + {"dry-run", no_argument, NULL, LONG_DRY_RUN},
>
> {"disable", no_argument, NULL, MAP_BASE|MAP_DISABLE},
> {"text", no_argument, NULL, MAP_BASE|MAP_TEXT},
> @@ -192,6 +201,10 @@ int main(int argc, char** argv)
> DEBUG("LD_PRELOAD disabled\n");
> break;
>
> + case LONG_DRY_RUN:
> + opt_dry_run = 1;
> + break;
> +
> default:
> WARNING("unparsed option %08x\n", ret);
> ret = -1;
> @@ -201,7 +214,7 @@ int main(int argc, char** argv)
> index = optind;
> opt_mappings &= ~MAP_BASE;
>
> - if ((argc - index) < 1) {
> + if (!opt_dry_run && (argc - index) < 1) {
> print_usage();
> exit(EXIT_FAILURE);
> }
> @@ -212,6 +225,9 @@ int main(int argc, char** argv)
> if (opt_preload)
> ldpreload(opt_mappings);
>
> + if (opt_dry_run)
> + exit(EXIT_SUCCESS);
> +
> execvp(argv[index], &argv[index]);
> ERROR("exec failed: %s\n", strerror(errno));
> exit(EXIT_FAILURE);
> --
> 1.5.6.GIT
>
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel