freebsd-skq/sys/kern
Poul-Henning Kamp 21144e3bf1 Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd.  The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue.  It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users:  Greg has not had time to test this yet, be careful.
2000-03-20 10:44:49 +00:00
..
bus_if.m * Add struct resource_list* argument to resource_list_alloc and 1999-10-12 21:35:51 +00:00
device_if.m $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
imgact_aout.c s/p_cred->pc_ucred/p_ucred/g 1999-11-21 12:38:21 +00:00
imgact_elf.c Update a comment in elf_coredump to reflect that if you madvise 2000-02-28 06:36:45 +00:00
imgact_gzip.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
imgact_shell.c Allow comments in interpreter specification lines as in 2000-02-15 08:49:57 +00:00
inflate.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
init_main.c Add new oid, debug.boothowto. This allows userland apps to see 2000-02-25 11:43:08 +00:00
init_sysent.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:02:31 +00:00
kern_acct.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_acl.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
kern_clock.c Fix sign reversal in adjtime(2). 2000-02-13 10:56:32 +00:00
kern_conf.c Backout previous commit. It was a mistake. 2000-01-23 15:47:46 +00:00
kern_descrip.c Fix the style bugs in the style bugs fix. The style bug fix made the 2000-01-21 06:57:52 +00:00
kern_environment.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
kern_exec.c When we are execing a setugid program, and we have a procfs filesystem 2000-01-20 07:12:52 +00:00
kern_exit.c Handle the case where we truss an SUGID program -- in particular, we need 2000-01-10 04:09:05 +00:00
kern_fork.c Put on my asbestos underwear and commit the patch that I posted to -arch 1999-12-06 11:13:50 +00:00
kern_intr.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_jail.c Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
kern_kthread.c Panic if proc0 hasn't been created and we try to call kthread_create. 2000-01-10 08:00:58 +00:00
kern_ktrace.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_linker.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_lock.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
kern_lockf.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
kern_malloc.c Print "previous type" correctly when INVARIANTS is defined. 2000-03-14 14:58:04 +00:00
kern_mib.c Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
kern_module.c A hack basically.. We have a bunch of code that used to call 1999-11-08 06:53:30 +00:00
kern_ntptime.c Add a couple of strategic sysctls for monitoring. 2000-01-23 14:52:37 +00:00
kern_physio.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
kern_proc.c Also allow non-rot processes to setproctitle() 2000-02-08 19:54:15 +00:00
kern_prot.c Implement setres[ug]id() and getres[ug]id(). This has been sitting in 2000-01-16 16:34:26 +00:00
kern_random.c Trim some unused #includes 1999-10-11 15:00:09 +00:00
kern_resource.c Don't try to account for the partial quantum unless the process is 2000-02-15 09:02:07 +00:00
kern_shutdown.c Seconds to ticks conversion was done at the wrong place. 2000-01-12 17:26:42 +00:00
kern_sig.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_subr.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
kern_switch.c Fix a typo and a bug. 1999-08-19 16:06:08 +00:00
kern_synch.c I applied the wrong patch set. Back out anything associated 2000-03-02 22:03:49 +00:00
kern_syscalls.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_sysctl.c Remove unused 3rd argument from vsunlock() which abused B_WRITE. 2000-03-13 10:47:24 +00:00
kern_tc.c Fix sign reversal in adjtime(2). 2000-02-13 10:56:32 +00:00
kern_threads.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
kern_time.c Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the 1999-10-30 06:32:05 +00:00
kern_timeout.c Restructure TCP timeout handling: 1999-08-30 21:17:07 +00:00
kern_xxx.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ksched.c Fixed some type mismatches. p_retval[0] in struct proc has type 1999-12-27 10:22:09 +00:00
link_aout.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
link_elf_obj.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
link_elf.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
Make.tags.inc Add soft updates to the set of things being tagged. Syntax cleanup. 2000-01-27 01:22:06 +00:00
makedevops.pl Fix some bugs in user-end output and add a reference to the original 1999-11-22 14:40:04 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00
makesyscalls.sh Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00
md5c.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
p1003_1b.c Well folks, this is it - The second stage of the removal for build support 1999-04-17 08:36:07 +00:00
posix4_mib.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
subr_acl_posix1e.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
subr_autoconf.c Removal of sys/device.h 1999-10-05 21:19:41 +00:00
subr_blist.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
subr_bus.c Instead of using the next unit available, use the first unit available. 2000-03-16 09:32:59 +00:00
subr_clist.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
subr_devstat.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
subr_disk.c Fixed a null pointer panic for dumpon(8) on a nonexistent device whose 2000-03-09 12:40:41 +00:00
subr_disklabel.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
subr_diskmbr.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
subr_diskslice.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
subr_eventhandler.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
subr_log.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
subr_module.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
subr_param.c This is Bosko Milekic's mbuf allocation waiting code. Basically, this 1999-12-12 05:52:51 +00:00
subr_prf.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
subr_prof.c Unremove used includes. 1999-10-12 02:54:23 +00:00
subr_rman.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
subr_scanf.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
subr_smp.c Allow SMP systems with an MCA bus to work properly. 2000-01-13 09:09:02 +00:00
subr_trap.c I applied the wrong patch set. Back out anything associated 2000-03-02 22:03:49 +00:00
subr_xxx.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
sys_generic.c Fix select(2) for the Alpha. (!!) It was never returning true for 2000-02-20 13:36:26 +00:00
sys_pipe.c Use vfs_timestamp() instead of getnanotime() to set timestamps. This 1999-12-26 13:04:52 +00:00
sys_process.c Introduce the new function 1999-11-21 19:03:20 +00:00
sys_socket.c Update socket file type for fo_stat(). soo_stat() becomes a fileops 1999-11-08 03:31:01 +00:00
syscalls.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:02:31 +00:00
syscalls.master Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:01:07 +00:00
sysv_ipc.c In 'ipcperm()', only call 'suser()' if it is actually required. 2000-03-13 23:00:08 +00:00
sysv_msg.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysv_sem.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysv_shm.c shmat: If VM_PROT_READ_IS_EXEC is defined and prot includes VM_PROT_READ, 2000-03-10 09:11:24 +00:00
tty_compat.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_conf.c Don't refer to TABLDISC in the comments here. 2000-01-30 10:14:13 +00:00
tty_cons.c Don't follow null pointers if we somehow have a null devswitch entry 2000-01-25 09:20:08 +00:00
tty_pty.c Correct an oversight in jail() that allowed processes in jail to access 2000-02-09 03:32:11 +00:00
tty_snoop.c Remove cdevsw_add() - the make_dev() calls are already there. 1999-11-18 06:39:47 +00:00
tty_subr.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_tty.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
tty.c Back out previous commit; it was premature. 2000-01-28 17:11:07 +00:00
uipc_domain.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
uipc_mbuf.c Actively limit the allocation of mbufs to NMBUFS/nmbufs and mbuf clusters 1999-12-28 06:35:57 +00:00
uipc_proto.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
uipc_sockbuf.c CMSG_XXX macros alignment fixes to follow RFC2292. 2000-03-03 11:13:12 +00:00
uipc_socket2.c CMSG_XXX macros alignment fixes to follow RFC2292. 2000-03-03 11:13:12 +00:00
uipc_socket.c Make sure to free the socket in soabort() if the protocol couldn't 2000-03-18 08:56:56 +00:00
uipc_syscalls.c This is Bosko Milekic's mbuf allocation waiting code. Basically, this 1999-12-12 05:52:51 +00:00
uipc_usrreq.c Enable SCM_RIGHTS on alpha. Allocate necessary buffer as conversion between 2000-03-09 15:15:27 +00:00
vfs_acl.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
vfs_aio.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
vfs_bio.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
vfs_cache.c Avoid a panic in __getcwd(2) when combined with umount -f. 2000-02-14 06:09:01 +00:00
vfs_cluster.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
vfs_conf.c Change the mountroot prompt to something that doesn't look at all like a 2000-02-17 23:32:08 +00:00
vfs_default.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
vfs_export.c In vn_isdisk(), check whether vp->v_rdev is NULL. If it is, then 2000-03-18 01:27:44 +00:00
vfs_extattr.c Add bwillwrite to all system calls that create things in the filesystem. 2000-01-10 00:08:53 +00:00
vfs_init.c The sysctl mod_xx hack is no longer required now that we have totally 1999-12-12 16:30:34 +00:00
vfs_lookup.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
vfs_mount.c Change the mountroot prompt to something that doesn't look at all like a 2000-02-17 23:32:08 +00:00
vfs_subr.c In vn_isdisk(), check whether vp->v_rdev is NULL. If it is, then 2000-03-18 01:27:44 +00:00
vfs_syscalls.c Add bwillwrite to all system calls that create things in the filesystem. 2000-01-10 00:08:53 +00:00
vfs_vnops.c Give vn_isdisk() a second argument where it can return a suitable errno. 2000-01-10 12:04:27 +00:00
vnode_if.pl Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
vnode_if.src Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00