summaryrefslogtreecommitdiff
path: root/mdmon.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-09-28 12:12:07 -0700
committerDan Williams <dan.j.williams@intel.com>2008-10-15 14:15:52 -0700
commit3d2c4fc7b6bed924f8d5d1eae9a164b191e1b6da (patch)
treed8ade835972ae3cc8f1103dfcd036fefa91bd971 /mdmon.c
parent3f6efecc4ccc4b5e50ade7368cf825c372cda0cf (diff)
trivial warn_unused_result squashing
Made the mistake of recompiling the F9 mdadm rpm which has a patch to remove -Werror and add "-Wp,-D_FORTIFY_SOURCE -O2" which turns on lots of errors: config.c:568: warning: ignoring return value of asprintf Assemble.c:411: warning: ignoring return value of asprintf Assemble.c:413: warning: ignoring return value of asprintf super0.c:549: warning: ignoring return value of posix_memalign super0.c:742: warning: ignoring return value of posix_memalign super0.c:812: warning: ignoring return value of posix_memalign super1.c:692: warning: ignoring return value of posix_memalign super1.c:1039: warning: ignoring return value of posix_memalign super1.c:1155: warning: ignoring return value of posix_memalign super-ddf.c:508: warning: ignoring return value of posix_memalign super-ddf.c:645: warning: ignoring return value of posix_memalign super-ddf.c:696: warning: ignoring return value of posix_memalign super-ddf.c:715: warning: ignoring return value of posix_memalign super-ddf.c:1476: warning: ignoring return value of posix_memalign super-ddf.c:1603: warning: ignoring return value of posix_memalign super-ddf.c:1614: warning: ignoring return value of posix_memalign super-ddf.c:1842: warning: ignoring return value of posix_memalign super-ddf.c:2013: warning: ignoring return value of posix_memalign super-ddf.c:2140: warning: ignoring return value of write super-ddf.c:2143: warning: ignoring return value of write super-ddf.c:2147: warning: ignoring return value of write super-ddf.c:2150: warning: ignoring return value of write super-ddf.c:2162: warning: ignoring return value of write super-ddf.c:2169: warning: ignoring return value of write super-ddf.c:2172: warning: ignoring return value of write super-ddf.c:2176: warning: ignoring return value of write super-ddf.c:2181: warning: ignoring return value of write super-ddf.c:2686: warning: ignoring return value of posix_memalign super-ddf.c:2690: warning: ignoring return value of write super-ddf.c:3070: warning: ignoring return value of posix_memalign super-ddf.c:3254: warning: ignoring return value of posix_memalign bitmap.c:128: warning: ignoring return value of posix_memalign mdmon.c:94: warning: ignoring return value of write mdmon.c:221: warning: ignoring return value of pipe mdmon.c:327: warning: ignoring return value of write mdmon.c:330: warning: ignoring return value of chdir mdmon.c:335: warning: ignoring return value of dup monitor.c:415: warning: rv may be used uninitialized in this function ...some of these like the write() ones are not so trivial so save those fixes for the next patch. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'mdmon.c')
-rw-r--r--mdmon.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/mdmon.c b/mdmon.c
index 568264b3..3f5edbba 100644
--- a/mdmon.c
+++ b/mdmon.c
@@ -85,14 +85,18 @@ int make_pidfile(char *devname, int o_excl)
char path[100];
char pid[10];
int fd;
+ int n;
+
sprintf(path, "/var/run/mdadm/%s.pid", devname);
fd = open(path, O_RDWR|O_CREAT|o_excl, 0600);
if (fd < 0)
return -errno;
sprintf(pid, "%d\n", getpid());
- write(fd, pid, strlen(pid));
+ n = write(fd, pid, strlen(pid));
close(fd);
+ if (n < 0)
+ return -errno;
return 0;
}
@@ -199,6 +203,7 @@ int main(int argc, char *argv[])
struct sigaction act;
int pfd[2];
int status;
+ int ignore;
if (argc != 2) {
fprintf(stderr, "Usage: md-manage /device/name/for/container\n");
@@ -218,7 +223,10 @@ int main(int argc, char *argv[])
/* Fork, and have the child tell us when they are ready */
if (do_fork()) {
- pipe(pfd);
+ if (pipe(pfd) != 0) {
+ fprintf(stderr, "mdmon: failed to create pipe\n");
+ exit(1);
+ }
switch(fork()) {
case -1:
fprintf(stderr, "mdmon: failed to fork: %s\n",
@@ -324,18 +332,20 @@ int main(int argc, char *argv[])
/* Ok, this is close enough. We can say goodbye to our parent now.
*/
status = 0;
- write(pfd[1], &status, sizeof(status));
+ if (write(pfd[1], &status, sizeof(status)) < 0)
+ fprintf(stderr, "mdmon: failed to notify our parent: %d\n",
+ getppid());
close(pfd[1]);
- chdir("/");
+ ignore = chdir("/");
setsid();
close(0);
open("/dev/null", O_RDWR);
close(1);
- dup(0);
+ ignore = dup(0);
#ifndef DEBUG
close(2);
- dup(0);
+ ignore = dup(0);
#endif
mlockall(MCL_FUTURE);