Commit Graph

12 Commits

Author SHA1 Message Date
jhb
fffc52fe7a Clean up error handling in libstand filesystem code to be more consistent:
- bzipfs and gzipfs now properly return errno values directly from their
  read routines rather than returning -1.
- missing errno values on error returns for the seek routines on almost
  all filesystems were added.
- fstat() now returns -1 if an error occurs rather than ignoring it.
- nfs's readdir() routine now reports valid errno values if an error or
  EOF occurs rather than EPERM  (It was just returning 0 for success and
  1 for failure).
- nullfs used the wrong semantics for every function besides close() and
  seek().  Getting it right for close() appears to be an accident at that.
- read() for buffered files no longer returns 0 (EOF) if an error occurs,
  but returns -1 instead.
2004-01-21 20:12:23 +00:00
marcel
4007bcfd7b Fix a machine check abort caused by the EFI loader trying to open a
file in the NFS file system when the underlying device is not a
network device. A Sparc64 specific hack for this exact problem was
already present (nfs.c:1.9, tftp.c:1.10), but the problem is not
specific to Sparc64. The hack has been promoted to a non-i386 test
because on non-i386 architectures it's either impossible to have
non-network devices coexist in the same loader with the NFS FS, or
network and non-network device coexist and NFS filesystems can only
be used on top of network devices. I believe i386 pxeboot is where
this does not hold.

The root cause of this problem is in open.c where each file system
is tried until no more file systems exist or a file system returns
success. There's no notion of a list of valid file systems given
the underlying device and the non-existence of a file can cause
the invalid combination to be tried.
2003-03-03 00:58:47 +00:00
jake
dea739f983 Stash various networking paramters in the environment for the kernel
to pick up, ala pxe.
2002-07-31 20:17:06 +00:00
jake
9c4815fb21 Add a hack (kludge?) to avoid trying to access files backed by disk
devices as though they were backed by network devices.
2002-07-07 23:01:36 +00:00
obrien
084b4588f2 Remove 'register' keyword. 2002-03-21 23:39:28 +00:00
dillon
f6666a61a9 Add __FBSDID()s to libstand 2001-09-30 22:28:01 +00:00
msmith
e2f94e5aa5 Expose the NFS root node, so that an evil consumer can use it to get the
NFS filehandle for the root mount.
2000-09-05 22:11:41 +00:00
ps
222439bc50 Add readdir support to the NFS filesystem in libstand. 2000-05-01 15:03:52 +00:00
ps
2cf1490ab7 Do not attempt to free a nfs node if it is the root node. The root
node is statically allocated and is not guarded, so free will panic
in nfs_close.
2000-05-01 10:53:21 +00:00
jlemon
9f5d586c97 Add a readdir function to the loader fsops vector, and implement the
functionality for some of the filesystesms.
2000-04-29 20:47:10 +00:00
msmith
3b7700ffef Path arguments to *_open functions should be const, but we were mangling
them.

Submitted by:	write-protected text segment in BTX
1998-09-18 22:58:01 +00:00
msmith
335c4be5b1 This is libstand; a support library for standalone executables (eg. bootstrap
modules).
Obtained from: NetBSD, with some architectural changes and many additions.
1998-08-20 08:19:55 +00:00