Lines Matching refs:bp

93 brelse(struct m_buf *bp)  in brelse()  argument
96 assert (bp != NULL); in brelse()
97 assert (bp->b_data != NULL); in brelse()
99 if (bp->b_lblkno < 0) { in brelse()
113 bp->b_bcount = 0; in brelse()
117 TAILQ_REMOVE(&buftail, bp, b_tailq); in brelse()
118 free(bp->b_data); in brelse()
119 free(bp); in brelse()
123 bwrite(struct m_buf *bp) in bwrite() argument
129 fsinfo_t *fs = bp->b_fs; in bwrite()
131 assert (bp != NULL); in bwrite()
132 offset = (off_t)bp->b_blkno * fs->sectorsize + fs->offset; in bwrite()
133 bytes = (size_t)bp->b_bcount; in bwrite()
136 (long long)bp->b_blkno, (long long) offset, bytes); in bwrite()
137 if (lseek(bp->b_fs->fd, offset, SEEK_SET) == -1) { in bwrite()
138 brelse(bp); in bwrite()
141 rv = write(bp->b_fs->fd, bp->b_data, bytes); in bwrite()
145 bp->b_bcount, (long long)offset, (long long)rv); in bwrite()
146 brelse(bp); in bwrite()
157 struct m_buf *bp; in bcleanup() local
169 TAILQ_FOREACH(bp, &buftail, b_tailq) { in bcleanup()
171 (long long)bp->b_lblkno, (long long)bp->b_blkno, in bcleanup()
172 bp->b_bcount, bp->b_bufsize); in bcleanup()
182 struct m_buf *bp; in getblk() local
189 bp = NULL; in getblk()
196 TAILQ_FOREACH(bp, &buftail, b_tailq) { in getblk()
197 if (bp->b_lblkno != blkno) in getblk()
202 if (bp == NULL) { in getblk()
203 bp = ecalloc(1, sizeof(*bp)); in getblk()
204 bp->b_bufsize = 0; in getblk()
205 bp->b_blkno = bp->b_lblkno = blkno; in getblk()
206 bp->b_fs = vp->fs; in getblk()
207 bp->b_data = NULL; in getblk()
208 TAILQ_INSERT_HEAD(&buftail, bp, b_tailq); in getblk()
210 bp->b_bcount = size; in getblk()
211 if (bp->b_data == NULL || bp->b_bcount > bp->b_bufsize) { in getblk()
212 n = erealloc(bp->b_data, (size_t)size); in getblk()
214 bp->b_data = n; in getblk()
215 bp->b_bufsize = size; in getblk()
218 return (bp); in getblk()