X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=utils%2Fidmapd%2Fidmapd.c;h=9cbe96c4095a46d81d2847521f9838d81c043993;hb=1aa4121ba599de836702d7b2d38cad63e6a09044;hp=6b5971cad526aa86e472937f8af9492fb323fb45;hpb=bcd0fcaf0966c546da5043be700587f73174ae25;p=nfs-utils.git diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c index 6b5971c..9cbe96c 100644 --- a/utils/idmapd/idmapd.c +++ b/utils/idmapd/idmapd.c @@ -169,7 +169,10 @@ flush_nfsd_cache(char *path, time_t now) fd = open(path, O_RDWR); if (fd == -1) return -1; - write(fd, stime, strlen(stime)); + if (write(fd, stime, strlen(stime)) != strlen(stime)) { + errx(1, "Flushing nfsd cache failed: errno %d (%s)", + errno, strerror(errno)); + } close(fd); return 0; } @@ -342,9 +345,11 @@ main(int argc, char **argv) xlog_err("main: fcntl(%s): %s", pipefsdir, strerror(errno)); if (fcntl(fd, F_NOTIFY, - DN_CREATE | DN_DELETE | DN_MODIFY | DN_MULTISHOT) == -1) + DN_CREATE | DN_DELETE | DN_MODIFY | DN_MULTISHOT) == -1) { xlog_err("main: fcntl(%s): %s", pipefsdir, strerror(errno)); - + if (errno == EINVAL) + xlog_err("main: Possibly no Dnotify support in kernel."); + } TAILQ_INIT(&icq); /* These events are persistent */ @@ -973,9 +978,12 @@ mydaemon(int nochdir, int noclose) dup2(tempfd, 0); dup2(tempfd, 1); dup2(tempfd, 2); - closeall(3); - } else - closeall(0); + close(tempfd); + } else { + err(1, "mydaemon: can't open /dev/null: errno %d", + errno); + exit(1); + } } return; @@ -986,7 +994,10 @@ release_parent(void) int status; if (pipefds[1] > 0) { - write(pipefds[1], &status, 1); + if (write(pipefds[1], &status, 1) != 1) { + err(1, "Writing to parent pipe failed: errno %d (%s)\n", + errno, strerror(errno)); + } close(pipefds[1]); pipefds[1] = -1; }