Lines Matching defs:bp
83 printf("bread: bp %p blkno %lld offset %lld bcount %ld\n",
104 brelse(struct buf *bp)
107 assert (bp != NULL);
108 assert (bp->b_data != NULL);
110 if (bp->b_lblkno < 0) {
124 bp->b_bcount = 0;
128 TAILQ_REMOVE(&buftail, bp, b_tailq);
129 free(bp->b_data);
130 free(bp);
134 bwrite(struct buf *bp)
139 assert (bp != NULL);
140 offset = bp->b_blkno * sectorsize; /* XXX */
142 printf("bwrite: bp %p blkno %lld offset %lld bcount %ld\n",
143 bp, (long long)bp->b_blkno, (long long) offset,
144 bp->b_bcount);
145 if (lseek(bp->b_fd, offset, SEEK_SET) == -1)
147 rv = write(bp->b_fd, bp->b_data, bp->b_bcount);
150 bp->b_bcount, (long long)offset, (long long)rv);
151 if (rv == bp->b_bcount)
162 struct buf *bp;
174 TAILQ_FOREACH(bp, &buftail, b_tailq) {
176 (long long)bp->b_lblkno, (long long)bp->b_blkno,
177 bp->b_bcount, bp->b_bufsize);
186 struct buf *bp;
194 bp = NULL;
201 TAILQ_FOREACH(bp, &buftail, b_tailq) {
202 if (bp->b_lblkno != blkno)
207 if (bp == NULL) {
208 if ((bp = calloc(1, sizeof(struct buf))) == NULL)
211 bp->b_bufsize = 0;
212 bp->b_blkno = bp->b_lblkno = blkno;
213 bp->b_fd = fd;
214 bp->b_fs = fs;
215 bp->b_data = NULL;
216 TAILQ_INSERT_HEAD(&buftail, bp, b_tailq);
218 bp->b_bcount = size;
219 if (bp->b_data == NULL || bp->b_bcount > bp->b_bufsize) {
220 n = realloc(bp->b_data, size);
222 err(1, "getblk: realloc b_data %ld", bp->b_bcount);
223 bp->b_data = n;
224 bp->b_bufsize = size;
227 return (bp);