#include "config.h"
#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
#include "nfslib.h"
static void usage(const char *);
if (argc > 1)
usage (argv [0]);
- if ((error = lockdsvc()) < 0)
- perror("lockdsvc");
+ if (chdir(NFS_STATEDIR)) {
+ fprintf(stderr, "%s: chdir(%s) failed: %s\n",
+ argv [0], NFS_STATEDIR, strerror(errno));
+ exit(1);
+ }
+
+ if ((error = lockdsvc()) < 0) {
+ if (errno == EINVAL)
+ /* Ignore EINVAL since kernel may start
+ lockd automatically. */
+ error = 0;
+ else
+ perror("lockdsvc");
+ }
return (error != 0);
}