B_ASYNC
KASSERT(!(bp->b_flags & B_ASYNC));
if (ISSET(bp->b_flags, B_ASYNC)) {/* if async, release it */
(void) bio_doread(vp, rablks[i], rasizes[i], B_ASYNC);
if (ISSET(bp->b_flags, B_ASYNC)) {
SET(xbpp[i]->b_flags, B_DMA | B_READ | B_ASYNC);
SET(bp->b_flags, B_READ | B_ASYNC | B_CALL);
async = ISSET(bp->b_flags, B_ASYNC);
SET(bp->b_flags, B_ASYNC);
CLR(bp->b_flags, (B_AGE | B_ASYNC | B_NOCACHE | B_DEFERRED));
rabp->b_flags |= (B_READ | B_ASYNC);
bp->b_flags |= B_ASYNC;
if ((bp->b_flags & (B_ASYNC | B_NEEDCOMMIT | B_NOCACHE)) == B_ASYNC)
if (!(bp->b_flags & B_ASYNC) && error)
nbp->b_flags |= B_ASYNC;
if ((bp->b_flags & (B_PHYS|B_ASYNC)) == (B_PHYS|B_ASYNC))
if (bp->b_flags & B_ASYNC)
if ((bp->b_flags & B_ASYNC) == 0 || nfs_asyncio(bp, 0))
bp->b_flags |= B_ASYNC;
bp->b_flags |= B_ASYNC;
bp->b_flags |= (B_ASYNC|B_WRITEINPROG|B_NEEDCOMMIT);
if ((oldflags & B_ASYNC) && !(oldflags & B_DELWRI) && p)
if( (oldflags & B_ASYNC) == 0) {
((flags & PGO_SYNCIO) ? 0 : B_ASYNC));
async = (flags & B_ASYNC) != 0;
flags &= ~B_ASYNC;
bp->b_flags = B_BUSY | B_NOCACHE | B_RAW | (flags & (B_READ|B_ASYNC));