Changeset View
Changeset View
Standalone View
Standalone View
head/sys/geom/geom_vfs.c
Show First 20 Lines • Show All 185 Lines • ▼ Show 20 Lines | g_vfs_strategy(struct bufobj *bo, struct buf *bp) | ||||
bip->bio_cmd = bp->b_iocmd; | bip->bio_cmd = bp->b_iocmd; | ||||
bip->bio_offset = bp->b_iooffset; | bip->bio_offset = bp->b_iooffset; | ||||
bip->bio_length = bp->b_bcount; | bip->bio_length = bp->b_bcount; | ||||
bdata2bio(bp, bip); | bdata2bio(bp, bip); | ||||
if ((bp->b_flags & B_BARRIER) != 0) { | if ((bp->b_flags & B_BARRIER) != 0) { | ||||
bip->bio_flags |= BIO_ORDERED; | bip->bio_flags |= BIO_ORDERED; | ||||
bp->b_flags &= ~B_BARRIER; | bp->b_flags &= ~B_BARRIER; | ||||
} | } | ||||
if (bp->b_iocmd == BIO_SPEEDUP) | |||||
bip->bio_flags |= bp->b_ioflags; | |||||
bip->bio_done = g_vfs_done; | bip->bio_done = g_vfs_done; | ||||
bip->bio_caller2 = bp; | bip->bio_caller2 = bp; | ||||
#if defined(BUF_TRACKING) || defined(FULL_BUF_TRACKING) | #if defined(BUF_TRACKING) || defined(FULL_BUF_TRACKING) | ||||
buf_track(bp, __func__); | buf_track(bp, __func__); | ||||
bip->bio_track_bp = bp; | bip->bio_track_bp = bp; | ||||
#endif | #endif | ||||
g_io_request(bip, cp); | g_io_request(bip, cp); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines |