Official MINIX sources - Automatically replicated from gerrit.minix3.org
Go to file
David van Moolenbroek 3835235193 Remove support for reopening character devices
Previously, VFS would reopen a character device after a driver crash
if the associated file descriptor was opened with the O_REOPEN flag.
This patch removes support for this feature. The code was complex,
full of uncovered corner cases, and hard to test. Moreover, it did not
actually hide the crash from user applications: they would get an
error code to indicate that something went wrong, and have to decide
based on the nature of the underlying device how to continue.

- remove support for O_REOPEN, and make playwave(1) reopen its device;
- remove support for the DEV_REOPEN protocol message;
- remove all code in VFS related to reopening character devices;
- no longer change VFS filp reference count and FD bitmap upon filp
  invalidation; instead, make get_filp* fail all calls on invalidated
  FDs except when obtained with the locktype VNODE_OPCL which is used
  by close_fd only;
- remove the VFS fproc file descriptor bitmap entirely, returning to
  the situation that a FD is in use if its slot points to a filp; use
  FILP_CLOSED as single means of marking a filp as invalidated.

Change-Id: I34f6bc69a036b3a8fc667c1f80435ff3af56558f
2013-09-28 00:10:56 +02:00
benchmarks Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
bin Import NetBSD df(1) 2013-09-28 00:10:40 +02:00
commands Remove support for reopening character devices 2013-09-28 00:10:56 +02:00
common a bit more -Werror compatability 2013-08-20 11:37:40 +02:00
dist/nvi Termcap update, replacing elvis by nvi. 2013-01-24 07:44:38 +01:00
distrib TTY: use libchardriver; clean up 2013-09-28 00:10:55 +02:00
docs Allow install of binutils and import texinfo 2013-07-12 14:18:08 +02:00
drivers TTY: use libchardriver; clean up 2013-09-28 00:10:55 +02:00
etc Retire the synchronous character driver protocol 2013-09-28 00:10:48 +02:00
external libarchive: use -isystem for /usr/include 2013-08-30 17:21:01 +02:00
gnu Prevent make -C gnu from installing files in / 2013-09-17 15:19:50 +02:00
include Remove support for reopening character devices 2013-09-28 00:10:56 +02:00
kernel Removing CSU patches 2013-09-28 00:10:47 +02:00
lib Remove support for reopening character devices 2013-09-28 00:10:56 +02:00
libexec increase -Werror resilience 2013-08-21 13:53:39 +02:00
man Retire EBADIOCTL in favor of ENOTTY 2013-09-28 00:10:55 +02:00
releasetools Import NetBSD df(1) 2013-09-28 00:10:40 +02:00
sbin Enable getmntinfo(3) 2013-09-28 00:10:26 +02:00
servers Remove support for reopening character devices 2013-09-28 00:10:56 +02:00
share fix sysroot clang 2013-09-28 00:03:42 +02:00
sys Retire EBADIOCTL in favor of ENOTTY 2013-09-28 00:10:55 +02:00
test VFS: select(2) fixes 2013-09-28 00:10:55 +02:00
tests fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
tools x86 hd image creator 2013-09-25 19:30:22 +02:00
usr.bin usr.bin/stat Update 2013-09-28 00:03:44 +02:00
usr.sbin increase -Werror resilience 2013-08-21 13:53:39 +02:00
.gitignore gitignore: ignore some more generated files 2012-12-06 13:29:20 +00:00
.gitreview misc:Add gerrit code review support. 2013-01-16 09:44:16 +01:00
build.sh Reverting back to default value of MKARZERO 2013-01-17 10:03:58 +01:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile Importing NetBSD "Kyua" test framework 2013-07-23 20:43:41 +02:00