Lines Matching refs:nio
2094 #define IS_ADJACENT(io, nio) \
2095 (((io)->io_lblkno + (io)->nblocks == (nio)->io_lblkno) && \
2096 (io)->bp->b_edev == (nio)->bp->b_edev)
2122 struct hio *fio, *nio, *tio, *prev, *last;
2197 nio = AVL_NEXT(&hqueue->read_tree, fio);
2199 while (nio != NULL && IS_ADJACENT(tio, nio) &&
2203 tio->contig_chain = nio;
2204 bsize += ldbtob(nio->nblocks);
2206 tio = nio;
2220 nio = AVL_NEXT(&hqueue->read_tree, nio);
2284 nio = fio;
2298 tio = nio;
2299 DTRACE_PROBE3(hsfs_coalesced_io_done, struct hio *, nio,
2306 while (nio != NULL && data >= nio->bp->b_bcount) {
2307 offset = ldbtob(nio->bp->b_lblkno) - soffset;
2308 bcopy(iodata + offset, nio->bp->b_un.b_addr,
2309 nio->bp->b_bcount);
2310 data -= nio->bp->b_bcount;
2311 bioerror(nio->bp, 0);
2312 biodone(nio->bp);
2313 sema_v(nio->sema);
2314 tio = nio;
2315 nio = nio->contig_chain;
2323 while (nio != NULL) {
2324 nio->bp->b_resid = nio->bp->b_bcount - data;
2325 bzero(nio->bp->b_un.b_addr + data, nio->bp->b_resid);
2326 bioerror(nio->bp, bioret);
2327 biodone(nio->bp);
2328 sema_v(nio->sema);
2329 tio = nio;
2330 nio = nio->contig_chain;
2339 nio = fio;
2342 while (nio != NULL) {
2343 (void) bdev_strategy(nio->bp);
2344 nio = nio->contig_chain;
2346 nio = fio;
2349 while (nio != NULL) {
2350 if (nio == last) {
2356 (void) biowait(nio->bp);
2357 sema_v(nio->sema);
2359 tio = nio;
2360 nio = nio->contig_chain;