]> Zhao Yanbai Git Server - minix.git/log
minix.git
12 years agoAdd fbd -- Faulty Block Device driver
David van Moolenbroek [Sun, 11 Dec 2011 18:32:13 +0000 (19:32 +0100)]
Add fbd -- Faulty Block Device driver

This driver can be loaded as an overlay on top of a real block
device, and can then be used to generate block-level failures for
certain transfer requests. Specifically, a rule-based system allows
the user to introduce (overt and silent) data corruption and errors.

It exposes itself through /dev/fbd, and a file system can be mounted
on top of it. The new fbdctl(8) tool can be used to control the
driver; see ``man fbdctl'' for details. It also comes with a test
set, located in test/fbdtest.

12 years agoblocktest: support for stateless driver restarts
David van Moolenbroek [Sun, 11 Dec 2011 18:27:23 +0000 (19:27 +0100)]
blocktest: support for stateless driver restarts

12 years agolibblockdriver: clear IPC only on stateful restart
David van Moolenbroek [Sun, 11 Dec 2011 21:36:19 +0000 (22:36 +0100)]
libblockdriver: clear IPC only on stateful restart

This removes a race condition when the block driver performs a
complete restart after a crash (the new default). If any user of
the driver finds out its new endpoint and sends a request to the
new driver instance before this instance has had the chance to
initialize, then its initialization would clear all IPC state and
thereby erroneously cancel the incoming request. Clearing IPC
state is only desired upon a stateful restart (where the driver's
endpoint is retained). This information is now passed to and used
by libblockdriver accordingly.

12 years agoblocktest: resolve label/minor in userland
David van Moolenbroek [Sun, 11 Dec 2011 14:37:35 +0000 (15:37 +0100)]
blocktest: resolve label/minor in userland

The test script now resolves the device node into a <label,minor>
pair, so that the blocktest driver itself no longer has to. This
removes blocktest's dependency on VFS' internal data structures.

Also allow blocktest to be linked using with gcc/clang.

12 years agoprocfs: add /proc/dmap
David van Moolenbroek [Sun, 11 Dec 2011 14:24:28 +0000 (15:24 +0100)]
procfs: add /proc/dmap

12 years agoIS: unbreak F6
David van Moolenbroek [Sun, 11 Dec 2011 02:15:54 +0000 (03:15 +0100)]
IS: unbreak F6

12 years agoAdd "expected size" parameter to getsysinfo()
David van Moolenbroek [Sun, 11 Dec 2011 21:30:35 +0000 (22:30 +0100)]
Add "expected size" parameter to getsysinfo()

This patch provides basic protection against damage resulting from
differently compiled servers blindly copying tables to one another.
In every getsysinfo() call, the caller is provided with the expected
size of the requested data structure. The callee fails the call if
the expected size does not match the data structure's actual size.

12 years agoServers: cleanup of some gcc -W warnings
David van Moolenbroek [Sun, 11 Dec 2011 21:32:26 +0000 (22:32 +0100)]
Servers: cleanup of some gcc -W warnings

12 years agoacpi: resolve warnings
David van Moolenbroek [Sat, 10 Dec 2011 15:14:23 +0000 (16:14 +0100)]
acpi: resolve warnings

12 years agoProperly unlock on mount failure
Thomas Veerman [Fri, 9 Dec 2011 15:47:42 +0000 (15:47 +0000)]
Properly unlock on mount failure

12 years agoChange asserts with side effects into panics
Thomas Veerman [Fri, 9 Dec 2011 14:46:10 +0000 (14:46 +0000)]
Change asserts with side effects into panics

12 years agoFix dangling symlink resolving for AVFS and add test61
Thomas Veerman [Thu, 8 Dec 2011 15:01:47 +0000 (15:01 +0000)]
Fix dangling symlink resolving for AVFS and add test61

12 years agoadd -L for future compiler-rt lib location
Ben Gras [Thu, 8 Dec 2011 17:07:30 +0000 (18:07 +0100)]
add -L for future compiler-rt lib location

12 years agoProvide core dumping support for AVFS
Thomas Veerman [Thu, 8 Dec 2011 10:47:11 +0000 (10:47 +0000)]
Provide core dumping support for AVFS

