minix/include/minix
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
..
acpi.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
audio_fw.h libaudiodriver: use libchardriver 2013-09-28 00:10:54 +02:00
bdev.h Block protocol: add user endpoint to IOCTL request 2013-09-28 00:10:53 +02:00
bitmap.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
blockdriver_mt.h libblockdriver: expose BLOCKDRIVER_MAX_DEVICES 2013-09-28 00:10:52 +02:00
blockdriver.h Block drivers: make IOCTL request unsigned long 2013-09-28 00:10:53 +02:00
btrace.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
callnr.h Make PFS backcalls regular VFS calls 2013-09-28 00:10:56 +02:00
chardriver.h libchardriver: full API rewrite 2013-09-28 00:10:53 +02:00
clkconf.h i2c: initial bus drivers for am335x and dm37xx 2013-07-15 11:11:13 -04:00
com.h Remove support for reopening character devices 2013-09-28 00:10:56 +02:00
config.h Bumping version to 3.3.0 2013-09-28 00:03:25 +02:00
const.h kernel, ramdisk: some boot unification 2013-03-07 14:29:27 +00:00
cpufeature.h SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
debug.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
devio.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
devman.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
dirent.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
dmap.h Retire the synchronous character driver protocol 2013-09-28 00:10:48 +02:00
driver.h Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
drivers.h moving prototypes to lib.h 2013-09-28 00:03:43 +02:00
drvlib.h Move SUB_PER_DRIVE definition into minix/drvlib.h 2013-09-28 00:10:51 +02:00
ds.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
endpoint.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
fb.h fb: introduce framebuffer support to Minix 2013-02-21 10:29:08 +00:00
fslib.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
gcov.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
gpio.h fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
hash.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
hgfs.h Create SFFS library out of HGFS 2012-04-09 18:08:26 +02:00
i2c.h i2c: initial bus drivers for am335x and dm37xx 2013-07-15 11:11:13 -04:00
i2cdriver.h libi2cdriver: add functions for IC register access 2013-09-18 08:10:26 -04:00
input.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
ioctl.h almost aligned ioctl prototype 2013-09-28 00:03:44 +02:00
ipc.h Removing CSU patches 2013-09-28 00:10:47 +02:00
ipcconst.h machine/ipcconst.h for arch-specific constants 2012-08-27 19:46:41 -04:00
keymap.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
libminixfs.h 32 to 64 bits fsblkcnt_t and fsfilcnt_t. 2013-09-28 00:03:43 +02:00
log.h GPIO:further development 2013-02-06 16:07:43 +01:00
Makefile TTY: use libchardriver; clean up 2013-09-28 00:10:55 +02:00
minlib.h Removing obsolete _NBSD_LIBC define 2013-02-26 09:44:24 +00:00
mmio.h mmio: add 16-bit variants of read/write/set 2013-08-13 16:29:22 -04:00
mount.h Redo mount(2)/umount(2) ABI 2013-09-28 00:09:33 +02:00
mthread.h Removing obsolete _NBSD_LIBC define 2013-02-26 09:44:24 +00:00
netdriver.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
netsock.h libnetsock: use libchardriver 2013-09-28 00:10:55 +02:00
optset.h a bit more -Werror compatability 2013-08-20 11:37:40 +02:00
padconf.h kernel: add padconf kernel call 2013-08-28 12:53:05 -04:00
param.h impove memory accounting 2013-02-11 19:31:57 +01:00
partition.h Rename "struct partition" to "struct part_geom" 2013-03-20 16:14:21 +00:00
paths.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
portio.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
priv.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
procfs.h VFS: remove FP_BLOCKED_ON_DOPEN 2013-09-28 00:10:48 +02:00
profile.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
queryparam.h retire _ANSI and <minix/ansi.h> 2012-03-25 21:58:27 +02:00
reboot.h Move MINIX reboot definitions into minix/reboot.h 2013-03-20 16:50:01 +00:00
rs.h VM: support for shared call mask ACLs 2013-08-08 23:22:58 +02:00
safecopies.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
sched.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
sef.h SEF: add sef_cancel() 2012-04-09 16:35:57 +02:00
sffs.h Create SFFS library out of HGFS 2012-04-09 18:08:26 +02:00
sound.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
spin.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
sys_config.h VM: slight pagedir mapping generalization 2013-02-10 21:50:34 +01:00
sysinfo.h Implement support for getvfsstat(2) 2013-09-28 00:09:43 +02:00
syslib.h Retire the synchronous character driver protocol 2013-09-28 00:10:48 +02:00
sysutil.h vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
termios.h ABI Break: aligning struct termios 2013-09-28 00:03:43 +02:00
timers.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
type.h kernel, libsys: make it arm-target-independent 2013-06-17 09:55:36 +02:00
u64.h Some more 64bit function eradication. 2013-08-07 12:35:53 +00:00
usb_ch9.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
usb.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
vbox.h VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vboxfs.h Add libvboxfs: VirtualBox shared folders library 2012-04-09 19:25:18 +02:00
vboxif.h VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vboxtype.h VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vfsif.h Make PFS backcalls regular VFS calls 2013-09-28 00:10:56 +02:00
virtio.h Alignement on netbsd types, part 1 2013-09-28 00:03:42 +02:00
vm.h VM: support for shared call mask ACLs 2013-08-08 23:22:58 +02:00
vtreefs.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00