UDS expects the device number of the actual socket, not the device on
which the socket happens to reside. The code worked only because PFS
returned the same value in the st_dev stat field, which it will have
to continue doing for a while now.
Change-Id: I426d38a86a96307ff6e6ed8099d37dae02d6bf2b
The new functionality aims to save each file system server from having
to implement its own block I/O routines just so that it can serve as a
root file system. The new source file (bio.c) lists the requirements
that file system servers have to fulfill in order to use the routines.
Change-Id: Ia0190fd5c30e8c2097ed8f4b0e3ccde1827e0b92
The file system may not be expecting these upcalls at arbitrary
moments, while they serve only as a performance optimization anyway.
Change-Id: I0748fd1f6c2645ddbb64466093ee36025aac45e0
This library provides new abstractions for the upper (VFS) side of
file system services, and should be used for all file system service
implementations from now on. It provides the following functionality:
- a function call table abstraction, hiding the details of the
VFS-FS protocol with simple parameters;
- a (currently limited) number of per-function steps required for
all file system implementations, such as copying in and out path
names and result buffers;
- a default implementation for multicomponent path lookups, such
that the file system merely has to implement resolution of single
components at a time;
- an abstraction for copying data from and to the file system, which
allows transparent intraprocess copying as required for the lookup
implementation;
- a set of functions to simplify getdents implementations.
The message loop provided by the library is currently for use by
single-threaded file system implementations only. Multithreaded file
system services may use the more low-level message processing
functionality.
Protocol-level optimizations such as including names in protocol
messages may be hidden entirely in this library. In addition, in the
future, the lookup implementation may be replaced by a single-
component lookup VFS/FS protocol request as part of a VFS name cache
implementation; this, too, can be hidden entirely in this library.
Change-Id: Ib34f0d0e021dfa3426ce8826efcf3eaa94d3ef3e
Known limitations:
- comment for now testisofs, as iso9660fs is known to be broken.
Benefits:
- near 3x speed improvement on C++ code compilation, bringing down
make build to from 44min down to 21min.
- Allows for X applications to work properly, which should be available
in near-term future through pkgsrc for 3.3.0.
Change-Id: I8f4179a7ea925ed381642add32cfd8c5822217e4
- replace a stray assert(0) with abort()
- remove unrequired copy-pasted #undef NDEBUG
- replace some #if NDEBUG by #if DEBUG as they protect debug printf()s.
Change-Id: Iff4c0331b06e860d32d91ce6b1d6c765ed065c8b
- assert() is macro which is defined as empty, while panic is always
present. I added an explicit abort() after the macro to make sure the
function never returns in case of wrong flags.
- Fixed gcc build with -NDEBUG, -Os for ARM.
* A few 'may be used uninitialized' messages
* A few new missing support library functions where added in libminc.
Change-Id: I69fcda2cd3888390b7ddeff4c0cd849105ce86ff
. get rid of includes in libcompat_minix:
. move configfile.h to minix/include/
. all others are unneeded as they point to other files
. merge the .c files with libc
Change-Id: I5e840c66fb9bc484f377926aa9d66473bbd16259
- With this patch, DDEKit no longer uses IRQ number as interrupt ID
and more IRQ numbers can be used with it
- DDEKit IRQ code, will now check return values and panic on error
Change-Id: I9ef5ab1ee2262242204bdd8c0a60459a19ddcc1b
RS used to do a stat, and check that the stat was successful, but it
didn't check that the executable was not actually empty.
This patch adds a check to detect file which are smaller than the minimum
ELF size possible.
Change-Id: I22b004084f17e7d395e2c1377add7bc8b51c3d5e
This concerns all services, a.k.a drivers, filesystem drivers, network
(inet, lwip, uds) servers, and the system servers.
Change-Id: I626fd15c795e15af42df2d10d47fb4a703665d63