12 years agoEnable GCOV always
Thomas Veerman [Wed, 7 Dec 2011 15:20:26 +0000 (15:20 +0000)]
Enable GCOV always

12 years agoFix test43 for GCC/Clang
Thomas Veerman [Wed, 7 Dec 2011 15:17:38 +0000 (15:17 +0000)]
Fix test43 for GCC/Clang

12 years agobtrace: gcc fix
David van Moolenbroek [Wed, 7 Dec 2011 10:52:12 +0000 (11:52 +0100)]
btrace: gcc fix

12 years agofix bzip2 location in nbsd_ports
Ben Gras [Tue, 6 Dec 2011 15:22:54 +0000 (16:22 +0100)]
fix bzip2 location in nbsd_ports

12 years agoadd previous stat symbols as aliases
Ben Gras [Mon, 5 Dec 2011 23:58:22 +0000 (00:58 +0100)]
add previous stat symbols as aliases

. renaming them causes fallout
. only use the new ones though

12 years agoprinter: perform probe on startup
David van Moolenbroek [Mon, 5 Dec 2011 09:54:58 +0000 (10:54 +0100)]
printer: perform probe on startup

This stops the printer driver from hanging the entire system when
/dev/lp is opened on systems that do not have a parallel port. With
this change, the printer driver shuts down immediately after loading
on such systems.

12 years agolibbdev: extended version
David van Moolenbroek [Mon, 5 Dec 2011 09:53:57 +0000 (10:53 +0100)]
libbdev: extended version

This version of libbdev support asynchronous communication,
recovery after driver restarts, and retrying of failed transfer
operations.

12 years agovfs/avfs: req_newdriver should use fs_sendrec
David van Moolenbroek [Mon, 5 Dec 2011 09:52:46 +0000 (10:52 +0100)]
vfs/avfs: req_newdriver should use fs_sendrec

Using sendrec directly only results in problems. While it is not
clear whether using fs_sendrec is the best option, it is at least
an improvement.

Also remove some legacy cruft.

12 years agoMake block drivers restart with new endpoint
David van Moolenbroek [Mon, 5 Dec 2011 09:52:21 +0000 (10:52 +0100)]
Make block drivers restart with new endpoint

12 years agoSEF: default to endpoint-changing restart
David van Moolenbroek [Mon, 5 Dec 2011 09:51:58 +0000 (10:51 +0100)]
SEF: default to endpoint-changing restart

12 years agoRS: support for endpoint-changing driver restarts
David van Moolenbroek [Mon, 5 Dec 2011 09:51:30 +0000 (10:51 +0100)]
RS: support for endpoint-changing driver restarts

12 years agoinit: write boot entry to root wtmp
David van Moolenbroek [Mon, 5 Dec 2011 09:55:50 +0000 (10:55 +0100)]
init: write boot entry to root wtmp

This unbreaks the fsck check on startup.

12 years ago.gitignore: add more generated files
David van Moolenbroek [Sat, 3 Dec 2011 23:03:28 +0000 (00:03 +0100)]
.gitignore: add more generated files

12 years agolibmthread: add mthread_event_fire_all
Raja Appuswamy [Thu, 1 Dec 2011 13:52:25 +0000 (14:52 +0100)]
libmthread: add mthread_event_fire_all

12 years agolibblockdriver: allow for mixed sync/async replies
David van Moolenbroek [Wed, 30 Nov 2011 18:07:04 +0000 (19:07 +0100)]
libblockdriver: allow for mixed sync/async replies

12 years agoVFS/FS: REQ_NEW_DRIVER now provides a label
David van Moolenbroek [Wed, 30 Nov 2011 18:05:26 +0000 (19:05 +0100)]
VFS/FS: REQ_NEW_DRIVER now provides a label

12 years agoFix stat symbols
Thomas Veerman [Tue, 29 Nov 2011 11:39:22 +0000 (11:39 +0000)]
Fix stat symbols

12 years agolibpuffs: remove unused block device code
David van Moolenbroek [Tue, 29 Nov 2011 15:02:37 +0000 (16:02 +0100)]
libpuffs: remove unused block device code

12 years agoadding rwlock and event support to mthread
Raja Appuswamy [Tue, 29 Nov 2011 13:03:49 +0000 (14:03 +0100)]
adding rwlock and event support to mthread

