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
. the minix init started rc with the 'bootargs' variable.
this can now be cleanly passed to rc by executing sysenv
from the ramdisk rc script.
Change-Id: I68d0d2ab0be326b2ae30438a62dd7649b600c2d2
. let you specify IMG as a block device directly. this minimizes
i/o (only write used parts of the filesystem) and so turnaround
time - while still allowing the big default FS size.
Change-Id: Ib738499464e0d350a474a706f688d3f10806207d
It is currently too broken to be of any use anyway. Fixes are pending,
which is why this patch is intended to be reverted before those are
merged.
For the time being, the following tools can be used to access cdroms:
- isodir
- isoinfo
- isoread
- writeisofs
Change-Id: I681e8f1224bb464ba978f893dc18d46fa06a8208
They can be deactivated with -DNDEBUG, which is why they can't contain
code which should always be run.
It seems the local implementation of USB_ASSERT doesn't honor the
CPP flags NDEBUG, this will be corrected in a later patch.
Change-Id: Iac56b09fd563f1b8c4c7be15a468a05b9cc86a18
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
- adapt an arithmetic expression for the new sh
- update the fsck call to use the main fsck wrapper instead of a
specific fsck version.
Change-Id: I7e25bf6e54b5c9f564082459e78b9ce5c39254cf
. if a up/down script isn't specified, devmand
would try to execute a command line with (null)
in it, causing messy messages on startup
. skip script at a higher level when missing,
and add asserts for expected strings at the lower level
Change-Id: Ia0d772076f3781caa5879ea4e64b53fa6c6e8478
The memory used to be in its own memory region, but is now a part of
a larger memory region which is already being freed anyway.
Change-Id: Ice3174cec76e07112a1997b969dc3f47f573514c
- 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
Do not build clang and llvm libraries with debug symbols, when built as
a cross-compilation tool.
This saves a lot of space (about 4G), and hopefully also some
compilation time.
Change-Id: Ifeb91d6932d667fa901a8efe1a95a922e6f6ba98
The conversion was never properly implemented for asynchronous
character drivers, and got lost during the removal of the
synchronous character protocol.
Change-Id: Ib858806859aa7a52d6b391d4c6c521a2be361fdd
. source release.functions with explicit path
. make xargs touch not fail (due to too long invocations
and spaces in paths)
Change-Id: I448b96cebd641bf2c7b86ecbb3d1f1cb568e4f70
/etc/profile enables by default tabcompletion, as well as emacs mode,
in order to keep the old MINIX ash behavior.
Note: The shell now refuses to source a script without a relative or
absolute path.
This means:
- '. myscript.sh' fails, while
- '. ./myscript.sh' succeeds
Change-Id: I0be89b0747bd005e4c05cadb937af86883627dc6
. 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
. add /sbin to tests $PATH for ping
. take disable file mmap item from default boot menu
. ask for feedback in motd
. fix ext2fs on arm (the memory alloced with STATICINIT is flaky on arm)
Change-Id: I7525207074d62abc47ed3891139f6ef7ef6025be
The remapping from /dev/tty to the real controlling terminal in the
device code was confusing the select code. The latter is now aware
of this case and should handle it properly, at the cost of one extra
field in the filp structure.
There is a nasty, hopefully sufficiently rare case of /dev/tty being
kept open while controlling terminals are changing, that we are still
not handling. Doing so would require more than just a few changes,
but the code should at least detect and cleanly fail on this case.
Test77 now has a basic test set for selecting on /dev/tty.
Change-Id: Iaedea449cdb728d0e66a9de8faacdfd9638dfe92
This puts PTY on par with e.g. rs232 as well as behavior documented
for other OSes. It is not a fix for an issue in userland, though.
- add a (minimal) test case to test77;
- fix a few other minor issues in test77.
Change-Id: I89c000921ee69dd9f5713665349c1ab1ad1dc2cc