*
*/
-#include "config.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <stdio.h>
-#include "nfslib.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);
}