From a246e10f55686681d4b6bd4dba5ca661b4e34bb0 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 20 Mar 2000 10:44:49 +0000 Subject: 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. --- sys/contrib/dev/fla/fla.c | 4 ++-- sys/contrib/softupdates/ffs_softdep.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/contrib') diff --git a/sys/contrib/dev/fla/fla.c b/sys/contrib/dev/fla/fla.c index 0f91842..cfc3b93 100644 --- a/sys/contrib/dev/fla/fla.c +++ b/sys/contrib/dev/fla/fla.c @@ -221,9 +221,9 @@ flastrategy(struct buf *bp) bp->b_resid = bp->b_bcount; unit = dkunit(bp->b_dev); - if (bp->b_flags & B_FREEBUF) + if (bp->b_iocmd == BIO_DELETE) what = DOC2K_ERASE; - else if (bp->b_flags & B_READ) + else if (bp->b_iocmd == BIO_READ) what = DOC2K_READ; else what = DOC2K_WRITE; diff --git a/sys/contrib/softupdates/ffs_softdep.c b/sys/contrib/softupdates/ffs_softdep.c index a137ce7..456667d 100644 --- a/sys/contrib/softupdates/ffs_softdep.c +++ b/sys/contrib/softupdates/ffs_softdep.c @@ -2780,7 +2780,7 @@ softdep_disk_io_initiation(bp) * We only care about write operations. There should never * be dependencies for reads. */ - if (bp->b_flags & B_READ) + if (bp->b_iocmd == BIO_READ) panic("softdep_disk_io_initiation: read"); /* * Do any necessary pre-I/O processing. -- cgit v1.1