12 years agolibblockdriver: allow for not handling partitions
David van Moolenbroek [Fri, 25 Nov 2011 13:56:46 +0000 (14:56 +0100)]
libblockdriver: allow for not handling partitions

Each block driver now gets to specify whether it is a disk block
driver, which implies it wants the library to handle getting and
setting partitions for it.

12 years agoDon't run package rc's when booting from cd.
Ben Gras [Fri, 25 Nov 2011 16:34:06 +0000 (17:34 +0100)]
Don't run package rc's when booting from cd.

12 years agoetc: Make fixes
Ben Gras [Fri, 25 Nov 2011 17:27:22 +0000 (18:27 +0100)]
etc: Make fixes

. leave out obsolete binary_sizes*
. really force targets

12 years agoFine grained compatibility with _RENAMEd symbols
Thomas Veerman [Mon, 28 Nov 2011 10:12:44 +0000 (10:12 +0000)]
Fine grained compatibility with _RENAMEd symbols

The NetBSD libc provides a mechanism to have versions of system calls.
By 'renaming' symbols to a new version, freshly compiled programs will
automatically use the new symbol iff they use the proper header files. The
old, not renamed, version of the symbol will still exist (after being moved
to the compat directory), so old programs can still link.

Since MINIX doesn't support dynamic linking, the whole rename mechanism
doesn't really work for us. However, removing it would create a huge diff
with the current NetBSD libc.

A lot of the compat code relies on things we don't (seem to) have, and
therefore does not get built and linked. This causes trouble for tools like
autoconf, which will fail to find the renamed symbols. For example,
currently select gets renamed to __select50 in libc. Autoconf looks for
'select' and doesn't find it and reports we don't have it. This is where
the compat.S stub comes into play: it generates the old symbols and jumps to
the new symbols. However, as this is done in one object file, all renamed
symbols get linked together, causing binaries to be huge. This patch fixes
that by generating an object file for each renamed symbol.

This patch also makes the MISSING_SYSCALLS more complete and marginally
reduces the diff with NetBSD.

12 years agoFix many more comiler warnings
Thomas Veerman [Mon, 28 Nov 2011 10:07:55 +0000 (10:07 +0000)]
Fix many more comiler warnings

Most warnings were harmless, some real bugs. Test set should now compile
cleanly with ack, gcc, and clang.

12 years agoImplement issetugid syscall
Thomas Veerman [Mon, 28 Nov 2011 10:03:43 +0000 (10:03 +0000)]
Implement issetugid syscall

Implement issetugid syscall and provide a test. This gets rid of the
scary "Unsecure. Implement me" warning during compilation.

12 years agovm: report cropped region sizes
Ben Gras [Sat, 26 Nov 2011 15:12:17 +0000 (15:12 +0000)]
vm: report cropped region sizes

. when reporting on regions, only report part of the
  region (addr and length) that really has memory mapped
  into it
. to minimise core files

12 years agofix rm -f
Joseph Koshy [Fri, 25 Nov 2011 16:20:33 +0000 (21:50 +0530)]
fix rm -f

    "/bin/rm" should not issue a usage message if the "-f" option was
    specified.

12 years agoAdd block device tracing facility
David van Moolenbroek [Thu, 24 Nov 2011 13:50:13 +0000 (14:50 +0100)]
Add block device tracing facility

The implementation is in libblockdriver, and works transparently for
all block drivers. The new btrace(8) tool can be used to control block
tracing; see ``man btrace'' for details.

12 years agovfs/avfs: map O_ACCMODE to R_BIT|W_BIT on recovery
David van Moolenbroek [Thu, 24 Nov 2011 12:57:36 +0000 (13:57 +0100)]
vfs/avfs: map O_ACCMODE to R_BIT|W_BIT on recovery

12 years agoavfs: unbreak process termination on PM_DUMPCORE
David van Moolenbroek [Thu, 24 Nov 2011 12:04:52 +0000 (13:04 +0100)]
avfs: unbreak process termination on PM_DUMPCORE

12 years agoAdd vbox -- VirtualBox time sync driver
David van Moolenbroek [Wed, 23 Nov 2011 17:15:43 +0000 (18:15 +0100)]
Add vbox -- VirtualBox time sync driver

