Lines Matching refs:nio
1940 #define IS_ADJACENT(io, nio) \
1941 (((io)->io_lblkno + (io)->nblocks == (nio)->io_lblkno) && \
1942 (io)->bp->b_edev == (nio)->bp->b_edev)
1968 struct hio *fio, *nio, *tio, *prev, *last;
2043 nio = AVL_NEXT(&hqueue->read_tree, fio);
2045 while (nio != NULL && IS_ADJACENT(tio, nio) &&
2049 tio->contig_chain = nio;
2050 bsize += ldbtob(nio->nblocks);
2052 tio = nio;
2066 nio = AVL_NEXT(&hqueue->read_tree, nio);
2130 nio = fio;
2144 tio = nio;
2145 DTRACE_PROBE3(hsfs_coalesced_io_done, struct hio *, nio,
2152 while (nio != NULL && data >= nio->bp->b_bcount) {
2153 offset = ldbtob(nio->bp->b_lblkno) - soffset;
2154 bcopy(iodata + offset, nio->bp->b_un.b_addr,
2155 nio->bp->b_bcount);
2156 data -= nio->bp->b_bcount;
2157 bioerror(nio->bp, 0);
2158 biodone(nio->bp);
2159 sema_v(nio->sema);
2160 tio = nio;
2161 nio = nio->contig_chain;
2169 while (nio != NULL) {
2170 nio->bp->b_resid = nio->bp->b_bcount - data;
2171 bzero(nio->bp->b_un.b_addr + data, nio->bp->b_resid);
2172 bioerror(nio->bp, bioret);
2173 biodone(nio->bp);
2174 sema_v(nio->sema);
2175 tio = nio;
2176 nio = nio->contig_chain;
2185 nio = fio;
2188 while (nio != NULL) {
2189 (void) bdev_strategy(nio->bp);
2190 nio = nio->contig_chain;
2192 nio = fio;
2195 while (nio != NULL) {
2196 if (nio == last) {
2202 (void) biowait(nio->bp);
2203 sema_v(nio->sema);
2205 tio = nio;
2206 nio = nio->contig_chain;