mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-19 06:44:31 +00:00
- Add information about the buf lock to db_show_buffer.
- Add a 'show lockedbufs' command that is similar to show lockedvnods. Sponsored by: Isilon Systems, Inc.
This commit is contained in:
parent
f158df07ab
commit
6c759f3558
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=144084
|
@ -3790,12 +3790,16 @@ DB_SHOW_COMMAND(buffer, db_show_buffer)
|
|||
return;
|
||||
}
|
||||
|
||||
db_printf("buf at %p\n", bp);
|
||||
db_printf("b_flags = 0x%b\n", (u_int)bp->b_flags, PRINT_BUF_FLAGS);
|
||||
db_printf(
|
||||
"b_error = %d, b_bufsize = %ld, b_bcount = %ld, b_resid = %ld\n"
|
||||
"b_bufobj = (%p), b_data = %p, b_blkno = %jd\n",
|
||||
bp->b_error, bp->b_bufsize, bp->b_bcount, bp->b_resid,
|
||||
bp->b_bufobj, bp->b_data, (intmax_t)bp->b_blkno);
|
||||
db_printf("lockstatus = %d, excl count = %d, excl owner %p\n",
|
||||
lockstatus(&bp->b_lock, NULL), bp->b_lock.lk_exclusivecount,
|
||||
bp->b_lock.lk_lockholder);
|
||||
if (bp->b_npages) {
|
||||
int i;
|
||||
db_printf("b_npages = %d, pages(OBJ, IDX, PA): ", bp->b_npages);
|
||||
|
@ -3810,4 +3814,18 @@ DB_SHOW_COMMAND(buffer, db_show_buffer)
|
|||
db_printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
DB_SHOW_COMMAND(lockedbufs, lockedbufs)
|
||||
{
|
||||
struct buf *bp;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nbuf; i++) {
|
||||
bp = &buf[i];
|
||||
if (lockcount(&bp->b_lock)) {
|
||||
db_show_buffer((uintptr_t)bp, 1, 0, NULL);
|
||||
db_printf("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* DDB */
|
||||
|
|
Loading…
Reference in a new issue