Sets time forward to match the host time.

Started automatically if the corresponding device is present.

12 years agoFS servers: fix dependencies broken in git-af01bda
David van Moolenbroek [Wed, 23 Nov 2011 16:03:16 +0000 (17:03 +0100)]
FS servers: fix dependencies broken in git-af01bda

12 years agochange rc defaults reading
Ben Gras [Wed, 23 Nov 2011 15:01:00 +0000 (15:01 +0000)]
change rc defaults reading

. always install them (overwrite)
. source minix one from /etc/defaults/rc.conf
  so that it'll get read on existing installs
  without overwriting rc.conf (doesn't happen by default
  as it's user-editable), needed for new netconf system
. reported by Tenkawa

12 years agonetconf: run lspci earlier for netconf -c
Ben Gras [Wed, 23 Nov 2011 15:03:27 +0000 (15:03 +0000)]
netconf: run lspci earlier for netconf -c

. Reported by Tenkawa

12 years agogcore: uninitialized variable fix and cleanup
David van Moolenbroek [Wed, 23 Nov 2011 14:56:13 +0000 (15:56 +0100)]
gcore: uninitialized variable fix and cleanup

12 years agoahci: FUA (force-write) support
David van Moolenbroek [Wed, 23 Nov 2011 14:35:07 +0000 (15:35 +0100)]
ahci: FUA (force-write) support

12 years agoSplit block/character protocols and libdriver
David van Moolenbroek [Tue, 22 Nov 2011 12:27:53 +0000 (13:27 +0100)]
Split block/character protocols and libdriver

This patch separates the character and block driver communication
protocols. The old character protocol remains the same, but a new
block protocol is introduced. The libdriver library is replaced by
two new libraries: libchardriver and libblockdriver. Their exposed
API, and drivers that use them, have been updated accordingly.
Together, libbdev and libblockdriver now completely abstract away
the message format used by the block protocol. As the memory driver
is both a character and a block device driver, it now implements its
own message loop.

The most important semantic change made to the block protocol is that
it is no longer possible to return both partial results and an error
for a single transfer. This simplifies the interaction between the
caller and the driver, as the I/O vector no longer needs to be copied
back. Also, drivers are now no longer supposed to decide based on the
layout of the I/O vector when a transfer should be cut short. Put
simply, transfers are now supposed to either succeed completely, or
result in an error.

After this patch, the state of the various pieces is as follows:
- block protocol: stable
- libbdev API: stable for synchronous communication
- libblockdriver API: needs slight revision (the drvlib/partition API
  in particular; the threading API will also change shortly)
- character protocol: needs cleanup
- libchardriver API: needs cleanup accordingly
- driver restarts: largely unsupported until endpoint changes are
  reintroduced

As a side effect, this patch eliminates several bugs, hacks, and gcc
-Wall and -W warnings all over the place. It probably introduces a
few new ones, too.

Update warning: this patch changes the protocol between MFS and disk
drivers, so in order to use old/new images, the MFS from the ramdisk
must be used to mount all file systems.

12 years agocompile fix (gdb, binutils)
Ben Gras [Wed, 23 Nov 2011 12:34:26 +0000 (13:34 +0100)]
compile fix (gdb, binutils)

12 years agosmall ramdisk: install all password-related files
Arun Thomas [Wed, 23 Nov 2011 08:42:11 +0000 (09:42 +0100)]
small ramdisk: install all password-related files

12 years agoIntroduce sys_getregs call, and let vfs use it
David van Moolenbroek [Tue, 22 Nov 2011 01:07:33 +0000 (02:07 +0100)]
Introduce sys_getregs call, and let vfs use it

12 years agogcore command to coredump a process
Adriana Szekeres [Tue, 22 Nov 2011 15:41:47 +0000 (16:41 +0100)]
gcore command to coredump a process

12 years agoELF core files
Adriana Szekeres [Sat, 30 Jul 2011 06:03:23 +0000 (06:03 +0000)]
ELF core files

12 years agoramdisk: install all password-related files
Arun Thomas [Tue, 22 Nov 2011 17:17:25 +0000 (18:17 +0100)]
ramdisk: install all password-related files

12 years agoramdisk: build pwd_mkdb
Arun Thomas [Tue, 22 Nov 2011 15:20:05 +0000 (16:20 +0100)]
ramdisk: build pwd_mkdb

12 years agofxp: add device id in the right place
Ben Gras [Tue, 22 Nov 2011 10:17:07 +0000 (11:17 +0100)]
fxp: add device id in the right place

12 years agofxp: add device id for LU82551IT
Ben Gras [Tue, 22 Nov 2011 10:09:08 +0000 (11:09 +0100)]
fxp: add device id for LU82551IT

Contributed by Roman Ignatov

12 years agoisofs: unbreak lseek
David van Moolenbroek [Tue, 22 Nov 2011 10:46:55 +0000 (11:46 +0100)]
isofs: unbreak lseek

12 years agocsu: add code to call constructors to be used by clang
Ben Gras [Mon, 15 Aug 2011 17:25:44 +0000 (17:25 +0000)]
csu: add code to call constructors to be used by clang

. clang-linked binaries were not calling global constructors, as the
  code to do so wasn't in csu/ and linked
. it does work for gcc as it uses its self-supplied crt{begin,end} code
. this commit copies netbsd's crt{begin,end}.S, which contains
  constructor/destructor calling code, called from .init and .fini
  sections already accumulated by the linker. the _init function was already
  called by the C startup code before calling main.
. based on work by Antoine Leca

12 years agocompat.S: add getpwnam() alias.
Thomas Cort [Sun, 20 Nov 2011 17:30:12 +0000 (17:30 +0000)]
compat.S: add getpwnam() alias.

Needed for finding getpwnam() when a prototype is not given.

12 years agopm: add mproc table sanity check feature
Ben Gras [Sun, 23 Oct 2011 22:39:30 +0000 (22:39 +0000)]
pm: add mproc table sanity check feature

. make procfs check it
. detects pm/procfs mismatches
. was triggered by ack/clang pm/procfs:
  add padding to mproc struct to align ack/clang layout
  to fix this

12 years agosimplify build logic a bit
Ben Gras [Sun, 23 Oct 2011 23:53:30 +0000 (23:53 +0000)]
simplify build logic a bit

. always compile acpi, with clang, so never have
  build/clean inconsistencies; can be enabled (i.e. run
  at boot time) by setting acpi variable in the boot monitor
. always strip binaries with the right strip cmd, so never
  have ack/elf strip inconsistencies

12 years agomake: set MACHINE_ARCH variable
Arun Thomas [Fri, 18 Nov 2011 15:12:30 +0000 (16:12 +0100)]
make: set MACHINE_ARCH variable

Also, modify sys.mk so we continue to build with -O

12 years agoremove ftpd200
Ben Gras [Fri, 18 Nov 2011 11:19:50 +0000 (12:19 +0100)]
remove ftpd200

12 years agominor bugfixes caught by clang warnings
Ben Gras [Fri, 18 Nov 2011 11:18:23 +0000 (12:18 +0100)]
minor bugfixes caught by clang warnings

12 years agolibarchive: not for ack
Ben Gras [Fri, 18 Nov 2011 10:49:21 +0000 (11:49 +0100)]
libarchive: not for ack

. fixes compile error due to missing bzlib.h for ack
. one less ack library

12 years agoimport NetBSD bzip2 and libbz2
Vivek Prakash [Wed, 17 Aug 2011 19:48:49 +0000 (19:48 +0000)]
import NetBSD bzip2 and libbz2

12 years agobase system hooks for pkgsrc drivers
Ben Gras [Thu, 13 Oct 2011 12:27:30 +0000 (12:27 +0000)]
base system hooks for pkgsrc drivers

. rc script and service know to look in /usr/pkg/.. for
  extra binaries and conf files
. service split into parsing config and doing RS request
  so that a new utility (printconfig) can just print the
  config in machine-parseable format for netconf integration
. converted all base system eth drivers/netconf

12 years agopwcache_userdb alias.
Ben Gras [Wed, 16 Nov 2011 11:54:08 +0000 (12:54 +0100)]
pwcache_userdb alias.

. mainly so configure can find it without the prototype.

12 years agoMore cleanup: no more CMOS and SCSI ioctls
David van Moolenbroek [Fri, 11 Nov 2011 16:26:00 +0000 (17:26 +0100)]
More cleanup: no more CMOS and SCSI ioctls

12 years agoDefine flags in sys/stat.h
Vivek Prakash [Sun, 13 Nov 2011 04:38:52 +0000 (04:38 +0000)]
Define flags in sys/stat.h

12 years agorelease.sh: add -e
Ben Gras [Mon, 14 Nov 2011 23:24:37 +0000 (23:24 +0000)]
release.sh: add -e

. allows extra files in release for flexibility
. written by Jan Wieck

12 years agodf: add case for MFSv3
Ben Gras [Mon, 14 Nov 2011 22:18:31 +0000 (22:18 +0000)]
df: add case for MFSv3

. fix for FSes mounted with '-t mfs' syntax

12 years agoSwitch to NetBSD passwd format
Ben Gras [Fri, 30 Sep 2011 10:18:10 +0000 (10:18 +0000)]
Switch to NetBSD passwd format
Based on work by Vivek Prakash and Gianluca Guida.

See UPDATING about caveats on currently existing accounts.

. restores netbsd libc pwcache functions

12 years agomainstream-format fstab format
Ben Gras [Wed, 9 Nov 2011 15:34:47 +0000 (16:34 +0100)]
mainstream-format fstab format

. detect both formats in /etc/rc
. generate new format in setup
. obsoletes /etc/fstab.local: everything can go in /etc/fstab
. put shutdown/reboot/halt and a copy of /usr/adm/wtmp
  (/etc/wtmp) on root FS so that we can do shutdown checks before
  mounting /usr
. new fstab format makes getfsent() and friends work

12 years agoFix compiler warnings
Thomas Veerman [Mon, 14 Nov 2011 14:21:39 +0000 (14:21 +0000)]
Fix compiler warnings

12 years agoImport librefuse and libpuffs
Thomas Veerman [Mon, 14 Nov 2011 11:53:05 +0000 (11:53 +0000)]
Import librefuse and libpuffs

Import libpuffs and our port of libpuffs. The port was done as part of
GSoC 2011 FUSE project, done by Evgeniy Ivanov. The librefuse import
did not require any porting efforts. Libpuffs has been modified to
understand our VFS-FS protocol and translate between that and PUFFS. As
an example that it works, fuse-ntfs-3g from pkgsrc can be compiled and
used to mount ntfs partitions:
mount -t ntfs-3g <device> <mountpoint>

FUSE only works with the asynchronous version of VFS. See <docs/UPDATING> on
how to run AVFS.

This patch further includes some changes to mount(1) and mount(2) so it's
possible to use file systems provided by pkgsrc (note: manual modifications
to /etc/system.conf are still needed. There has been made an exception for
fuse-ntfs-3g, so it already as an entry).

12 years agoFix a ton of compiler warnings
Thomas Veerman [Mon, 14 Nov 2011 10:07:49 +0000 (10:07 +0000)]
Fix a ton of compiler warnings

This patch fixes most of current reasons to generate compiler warnings.
The changes consist of:
 - adding missing casts
 - hiding or unhiding function declarations
 - including headers where missing
 - add __UNCONST when assigning a const char * to a char *
 - adding missing return statements
 - changing some types from unsigned to signed, as the code seems to want
   signed ints
 - converting old-style function definitions to current style (i.e.,
   void func(param1, param2) short param1, param2; {...} to
   void func (short param1, short param2) {...})
 - making the compiler silent about signed vs unsigned comparisons. We
   have too many of those in the new libc to fix.

A number of bugs in the test set were fixed. These bugs were never
triggered with our old libc. Consequently, these tests are now forced to
link with the new libc or they will generate errors (in particular tests 43
and 55).

Most changes in NetBSD libc are limited to moving aroudn "#ifndef __minix"
or stuff related to Minix-specific things (code in sys-minix or gen/minix).

12 years agoMore cleanup of minix/com.h.
David van Moolenbroek [Fri, 11 Nov 2011 12:53:29 +0000 (13:53 +0100)]
More cleanup of minix/com.h.

12 years agops(1): remove outdated comment
David van Moolenbroek [Fri, 11 Nov 2011 10:37:44 +0000 (11:37 +0100)]
ps(1): remove outdated comment

12 years agops(1) man page: mem/kmem are no longer used
David van Moolenbroek [Fri, 11 Nov 2011 10:34:50 +0000 (11:34 +0100)]
ps(1) man page: mem/kmem are no longer used

12 years agoChange default pager to less(1)
David van Moolenbroek [Thu, 10 Nov 2011 15:58:46 +0000 (16:58 +0100)]
Change default pager to less(1)

For one thing, less(1) provides better interaction with git.

12 years agolibbdev: initial version
David van Moolenbroek [Wed, 9 Nov 2011 13:29:12 +0000 (14:29 +0100)]
libbdev: initial version

The "bdev" library provides basic primitives for file systems to talk
to block device drivers, hiding the details of the underlying protocol
and interaction model.

This version of libbdev is rather basic. It is planned to support the
following features in the long run:

 - asynchronous requests and replies;
 - recovery support for underlying block drivers;
 - retrying of failed I/O requests.

The commit also changes our block-based file systems (mfs, ext2, isofs)
to make use of libbdev.

12 years agoServers: remove ABI comment
David van Moolenbroek [Mon, 7 Nov 2011 21:24:59 +0000 (22:24 +0100)]
Servers: remove ABI comment

12 years agoMiscellaneous legacy cleanup
David van Moolenbroek [Mon, 7 Nov 2011 20:11:30 +0000 (21:11 +0100)]
Miscellaneous legacy cleanup

12 years agostopgap local fstab
Ben Gras [Thu, 3 Nov 2011 16:08:37 +0000 (17:08 +0100)]
stopgap local fstab

. /etc/fstab.local to list user-defined filesystems
. /usr/etc/rc reads it and runs type-specific fsck if necessary
. also type-specific mount

12 years agoKernel: fix compilation with DEBUG_RACE on
David van Moolenbroek [Mon, 7 Nov 2011 18:59:02 +0000 (19:59 +0100)]
Kernel: fix compilation with DEBUG_RACE on

12 years agoblocktest: add system.conf file, too
David van Moolenbroek [Mon, 7 Nov 2011 17:26:16 +0000 (18:26 +0100)]
blocktest: add system.conf file, too

12 years agoMove optset.c into libsys; remove redundant copies
David van Moolenbroek [Mon, 7 Nov 2011 15:16:08 +0000 (16:16 +0100)]
Move optset.c into libsys; remove redundant copies

12 years agoAdd "blocktest" test, for testing block drivers
David van Moolenbroek [Mon, 7 Nov 2011 13:53:11 +0000 (14:53 +0100)]
Add "blocktest" test, for testing block drivers

The test is located in test/blocktest. It requires hand-editing of
its configuration, and is not part of any automated test set.

12 years agoatl2: prevent compiler memory access misordering
David van Moolenbroek [Fri, 4 Nov 2011 13:14:59 +0000 (14:14 +0100)]
atl2: prevent compiler memory access misordering

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.

12 years agomfs: ditch global readahead
Ben Gras [Wed, 21 Sep 2011 18:48:48 +0000 (18:48 +0000)]
mfs: ditch global readahead

12 years agoDrivers: fix issues introduced by commit b198207
David van Moolenbroek [Fri, 4 Nov 2011 22:54:02 +0000 (23:54 +0100)]
Drivers: fix issues introduced by commit b198207

12 years agoahci: prevent compiler memory access misordering
David van Moolenbroek [Fri, 4 Nov 2011 13:11:34 +0000 (14:11 +0100)]
ahci: prevent compiler memory access misordering

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.

12 years agoahci/libdriver: multithreading support
David van Moolenbroek [Wed, 2 Nov 2011 16:31:38 +0000 (16:31 +0000)]
ahci/libdriver: multithreading support

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.

12 years agoprocfs: fix for PID reuse between updates
David van Moolenbroek [Tue, 1 Nov 2011 22:33:00 +0000 (22:33 +0000)]
procfs: fix for PID reuse between updates

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.

Bug reported by Stephen Hatton.

12 years agoKernel: remove unused MF_ASYNMSG
David van Moolenbroek [Tue, 1 Nov 2011 19:14:18 +0000 (19:14 +0000)]
Kernel: remove unused MF_ASYNMSG