Lines Matching refs:bh
40 struct buffer_head *bh;
49 bh = sb_find_get_block(s, secno);
50 if (bh) {
51 if (buffer_uptodate(bh)) {
52 brelse(bh);
55 brelse(bh);
74 struct buffer_head *bh;
82 *bhp = bh = sb_bread(s, hpfs_search_hotfix_map(s, secno));
83 if (bh != NULL)
84 return bh->b_data;
95 struct buffer_head *bh;
102 if ((*bhp = bh = sb_getblk(s, hpfs_search_hotfix_map(s, secno))) != NULL) {
103 if (!buffer_uptodate(bh)) wait_on_buffer(bh);
104 set_buffer_uptodate(bh);
105 return bh->b_data;
130 if (!hpfs_map_sector(s, secno + 0, &qbh->bh[0], 0)) goto bail0;
131 if (!hpfs_map_sector(s, secno + 1, &qbh->bh[1], 0)) goto bail1;
132 if (!hpfs_map_sector(s, secno + 2, &qbh->bh[2], 0)) goto bail2;
133 if (!hpfs_map_sector(s, secno + 3, &qbh->bh[3], 0)) goto bail3;
135 if (likely(qbh->bh[1]->b_data == qbh->bh[0]->b_data + 1 * 512) &&
136 likely(qbh->bh[2]->b_data == qbh->bh[0]->b_data + 2 * 512) &&
137 likely(qbh->bh[3]->b_data == qbh->bh[0]->b_data + 3 * 512)) {
138 return qbh->data = qbh->bh[0]->b_data;
147 memcpy(data + 0 * 512, qbh->bh[0]->b_data, 512);
148 memcpy(data + 1 * 512, qbh->bh[1]->b_data, 512);
149 memcpy(data + 2 * 512, qbh->bh[2]->b_data, 512);
150 memcpy(data + 3 * 512, qbh->bh[3]->b_data, 512);
155 brelse(qbh->bh[3]);
157 brelse(qbh->bh[2]);
159 brelse(qbh->bh[1]);
161 brelse(qbh->bh[0]);
180 if (!hpfs_get_sector(s, secno + 0, &qbh->bh[0])) goto bail0;
181 if (!hpfs_get_sector(s, secno + 1, &qbh->bh[1])) goto bail1;
182 if (!hpfs_get_sector(s, secno + 2, &qbh->bh[2])) goto bail2;
183 if (!hpfs_get_sector(s, secno + 3, &qbh->bh[3])) goto bail3;
185 if (likely(qbh->bh[1]->b_data == qbh->bh[0]->b_data + 1 * 512) &&
186 likely(qbh->bh[2]->b_data == qbh->bh[0]->b_data + 2 * 512) &&
187 likely(qbh->bh[3]->b_data == qbh->bh[0]->b_data + 3 * 512)) {
188 return qbh->data = qbh->bh[0]->b_data;
198 brelse(qbh->bh[3]);
200 brelse(qbh->bh[2]);
202 brelse(qbh->bh[1]);
204 brelse(qbh->bh[0]);
212 if (unlikely(qbh->data != qbh->bh[0]->b_data))
214 brelse(qbh->bh[0]);
215 brelse(qbh->bh[1]);
216 brelse(qbh->bh[2]);
217 brelse(qbh->bh[3]);
222 if (unlikely(qbh->data != qbh->bh[0]->b_data)) {
223 memcpy(qbh->bh[0]->b_data, qbh->data + 0 * 512, 512);
224 memcpy(qbh->bh[1]->b_data, qbh->data + 1 * 512, 512);
225 memcpy(qbh->bh[2]->b_data, qbh->data + 2 * 512, 512);
226 memcpy(qbh->bh[3]->b_data, qbh->data + 3 * 512, 512);
228 mark_buffer_dirty(qbh->bh[0]);
229 mark_buffer_dirty(qbh->bh[1]);
230 mark_buffer_dirty(qbh->bh[2]);
231 mark_buffer_dirty(qbh->bh[3]);