aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_physio.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_physio.c')
-rw-r--r--sys/kern/kern_physio.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c
index 91026402db05..79b7694192e4 100644
--- a/sys/kern/kern_physio.c
+++ b/sys/kern/kern_physio.c
@@ -116,14 +116,17 @@ physio(struct cdev *dev, struct uio *uio, int ioflag)
#ifdef RACCT
if (racct_enable) {
PROC_LOCK(curproc);
- if (uio->uio_rw == UIO_READ) {
+ switch (uio->uio_rw) {
+ case UIO_READ:
racct_add_force(curproc, RACCT_READBPS,
uio->uio_iov[i].iov_len);
racct_add_force(curproc, RACCT_READIOPS, 1);
- } else {
+ break;
+ case UIO_WRITE:
racct_add_force(curproc, RACCT_WRITEBPS,
uio->uio_iov[i].iov_len);
racct_add_force(curproc, RACCT_WRITEIOPS, 1);
+ break;
}
PROC_UNLOCK(curproc);
}
@@ -131,12 +134,15 @@ physio(struct cdev *dev, struct uio *uio, int ioflag)
while (uio->uio_iov[i].iov_len) {
g_reset_bio(bp);
- if (uio->uio_rw == UIO_READ) {
+ switch (uio->uio_rw) {
+ case UIO_READ:
bp->bio_cmd = BIO_READ;
curthread->td_ru.ru_inblock++;
- } else {
+ break;
+ case UIO_WRITE:
bp->bio_cmd = BIO_WRITE;
curthread->td_ru.ru_oublock++;
+ break;
}
bp->bio_offset = uio->uio_offset;
base = uio->uio_iov[i].iov_base;