While no problems have been observed in practice yet, modern compilers
may reorder memory access operations, and that could lead to problems
with memory-mapped I/O typically done by drivers. This patch prevents
any potentially problematic reordering by the compiler in the ATL2
driver.
In addition, this patch removes a number of gcc/clang warnings.
While no problems have been observed in practice yet, modern compilers
may reorder memory access operations, and that could lead to problems
with memory-mapped I/O typically done by drivers. This patch prevents
any potentially problematic reordering by the compiler in the AHCI
driver.
This patch adds support for executing multiple concurrent requests on
different devices on the same AHCI controller. The libdriver library
has been extended to include a generic multithreading interface, and
the AHCI driver has been extended to make use of this interface.
The original version of this code has been written by Arne Welzel.
In certain cases, a process ID may be reused between two lazy updates
of procfs's PID table. If the new associated process slot has a lower
index than the old one, this will trigger an assert in vtreefs, as the
new PID name entry is added before the old one is removed. This patch
fixes the problem by always first removing old PID name entries before
adding new ones.
Thomas Veerman [Wed, 26 Oct 2011 13:28:41 +0000 (13:28 +0000)]
Make AVFS deal intelligently with back calling FSes
PUFFS file systems need to make back calls for every operation we
send to them. Consequently, they cannot handle block reads and writes
themselves. Instead, the root file system has to do it (for now).
When the mount operation causes an FS to make a back call, AVFS now
concludes that every block read and write for that FS has to go
through the root file system.
Ben Gras [Mon, 26 Sep 2011 16:19:29 +0000 (16:19 +0000)]
update/fix manpage support
. add bsd-style MLINKS to minix man set, restoring aliases
(e.g. man add64 -> int64)
. update daily cron script to run makewhatis and restore makewhatis
in man Makefile (makedb), restores functionality of man -k
. netbsd imports of man, mdocml, makewhatis, libutil, apropos
. update man.conf with manpage locations, restoring man [-s] <section>
. throws out some obsolete manpages
Thomas Veerman [Mon, 12 Sep 2011 09:00:24 +0000 (09:00 +0000)]
Fix off-by-one errors and increase PATH_MAX to 1024
In some places it was assumed that PATH_MAX does not include a
terminating null character.
Increases PATH_MAX to 1024 to get in sync with NetBSD. Required some
rewriting in AVFS to keep memory usage low (the stack in use by a thread
is very small).
Ben Gras [Thu, 8 Sep 2011 16:49:54 +0000 (16:49 +0000)]
add -lminixfs with fs support routines
. move cache size heuristic from mfs there
so mfs and ext2 can share it
. add vfs credentials retrieving function, with
backwards compatability from previous struct
format, to be used by both ext2 and mfs
. fix for ext2 - STATICINIT was fed no.
of bytes instead of no. of elements, overallocating
memory by a megabyte or two for the superblock
Thomas Veerman [Fri, 26 Aug 2011 15:14:55 +0000 (15:14 +0000)]
Let FSes exit themselves upon system shutdown
During shutdown all processes are semi-exited and FSes are unmounted.
This semi-exit causes trouble for FUSE mounts as they still need access
to file descriptors and working directory in order to unmount.
Thomas Veerman [Fri, 26 Aug 2011 13:16:16 +0000 (13:16 +0000)]
Clean up tests and do runtime test for max name length
- Remove unused code
- Use standard functions declared in common.c
- Change tests to do a runtime test for the max name length of a path
component (aka NAME_MAX). The actual value might differ from the hard
coded NAME_MAX depending on the file system used.
Ben Gras [Thu, 18 Aug 2011 00:08:38 +0000 (00:08 +0000)]
use minix malloc
. default jemalloc is not too easy to compile without threads
libraries/types
. non-default malloc has odd virtual address space binge problem
. switch to ack/minix malloc in old libc for now
Ben Gras [Thu, 4 Aug 2011 23:15:16 +0000 (23:15 +0000)]
increase system-wide filename limit to 255
. move mfs-specific struct, constants to mfs/, so
mfs-specific, on-disk format structs and consts are
fully isolated from generic structs and functions
. removes de and readfs utils
Thomas Cort [Sun, 14 Aug 2011 12:41:39 +0000 (12:41 +0000)]
mkdir: allow 'mkdir -p' with trailing '/'
Let's suppose that /usr/tmp exists and one wants /usr/tmp/a/b
If one runs "mkdir -p /usr/tmp/a/b/" (the '/' at the end is
important), then a "File exists" error comes up. Example: