| 1470 | } |
| 1471 | |
| 1472 | static struct bufqueue * |
| 1473 | bufqueue(struct buf *bp) |
| 1474 | { |
| 1475 | |
| 1476 | switch (bp->b_qindex) { |
| 1477 | case QUEUE_NONE: |
| 1478 | /* FALLTHROUGH */ |
| 1479 | case QUEUE_SENTINEL: |
| 1480 | return (NULL); |
| 1481 | case QUEUE_EMPTY: |
| 1482 | return (&bqempty); |
| 1483 | case QUEUE_DIRTY: |
| 1484 | return (&bufdomain(bp)->bd_dirtyq); |
| 1485 | case QUEUE_CLEAN: |
| 1486 | return (&bufdomain(bp)->bd_subq[bp->b_subqueue]); |
| 1487 | default: |
| 1488 | break; |
| 1489 | } |
| 1490 | panic("bufqueue(%p): Unhandled type %d\n", bp, bp->b_qindex); |
| 1491 | } |
| 1492 | |
| 1493 | /* |
| 1494 | * Return the locked bufqueue that bp is a member of. |
no test coverage detected