/[hurd]/hurd/nfsd/fsys.c
ViewVC logotype

Diff of /hurd/nfsd/fsys.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by thomas, Wed Aug 7 19:03:28 1996 UTC revision 1.3 by neal, Tue Mar 26 19:09:34 2002 UTC
# Line 1  Line 1 
1  /* Filesystem management for NFS server  /* Filesystem management for NFS server
2     Copyright (C) 1996 Free Software Foundation, Inc.     Copyright (C) 1996, 2002 Free Software Foundation, Inc.
3     Written by Michael I. Bushnell, p/BSG.     Written by Michael I. Bushnell, p/BSG.
4    
5     This file is part of the GNU Hurd.     This file is part of the GNU Hurd.
# Line 65  init_filesystems (void) Line 65  init_filesystems (void)
65    index_file = fopen (index_file_name, "r");    index_file = fopen (index_file_name, "r");
66    if (!index_file)    if (!index_file)
67      {      {
68        fprintf (stderr, "%s: Cannot open `%s': %s\n",        error (0, errno, "Cannot open `%s'", index_file_name);
                program_invocation_name, index_file_name, strerror (errno));  
69        return;        return;
70      }      }
71    
# Line 81  init_filesystems (void) Line 80  init_filesystems (void)
80                
81        if (nitems != 2)        if (nitems != 2)
82          {          {
83            fprintf (stderr, "%s:%s:%d Bad syntax\n",            error (0, 0, "%s:%d Bad syntax", index_file_name, line);
                    program_invocation_name, index_file_name, line);  
84            continue;            continue;
85          }          }
86    
87        root = file_name_lookup (name, 0, 0);        root = file_name_lookup (name, 0, 0);
88        if (!root)        if (root == MACH_PORT_NULL)
89          {          {
90            fprintf (stderr, "%s:%s:%d Filesystem `%s': %s\n",            error (0, errno, "%s:%d Filesystem `%s'",
91                     program_invocation_name, index_file_name, line,                   index_file_name, line, name);
                    name, strerror (errno));  
92            free (name);            free (name);
93            continue;            continue;
94          }          }
# Line 123  write_filesystems (void) Line 120  write_filesystems (void)
120  {  {
121    file_t newindex;    file_t newindex;
122    FILE *f;    FILE *f;
123      error_t err;
124    int i;    int i;
125    
126    if (!index_file_name)    if (!index_file_name)
# Line 133  write_filesystems (void) Line 131  write_filesystems (void)
131        index_file_dir = file_name_split (index_file_name, &index_file_compname);        index_file_dir = file_name_split (index_file_name, &index_file_compname);
132        if (index_file_dir == MACH_PORT_NULL)        if (index_file_dir == MACH_PORT_NULL)
133          {          {
134            fprintf (stderr, "%s: `%s': %s\n",            error (0, errno, "`%s'", index_file_name);
                    program_invocation_name, index_file_name, strerror (errno));  
135            index_file_name = 0;            index_file_name = 0;
136            return;            return;
137          }          }
138      }      }
139    
140    /* Create an anonymous file in the same directory */    /* Create an anonymous file in the same directory */
141    errno = dir_mkfile (index_file_dir, O_WRONLY, 0666, &newindex);    err = dir_mkfile (index_file_dir, O_WRONLY, 0666, &newindex);
142    if (errno)    if (err)
143      {      {
144        fprintf (stderr, "%s: `%s': %s\n",        error (0, err, "`%s'", index_file_name);
                program_invocation_name, index_file_name, strerror (errno));  
145        index_file_name = 0;        index_file_name = 0;
146        mach_port_deallocate (mach_task_self (), index_file_dir);        mach_port_deallocate (mach_task_self (), index_file_dir);
147        index_file_dir = MACH_PORT_NULL;        index_file_dir = MACH_PORT_NULL;
# Line 159  write_filesystems (void) Line 155  write_filesystems (void)
155        fprintf (f, "%d %s\n", i, fsystable[i].name);        fprintf (f, "%d %s\n", i, fsystable[i].name);
156    
157    /* Link it in */    /* Link it in */
158    errno = dir_link (index_file_dir, newindex, index_file_compname, 0);    err = dir_link (index_file_dir, newindex, index_file_compname, 0);
159    if (errno)    if (err)
160      fprintf (stderr, "%s: `%s': %s\n",      error (0, err, "`%s'", index_file_name);
              program_invocation_name, index_file_name, strerror (errno));  
161    fflush (f);    fflush (f);
162    file_sync (newindex, 1, 0);    file_sync (newindex, 1, 0);
163    fclose (f);    fclose (f);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26