summaryrefslogtreecommitdiff
path: root/nfsd
diff options
context:
space:
mode:
Diffstat (limited to 'nfsd')
-rw-r--r--nfsd/fsys.c24
-rw-r--r--nfsd/main.c13
2 files changed, 19 insertions, 18 deletions
diff --git a/nfsd/fsys.c b/nfsd/fsys.c
index 8a2cd03b..7b15d150 100644
--- a/nfsd/fsys.c
+++ b/nfsd/fsys.c
@@ -20,13 +20,14 @@
#include <stdio.h>
#include <errno.h>
+#include <error.h>
#include <hurd.h>
#include <fcntl.h>
#include <string.h>
#include "nfsd.h"
-struct fsys_spec
+struct fsys_spec
{
fsys_t fsys;
char *name;
@@ -58,10 +59,10 @@ init_filesystems (void)
fsystable[i].fsys = MACH_PORT_NULL;
fsystable[i].name = 0;
}
-
+
if (!index_file_name)
return;
-
+
index_file = fopen (index_file_name, "r");
if (!index_file)
{
@@ -77,7 +78,7 @@ init_filesystems (void)
fclose (index_file);
return;
}
-
+
if (nitems != 2)
{
error (0, 0, "%s:%d Bad syntax", index_file_name, line);
@@ -87,7 +88,7 @@ init_filesystems (void)
root = file_name_lookup (name, 0, 0);
if (root == MACH_PORT_NULL)
{
- error (0, errno, "%s:%d Filesystem `%s'",
+ error (0, errno, "%s:%d Filesystem `%s'",
index_file_name, line, name);
free (name);
continue;
@@ -95,7 +96,7 @@ init_filesystems (void)
if (index >= fsystablesize)
{
- fsystable = (struct fsys_spec *)
+ fsystable = (struct fsys_spec *)
realloc (fsystable, index * 2 * sizeof (struct fsys_spec));
for (i = fsystablesize; i < index * 2; i++)
{
@@ -107,7 +108,7 @@ init_filesystems (void)
if (index + 1 > nfsys)
nfsys = index + 1;
-
+
fsystable[index].name = name;
file_getcontrol (root, &fsystable[index].fsys);
mach_port_deallocate (mach_task_self (), root);
@@ -125,7 +126,7 @@ write_filesystems (void)
if (!index_file_name)
return;
-
+
if (index_file_dir == MACH_PORT_NULL)
{
index_file_dir = file_name_split (index_file_name, &index_file_compname);
@@ -147,9 +148,9 @@ write_filesystems (void)
index_file_dir = MACH_PORT_NULL;
return;
}
-
+
f = fopenport (newindex, "w");
-
+
for (i = 0; i < nfsys; i++)
if (fsystable[i].name)
fprintf (f, "%d %s\n", i, fsystable[i].name);
@@ -183,7 +184,7 @@ enter_filesystem (char *name, file_t root)
for (i = 0; i < nfsys; i++)
if (fsystable[i].name && !strcmp (fsystable[i].name, name))
return i;
-
+
if (nfsys == fsystablesize)
{
fsystable = (struct fsys_spec *) realloc (fsystable,
@@ -206,4 +207,3 @@ enter_filesystem (char *name, file_t root)
return nfsys - 1;
}
-
diff --git a/nfsd/main.c b/nfsd/main.c
index 2e5df1c2..2e5c47c4 100644
--- a/nfsd/main.c
+++ b/nfsd/main.c
@@ -1,5 +1,5 @@
/* Main NFS server program
- Copyright (C) 1996 Free Software Foundation, Inc.
+ Copyright (C) 1996, 2002 Free Software Foundation, Inc.
Written by Michael I. Bushnell, p/BSG.
This file is part of the GNU Hurd.
@@ -24,6 +24,7 @@
#include <rpc/pmap_prot.h>
#include <maptime.h>
#include <hurd.h>
+#include <error.h>
int main_udp_socket, pmap_udp_socket;
struct sockaddr_in main_address, pmap_address;
@@ -47,7 +48,7 @@ main (int argc, char **argv)
nthreads = atoi (argv[1]);
if (!nthreads)
nthreads = 4;
-
+
authserver = getauth ();
maptime_map (0, 0, &mapped_time);
@@ -64,7 +65,7 @@ main (int argc, char **argv)
sizeof (struct sockaddr_in));
if (fail)
error (1, errno, "Binding NFS socket");
-
+
fail = bind (pmap_udp_socket, (struct sockaddr *)&pmap_address,
sizeof (struct sockaddr_in));
if (fail)
@@ -74,11 +75,11 @@ main (int argc, char **argv)
cthread_detach (cthread_fork ((cthread_fn_t) server_loop,
(any_t) pmap_udp_socket));
-
+
while (nthreads--)
- cthread_detach (cthread_fork ((cthread_fn_t) server_loop,
+ cthread_detach (cthread_fork ((cthread_fn_t) server_loop,
(any_t) main_udp_socket));
-
+
for (;;)
{
sleep (1);