No description
Find a file
David van Moolenbroek 87337273e4 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
2014-03-01 09:04:52 +01:00
benchmarks Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
bin Import NetBSD df(1) 2014-02-18 11:25:02 +01:00
commands Remove support for reopening character devices 2014-03-01 09:04:52 +01: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 2014-03-01 09:04:52 +01:00
docs Allow install of binutils and import texinfo 2013-07-12 14:18:08 +02:00
drivers ARM serial driver: Comment termios_baud_rate. 2014-03-01 09:04:52 +01:00
etc Retire the synchronous character driver protocol 2014-02-18 11:25:02 +01:00
external Fix some unintialized variables with -O3 2013-10-08 11:45:49 +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 2014-03-01 09:04:52 +01:00
kernel Removing CSU patches 2014-02-18 11:25:02 +01:00
lib Remove support for reopening character devices 2014-03-01 09:04:52 +01:00
libexec increase -Werror resilience 2013-08-21 13:53:39 +02:00
man Retire EBADIOCTL in favor of ENOTTY 2014-03-01 09:04:51 +01:00
releasetools Import NetBSD df(1) 2014-02-18 11:25:02 +01:00
sbin Enable getmntinfo(3) 2014-02-18 11:25:02 +01:00
servers Remove support for reopening character devices 2014-03-01 09:04:52 +01:00
share fix sysroot clang 2014-02-18 11:25:01 +01:00
sys Retire EBADIOCTL in favor of ENOTTY 2014-03-01 09:04:51 +01:00
test VFS: select(2) fixes 2014-03-01 09:04:51 +01:00
tests Importing usr.bin/id 2013-11-12 10:15:47 -05:00
tools x86_hdimage.sh -i: crossbuild x86 release CD 2013-11-07 13:44:22 +00:00
usr.bin usr.bin/stat Update 2014-02-18 11:25:01 +01:00
usr.sbin mkfs.mfs, mkproto: minor features 2013-11-19 15:58:05 +00: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