Bottom: d4ad38b0621522078c4a0701602ea4b83a80e903
-Top: 09bc4f43699418809ec483f853154e9581482fc0
+Top: a9a7ff03d17186f855af81adb232170085e921d9
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2010-07-23 17:12:24 -0700
---
+diff --git a/linux/osd.h b/linux/osd.h
+old mode 100644
+new mode 100755
+index dc8bc1f..722e1b1
+--- a/linux/osd.h
++++ b/linux/osd.h
+@@ -39,11 +39,16 @@
+ #include <pthread.h>\r
+ #include <sys/socket.h>\r
+ #include <sys/types.h>\r
++#include <sys/stat.h>\r
+ #include <malloc.h>\r
+ #include <arpa/inet.h>\r
+ #include <sys/time.h>\r
+ #include <netinet/in.h>\r
+ \r
++#define ACM_DEST_DIR "/etc/ibacm"\r
++#define ACM_ADDR_FILE "acm_addr.cfg"\r
++#define ACM_OPTS_FILE "acm_opts.cfg"\r
++\r
+ #define LIB_DESTRUCTOR __attribute__((destructor))\r
+ #define CDECL_FUNC\r
+ \r
diff --git a/src/acm.c b/src/acm.c
-index 2b1e1fd..afa9917 100755
+index 2b1e1fd..48e622d 100755
--- a/src/acm.c
+++ b/src/acm.c
@@ -191,6 +191,8 @@ static struct acm_client client[FD_SETSIZE - 1];
- printf(" [-D] - run as a daemon\n");
+ printf(" [-D] - run as a daemon\n");
+ printf(" [-A addr_file] - address configuration file\n");
-+ printf(" (default /etc/ibacm/acm_addr.cfg\n");
++ printf(" (default %s/%s\n", ACM_DEST_DIR, ACM_ADDR_FILE);
+ printf(" [-O option_file] - option configuration file\n");
-+ printf(" (default /etc/ibacm/acm_opts.cfg\n");
++ printf(" (default %s/%s\n", ACM_DEST_DIR, ACM_OPTS_FILE);
}
int CDECL_FUNC main(int argc, char **argv)
diff --git a/src/acme.c b/src/acme.c
old mode 100644
new mode 100755
-index d9d9871..283002b
+index d9d9871..03e96ad
--- a/src/acme.c
+++ b/src/acme.c
@@ -1,5 +1,5 @@
*
* This software is available to you under the OpenIB.org BSD license
* below:
-@@ -39,6 +39,9 @@
+@@ -39,6 +39,10 @@
#include <infiniband/acm.h>
#include "libacm.h"
-+static char dest_dir = "/etc/ibacm";
-+static char opts_file = "acm_opts.cfg";
-+static char addr_file = "acm_addr.cfg";
++static char *dest_dir = ACM_DEST_DIR;
++static char *addr_file = ACM_ADDR_FILE;
++static char *opts_file = ACM_OPTS_FILE;
++
static char *dest_addr;
static char *src_addr;
static char addr_type = 'i';
-@@ -60,8 +63,12 @@ static void show_usage(char *program)
+@@ -60,8 +64,12 @@ static void show_usage(char *program)
printf(" -d dest_addr - format defined by -f option\n");
printf(" [-v] - verify ACM response against SA query response\n");
printf("usage 2: %s\n", program);
- printf(" -A - generate local acm_addr.cfg configuration file\n");
- printf(" -O - generate local acm_opts.cfg options file\n");
+ printf(" -A [addr_file] - generate local address configuration file\n");
-+ printf(" (default is acm_addr.cfg)\n");
++ printf(" (default is %s)\n", ACM_ADDR_FILE);
+ printf(" -O [opt_file] - generate local acm_opts.cfg options file\n");
-+ printf(" (default is acm_opts.cfg)\n");
++ printf(" (default is %s)\n", ACM_OPTS_FILE);
+ printf(" -D dest_dir - specify destination directory for output files\n");
-+ printf(" (default is /etc/ibacm)\n");
++ printf(" (default is %s)\n", ACM_DEST_DIR);
}
static void gen_opts_temp(FILE *f)
-@@ -191,8 +198,9 @@ static int gen_opts(void)
+@@ -186,13 +194,23 @@ static void gen_opts_temp(FILE *f)
+ fprintf(f, "\n");
+ }
+
++static int open_dir(void)
++{
++ mkdir(dest_dir, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
++ if (chdir(dest_dir)) {
++ printf("Failed to open directory %s: %s\n", dest_dir, strerror(errno));
++ return -1;
++ }
++ return 0;
++}
++
+ static int gen_opts(void)
+ {
FILE *f;
- printf("Generating acm_opts.cfg\n");
+- printf("Generating acm_opts.cfg\n");
- if (!(f = fopen("acm_opts.cfg", "w"))) {
- printf("Failed to open option configuration file\n");
-+ mkdir(dest_dir, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
-+ if (!(f = fopen(opts_file, "w"))) {
++ printf("Generating %s/%s\n", dest_dir, opts_file);
++ if (open_dir() || !(f = fopen(opts_file, "w"))) {
+ printf("Failed to open option configuration file: %s\n", strerror(errno));
return -1;
}
-@@ -326,8 +334,9 @@ static int gen_addr(void)
+@@ -325,9 +343,9 @@ static int gen_addr(void)
+ FILE *f;
int ret;
- printf("Generating acm_addr.cfg\n");
+- printf("Generating acm_addr.cfg\n");
- if (!(f = fopen("acm_addr.cfg", "w"))) {
- printf("Failed to open address configuration file\n");
-+ mkdir(dest_dir, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
-+ if (!(f = fopen(addr_file, "w"))) {
++ printf("Generating %s/%s\n", dest_dir, addr_file);
++ if (open_dir() || !(f = fopen(addr_file, "w"))) {
+ printf("Failed to open address configuration file: %s\n", strerror(errno));
return -1;
}
-@@ -501,7 +510,7 @@ int CDECL_FUNC main(int argc, char **argv)
+@@ -493,6 +511,17 @@ static int resolve(char *program)
+ return ret;
+ }
+
++char *opt_arg(int argc, char **argv)
++{
++ if (optarg)
++ return optarg;
++
++ if ((optind < argc) && (argv[optind][0] != '-'))
++ return argv[optind];
++
++ return NULL;
++}
++
+ int CDECL_FUNC main(int argc, char **argv)
+ {
+ int op, ret;
+@@ -501,7 +530,7 @@ int CDECL_FUNC main(int argc, char **argv)
if (ret)
goto out;
switch (op) {
case 'f':
addr_type = optarg[0];
-@@ -517,9 +526,19 @@ int CDECL_FUNC main(int argc, char **argv)
+@@ -517,9 +546,16 @@ int CDECL_FUNC main(int argc, char **argv)
break;
case 'A':
make_addr = 1;
-+ if (optarg)
-+ addr_file = optarg;
-+printf("set addr file to %s\n", addr_file);
++ if (opt_arg(argc, argv))
++ addr_file = opt_arg(argc, argv);
break;
case 'O':
make_opts = 1;
-+ if (optarg)
-+ opt_file = optarg;
-+printf("set opt file to %s\n", addr_file);
++ if (opt_arg(argc, argv))
++ opts_file = opt_arg(argc, argv);
+ break;
+ case 'D':
+ dest_dir = optarg;
-+printf("set dest dir to %s\n", dest_dir);
break;
default:
show_usage(argv[0]);
+++ /dev/null
-Bottom: 09bc4f43699418809ec483f853154e9581482fc0
-Top: a9a7ff03d17186f855af81adb232170085e921d9
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2010-07-28 16:28:02 -0700
-
-Refresh of cfg
-
----
-
-diff --git a/linux/osd.h b/linux/osd.h
-old mode 100644
-new mode 100755
-index dc8bc1f..722e1b1
---- a/linux/osd.h
-+++ b/linux/osd.h
-@@ -39,11 +39,16 @@
- #include <pthread.h>\r
- #include <sys/socket.h>\r
- #include <sys/types.h>\r
-+#include <sys/stat.h>\r
- #include <malloc.h>\r
- #include <arpa/inet.h>\r
- #include <sys/time.h>\r
- #include <netinet/in.h>\r
- \r
-+#define ACM_DEST_DIR "/etc/ibacm"\r
-+#define ACM_ADDR_FILE "acm_addr.cfg"\r
-+#define ACM_OPTS_FILE "acm_opts.cfg"\r
-+\r
- #define LIB_DESTRUCTOR __attribute__((destructor))\r
- #define CDECL_FUNC\r
- \r
-diff --git a/src/acm.c b/src/acm.c
-index afa9917..48e622d 100755
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -2642,9 +2642,9 @@ static void show_usage(char *program)
- printf("usage: %s\n", program);
- printf(" [-D] - run as a daemon\n");
- printf(" [-A addr_file] - address configuration file\n");
-- printf(" (default /etc/ibacm/acm_addr.cfg\n");
-+ printf(" (default %s/%s\n", ACM_DEST_DIR, ACM_ADDR_FILE);
- printf(" [-O option_file] - option configuration file\n");
-- printf(" (default /etc/ibacm/acm_opts.cfg\n");
-+ printf(" (default %s/%s\n", ACM_DEST_DIR, ACM_OPTS_FILE);
- }
-
- int CDECL_FUNC main(int argc, char **argv)
-diff --git a/src/acme.c b/src/acme.c
-index 283002b..03e96ad 100755
---- a/src/acme.c
-+++ b/src/acme.c
-@@ -39,9 +39,10 @@
- #include <infiniband/acm.h>
- #include "libacm.h"
-
--static char dest_dir = "/etc/ibacm";
--static char opts_file = "acm_opts.cfg";
--static char addr_file = "acm_addr.cfg";
-+static char *dest_dir = ACM_DEST_DIR;
-+static char *addr_file = ACM_ADDR_FILE;
-+static char *opts_file = ACM_OPTS_FILE;
-+
- static char *dest_addr;
- static char *src_addr;
- static char addr_type = 'i';
-@@ -64,11 +65,11 @@ static void show_usage(char *program)
- printf(" [-v] - verify ACM response against SA query response\n");
- printf("usage 2: %s\n", program);
- printf(" -A [addr_file] - generate local address configuration file\n");
-- printf(" (default is acm_addr.cfg)\n");
-+ printf(" (default is %s)\n", ACM_ADDR_FILE);
- printf(" -O [opt_file] - generate local acm_opts.cfg options file\n");
-- printf(" (default is acm_opts.cfg)\n");
-+ printf(" (default is %s)\n", ACM_OPTS_FILE);
- printf(" -D dest_dir - specify destination directory for output files\n");
-- printf(" (default is /etc/ibacm)\n");
-+ printf(" (default is %s)\n", ACM_DEST_DIR);
- }
-
- static void gen_opts_temp(FILE *f)
-@@ -193,13 +194,22 @@ static void gen_opts_temp(FILE *f)
- fprintf(f, "\n");
- }
-
-+static int open_dir(void)
-+{
-+ mkdir(dest_dir, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
-+ if (chdir(dest_dir)) {
-+ printf("Failed to open directory %s: %s\n", dest_dir, strerror(errno));
-+ return -1;
-+ }
-+ return 0;
-+}
-+
- static int gen_opts(void)
- {
- FILE *f;
-
-- printf("Generating acm_opts.cfg\n");
-- mkdir(dest_dir, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
-- if (!(f = fopen(opts_file, "w"))) {
-+ printf("Generating %s/%s\n", dest_dir, opts_file);
-+ if (open_dir() || !(f = fopen(opts_file, "w"))) {
- printf("Failed to open option configuration file: %s\n", strerror(errno));
- return -1;
- }
-@@ -333,9 +343,8 @@ static int gen_addr(void)
- FILE *f;
- int ret;
-
-- printf("Generating acm_addr.cfg\n");
-- mkdir(dest_dir, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
-- if (!(f = fopen(addr_file, "w"))) {
-+ printf("Generating %s/%s\n", dest_dir, addr_file);
-+ if (open_dir() || !(f = fopen(addr_file, "w"))) {
- printf("Failed to open address configuration file: %s\n", strerror(errno));
- return -1;
- }
-@@ -502,6 +511,17 @@ static int resolve(char *program)
- return ret;
- }
-
-+char *opt_arg(int argc, char **argv)
-+{
-+ if (optarg)
-+ return optarg;
-+
-+ if ((optind < argc) && (argv[optind][0] != '-'))
-+ return argv[optind];
-+
-+ return NULL;
-+}
-+
- int CDECL_FUNC main(int argc, char **argv)
- {
- int op, ret;
-@@ -526,19 +546,16 @@ int CDECL_FUNC main(int argc, char **argv)
- break;
- case 'A':
- make_addr = 1;
-- if (optarg)
-- addr_file = optarg;
--printf("set addr file to %s\n", addr_file);
-+ if (opt_arg(argc, argv))
-+ addr_file = opt_arg(argc, argv);
- break;
- case 'O':
- make_opts = 1;
-- if (optarg)
-- opt_file = optarg;
--printf("set opt file to %s\n", addr_file);
-+ if (opt_arg(argc, argv))
-+ opts_file = opt_arg(argc, argv);
- break;
- case 'D':
- dest_dir = optarg;
--printf("set dest dir to %s\n", dest_dir);
- break;
- default:
- show_usage(argv[0]);