diff options
| author | Merlin Scholz <merlin@scholz.ruhr> | 2023-08-19 19:16:22 +0200 |
|---|---|---|
| committer | Merlin Scholz <merlin@scholz.ruhr> | 2023-08-19 19:16:22 +0200 |
| commit | e7b3826cda40b7e543318c19b9093dcceb8b4237 (patch) | |
| tree | bf61ebee0cfbd1f3e2f4f62e00ef7ff655f1aa5d /sys/ufs/lfs/lfs_bio.c | |
| parent | 365daf5cefc0591283d5625e2e15b7e532568c33 (diff) | |
Add logging for buf->b_cflags BC_BUSY changeslockdoc-10.99.5-vfs-0.3
Diffstat (limited to 'sys/ufs/lfs/lfs_bio.c')
| -rw-r--r-- | sys/ufs/lfs/lfs_bio.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sys/ufs/lfs/lfs_bio.c b/sys/ufs/lfs/lfs_bio.c index 5169d09a673..06bd348b340 100644 --- a/sys/ufs/lfs/lfs_bio.c +++ b/sys/ufs/lfs/lfs_bio.c @@ -434,9 +434,12 @@ lfs_bwrite_ext(struct buf *bp, int flags) bp->b_error = 0; mutex_enter(&bufcache_lock); LFS_UNLOCK_BUF(bp); - if (LFS_IS_MALLOC_BUF(bp)) + if (LFS_IS_MALLOC_BUF(bp)){ bp->b_cflags &= ~BC_BUSY; - else +#ifdef LOCKDOC_VFS + lockdoc_log_lock(V_WRITE, &(bp->b_cflags), __FILE__, __LINE__, __func__, "b_cflags", 0); +#endif + } else brelsel(bp, 0); mutex_exit(&bufcache_lock); return (fs->lfs_ronly ? EROFS : 0); @@ -481,9 +484,12 @@ lfs_bwrite_ext(struct buf *bp, int flags) mutex_enter(&bufcache_lock); } - if (bp->b_iodone != NULL) + if (bp->b_iodone != NULL) { bp->b_cflags &= ~BC_BUSY; - else +#ifdef LOCKDOC_VFS + lockdoc_log_lock(V_WRITE, &(bp->b_cflags), __FILE__, __LINE__, __func__, "b_cflags", 0); +#endif + } else brelsel(bp, 0); mutex_exit(&bufcache_lock); @@ -736,6 +742,9 @@ lfs_newbuf(struct lfs *fs, struct vnode *vp, daddr_t daddr, size_t size, int typ bp->b_resid = 0; bp->b_iodone = lfs_free_aiodone; bp->b_cflags |= BC_BUSY | BC_NOCACHE; +#ifdef LOCKDOC_VFS + lockdoc_log_lock(P_WRITE, &(bp->b_cflags), __FILE__, __LINE__, __func__, "b_cflags", 0); +#endif bp->b_private = fs; mutex_enter(&bufcache_lock); |
