Lines Matching refs:bi

97 	struct gfs2_bitmap *bi = rbm_bi(rbm);
98 unsigned int buflen = bi->bi_bytes;
101 byte1 = bi->bi_bh->b_data + bi->bi_offset + (rbm->offset / GFS2_NBBY);
102 end = bi->bi_bh->b_data + bi->bi_offset + buflen;
114 (unsigned long long)rbm->rgd->rd_addr, bi->bi_start,
115 (unsigned long long)bi->bi_bh->b_blocknr);
117 bi->bi_offset, bi->bi_bytes,
125 if (do_clone && bi->bi_clone) {
126 byte2 = bi->bi_clone + bi->bi_offset + (rbm->offset / GFS2_NBBY);
145 struct gfs2_bitmap *bi = rbm_bi(rbm);
150 if (use_clone && bi->bi_clone)
151 buffer = bi->bi_clone;
153 buffer = bi->bi_bh->b_data;
154 buffer += bi->bi_offset;
269 * This sets the bi and offset members of an rbm based on a
271 * resource group must be set in the rbm on entry, the bi and
309 struct gfs2_bitmap *bi = rgd->rd_bits + rbm->bii;
311 if (rbm->offset + blocks < bi->bi_blocks) {
315 blocks -= bi->bi_blocks - rbm->offset;
318 bi++;
319 if (bi == rgd->rd_bits + rgd->rd_length)
321 if (blocks < bi->bi_blocks) {
323 rbm->bii = bi - rgd->rd_bits;
326 blocks -= bi->bi_blocks;
383 struct gfs2_bitmap *bi;
392 bi = rbm_bi(&rbm);
393 start = bi->bi_bh->b_data;
394 if (bi->bi_clone)
395 start = bi->bi_clone;
396 start += bi->bi_offset;
397 end = start + bi->bi_bytes;
468 struct gfs2_bitmap *bi = NULL;
477 bi = rgd->rd_bits + buf;
480 bi->bi_bh->b_data +
481 bi->bi_offset,
482 bi->bi_bytes, x);
613 struct gfs2_bitmap *bi = rgd->rd_bits + x;
614 kfree(bi->bi_clone);
615 bi->bi_clone = NULL;
758 struct gfs2_bitmap *bi;
773 bi = rgd->rd_bits + x;
775 bi->bi_flags = 0;
779 bi->bi_offset = sizeof(struct gfs2_rgrp);
780 bi->bi_start = 0;
781 bi->bi_bytes = bytes;
782 bi->bi_blocks = bytes * GFS2_NBBY;
786 bi->bi_offset = sizeof(struct gfs2_rgrp);
787 bi->bi_start = 0;
788 bi->bi_bytes = bytes;
789 bi->bi_blocks = bytes * GFS2_NBBY;
793 bi->bi_offset = sizeof(struct gfs2_meta_header);
794 bi->bi_start = rgd->rd_bitbytes - bytes_left;
795 bi->bi_bytes = bytes;
796 bi->bi_blocks = bytes * GFS2_NBBY;
801 bi->bi_offset = sizeof(struct gfs2_meta_header);
802 bi->bi_start = rgd->rd_bitbytes - bytes_left;
803 bi->bi_bytes = bytes;
804 bi->bi_blocks = bytes * GFS2_NBBY;
814 bi = rgd->rd_bits + (length - 1);
815 if ((bi->bi_start + bi->bi_bytes) * GFS2_NBBY != rgd->rd_data) {
828 bi->bi_start, bi->bi_bytes, bi->bi_offset);
1149 struct gfs2_bitmap *bi;
1154 for (i = 0, bi = rgd->rd_bits; i < length; i++, bi++) {
1156 buffer = bi->bi_bh->b_data + bi->bi_offset;
1157 WARN_ON(!buffer_uptodate(bi->bi_bh));
1158 while (goal < bi->bi_blocks) {
1159 goal = gfs2_bitfit(buffer, bi->bi_bytes, goal,
1173 struct gfs2_bitmap *bi;
1178 bi = rgd->rd_bits + x;
1179 clear_bit(GBF_FULL, &bi->bi_flags);
1183 bi = rgd->rd_bits + x;
1184 set_bit(GBF_FULL, &bi->bi_flags);
1204 struct gfs2_bitmap *bi;
1212 bi = rgd->rd_bits + x;
1213 error = gfs2_meta_read(gl, rgd->rd_addr + x, 0, 0, &bi->bi_bh);
1219 bi = rgd->rd_bits + y;
1220 error = gfs2_meta_wait(sdp, bi->bi_bh);
1223 if (gfs2_metatype_check(sdp, bi->bi_bh, y ? GFS2_METATYPE_RB :
1254 bi = rgd->rd_bits + x;
1255 brelse(bi->bi_bh);
1256 bi->bi_bh = NULL;
1257 gfs2_assert_warn(sdp, !bi->bi_clone);
1300 struct gfs2_bitmap *bi = rgd->rd_bits + x;
1301 if (bi->bi_bh) {
1302 brelse(bi->bi_bh);
1303 bi->bi_bh = NULL;
1311 const struct gfs2_bitmap *bi, unsigned minlen, u64 *ptrimmed)
1322 for (x = 0; x < bi->bi_bytes; x++) {
1323 const u8 *clone = bi->bi_clone ? bi->bi_clone : bi->bi_bh->b_data;
1324 clone += bi->bi_offset;
1327 const u8 *orig = bh->b_data + bi->bi_offset + x;
1335 blk = offset + ((bi->bi_start + x) * GFS2_NBBY);
1442 struct gfs2_bitmap *bi = rgd->rd_bits + x;
1445 rgd->rd_data0, NULL, bi, minlen,
1748 struct gfs2_bitmap *bi;
1759 bi = rbm_bi(rbm);
1760 if (test_bit(GBF_FULL, &bi->bi_flags) &&
1764 bh = bi->bi_bh;
1765 buffer = bh->b_data + bi->bi_offset;
1767 if (state != GFS2_BLKST_UNLINKED && bi->bi_clone)
1768 buffer = bi->bi_clone + bi->bi_offset;
1769 offset = gfs2_bitfit(buffer, bi->bi_bytes, rbm->offset, state);
1772 set_bit(GBF_FULL, &bi->bi_flags);
2266 struct gfs2_bitmap *bi, *bi_prev = NULL;
2272 bi = rbm_bi(&rbm);
2273 if (bi != bi_prev) {
2274 if (!bi->bi_clone) {
2275 bi->bi_clone = kmalloc(bi->bi_bh->b_size,
2277 memcpy(bi->bi_clone + bi->bi_offset,
2278 bi->bi_bh->b_data + bi->bi_offset,
2279 bi->bi_bytes);
2281 gfs2_trans_add_meta(rbm.rgd->rd_gl, bi->bi_bh);
2282 bi_prev = bi;