summaryrefslogtreecommitdiffstats
path: root/lib/libstand/gzipfs.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove two pieces of code (one disabled in revision 39665 and another deriveddelphij2010-03-181-8/+0
| | | | from the first one) that is not used for the last 12 years.
* Fix a bug in gzipfs that prevented lseek() from working and add lseek()jhb2009-12-231-8/+8
| | | | | | | | support to bzip2fs. This fixes problems with loading compressed amd64 kernel modules containing debug symbols. Submitted by: David Naylor naylor.b.david (gmail) MFC after: 1 week
* Fix logical bug in the bzip2 reading code, which results in bogus EIOsobomax2007-12-181-1/+3
| | | | | | | | | | | | | | | | | | | | | returned on a perfectly valid bzip2 stream whose decompressed size is multiple of read-ahead buffer size. Reproduce the problem is easy: create some power-of-two sized file (truncate -s 1m file will do), bzip2 it and try to load it as md_image from loader. See how it fails. The bug doesn't affect gzip code (which most of bzip2-reading code was copied from) probably due to the fact that libgzip doesn't report Z_STREAM_END with the last block, but requires extra call to inflate() to retrieve it and has some extra data in the input stream at that time. However, apply similar fix to gzipfs.c just in the case the API will change in the future to do what bzip2 code does. Add some ifdef'ed code to enable testing bzipfs.c from witin normal FreeBSD environment as opposed to the restricted loader one, so that one can use gdb and whatnot. Sponsored by: Sippy Software, Inc., http://www.sippysoft.com/ MFC in: 7 days
* Clean up error handling in libstand filesystem code to be more consistent:jhb2004-01-211-5/+11
| | | | | | | | | | | | | | | - 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.
* Implement seeking to earlier offsets in gzipfs. This allows my loadergreen2003-12-101-15/+30
| | | | | to e.g. correctly load all .ko.gz's I've tried, as opposed to messing up trying to read section headers on some of them.
* Renamed the loader's zipfs to gzipfs. zipfs.c was repo-copied to gzipfs.c.jake2002-12-191-1/+1
|
* Add splitfs vfs layer into libstand, which allows loading big kernels andsobomax2002-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | modules split across several physical medias. Following is how it works: The splitfs code, when asked to open "foo" looks for a file "foo.split" which is a text file containing a list of filenames and media names, e.g. foo.aa "Kernel floppy 1" foo.ab "Kernel floppy 2" foo.ac "Kernel and modules floppy" For each file segment, the process is: - try to open the file - prompt "Insert the disk labelled <whatever> and press any key..." - try to open the file - return error if file could not be located RE team is free to use this feature in the upcoming 5.0-DP1. Reviewed by: msmith, dcs
* Add __FBSDID()s to libstanddillon2001-09-301-3/+3
|
* Add support for loading bzip2-compressed filesystems. Among other thingssobomax2001-09-181-2/+3
| | | | | | | this would allow to load bzip2-compressed kernels/modules from the loader(8) (support for that will be committer separately). MFC after: 1 month
* Check for malloc failure in a couple of caseskris2001-09-031-0/+4
| | | | MFC after: 2 weeks
* Add a readdir function to the loader fsops vector, and implement thejlemon2000-04-291-1/+2
| | | | functionality for some of the filesystesms.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Replace the old and extremely icky Mach/NetBSD allocator with a similarlymsmith1998-09-261-2/+4
| | | | | | | | | | | | | | | | | compact and much better one donated by Matt Dillon. Implement a simple sbrk() which uses the existing setheap() api. Remove the custom allocator from the UFS code. It wasn't working quite right, and it shouldn't be needed with the new allocator. Fix a serious problem with changing the value of already-existent environment variables. Don't attempt to modify the supposedly-const argument to putenv() Fix an off-by-one sizing error in the zipfs code detected by the new allocator. Submitted by: zmalloc from Matt Dillon <dillon@backplane.com>
* Path arguments to *_open functions should be const, but we were manglingmsmith1998-09-181-3/+3
| | | | | | them. Submitted by: write-protected text segment in BTX
* This is libstand; a support library for standalone executables (eg. bootstrapmsmith1998-08-201-0/+316
modules). Obtained from: NetBSD, with some architectural changes and many additions.
OpenPOWER on IntegriCloud