diff options
Diffstat (limited to 'sys/kern/kern_physio.c')
| -rw-r--r-- | sys/kern/kern_physio.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c index 9547e5ddea1..690e80d9fad 100644 --- a/sys/kern/kern_physio.c +++ b/sys/kern/kern_physio.c @@ -284,6 +284,9 @@ physio(void (*strategy)(struct buf *), struct buf *obp, dev_t dev, int flags, } else { bp = getiobuf(NULL, true); bp->b_cflags |= BC_BUSY; +#ifdef LOCKDOC_VFS + lockdoc_log_lock(P_WRITE, &(bp->b_cflags), __FILE__, __LINE__, __func__, "b_cflags", 0); +#endif } bp->b_dev = dev; bp->b_proc = p; @@ -297,6 +300,9 @@ physio(void (*strategy)(struct buf *), struct buf *obp, dev_t dev, int flags, */ bp->b_oflags = 0; bp->b_cflags |= BC_BUSY; +#ifdef LOCKDOC_VFS + lockdoc_log_lock(P_WRITE, &(bp->b_cflags), __FILE__, __LINE__, __func__, "b_cflags", 0); +#endif bp->b_flags = flags | B_PHYS | B_RAW; bp->b_iodone = physio_biodone; @@ -430,6 +436,9 @@ done_locked: */ mutex_enter(&bufcache_lock); obp->b_cflags &= ~(BC_BUSY | BC_WANTED); +#ifdef LOCKDOC_VFS + lockdoc_log_lock(V_WRITE, &(obp->b_cflags), __FILE__, __LINE__, __func__, "b_cflags", 0); +#endif obp->b_flags &= ~(B_PHYS | B_RAW); obp->b_iodone = NULL; cv_broadcast(&obp->b_busy); |
