| tag | line | file | source code |
| bh | 24 | fs/block_dev.c | struct buffer_head * bh; |
| bh | 39 | fs/block_dev.c | bh = getblk(dev, block, BLOCK_SIZE); |
| bh | 41 | fs/block_dev.c | bh = breada(dev,block,block+1,block+2,-1); |
| bh | 43 | fs/block_dev.c | if (!bh) |
| bh | 45 | fs/block_dev.c | p = offset + bh->b_data; |
| bh | 53 | fs/block_dev.c | bh->b_uptodate = 1; |
| bh | 54 | fs/block_dev.c | bh->b_dirt = 1; |
| bh | 55 | fs/block_dev.c | brelse(bh); |
| bh | 58 | fs/buffer.c | void __wait_on_buffer(struct buffer_head * bh) |
| bh | 62 | fs/buffer.c | add_wait_queue(&bh->b_wait, &wait); |
| bh | 65 | fs/buffer.c | if (bh->b_lock) { |
| bh | 69 | fs/buffer.c | remove_wait_queue(&bh->b_wait, &wait); |
| bh | 76 | fs/buffer.c | struct buffer_head * bh; |
| bh | 78 | fs/buffer.c | bh = free_list; |
| bh | 79 | fs/buffer.c | for (i = nr_buffers*2 ; i-- > 0 ; bh = bh->b_next_free) { |
| bh | 80 | fs/buffer.c | if (bh->b_lock) |
| bh | 82 | fs/buffer.c | if (!bh->b_dirt) |
| bh | 84 | fs/buffer.c | ll_rw_block(WRITE, 1, &bh); |
| bh | 105 | fs/buffer.c | struct buffer_head * bh; |
| bh | 107 | fs/buffer.c | bh = free_list; |
| bh | 108 | fs/buffer.c | for (i = nr_buffers*2 ; --i > 0 ; bh = bh->b_next_free) { |
| bh | 109 | fs/buffer.c | if (bh->b_dev != dev) |
| bh | 111 | fs/buffer.c | wait_on_buffer(bh); |
| bh | 112 | fs/buffer.c | if (bh->b_dev == dev) |
| bh | 113 | fs/buffer.c | bh->b_uptodate = bh->b_dirt = 0; |
| bh | 134 | fs/buffer.c | struct buffer_head * bh; |
| bh | 138 | fs/buffer.c | if (!(bh = getblk(dev,0,1024))) |
| bh | 140 | fs/buffer.c | i = floppy_change(bh); |
| bh | 141 | fs/buffer.c | brelse(bh); |
| bh | 181 | fs/buffer.c | static inline void remove_from_hash_queue(struct buffer_head * bh) |
| bh | 183 | fs/buffer.c | if (bh->b_next) |
| bh | 184 | fs/buffer.c | bh->b_next->b_prev = bh->b_prev; |
| bh | 185 | fs/buffer.c | if (bh->b_prev) |
| bh | 186 | fs/buffer.c | bh->b_prev->b_next = bh->b_next; |
| bh | 187 | fs/buffer.c | if (hash(bh->b_dev,bh->b_blocknr) == bh) |
| bh | 188 | fs/buffer.c | hash(bh->b_dev,bh->b_blocknr) = bh->b_next; |
| bh | 189 | fs/buffer.c | bh->b_next = bh->b_prev = NULL; |
| bh | 192 | fs/buffer.c | static inline void remove_from_free_list(struct buffer_head * bh) |
| bh | 194 | fs/buffer.c | if (!(bh->b_prev_free) || !(bh->b_next_free)) |
| bh | 196 | fs/buffer.c | bh->b_prev_free->b_next_free = bh->b_next_free; |
| bh | 197 | fs/buffer.c | bh->b_next_free->b_prev_free = bh->b_prev_free; |
| bh | 198 | fs/buffer.c | if (free_list == bh) |
| bh | 199 | fs/buffer.c | free_list = bh->b_next_free; |
| bh | 200 | fs/buffer.c | bh->b_next_free = bh->b_prev_free = NULL; |
| bh | 203 | fs/buffer.c | static inline void remove_from_queues(struct buffer_head * bh) |
| bh | 205 | fs/buffer.c | remove_from_hash_queue(bh); |
| bh | 206 | fs/buffer.c | remove_from_free_list(bh); |
| bh | 209 | fs/buffer.c | static inline void put_first_free(struct buffer_head * bh) |
| bh | 211 | fs/buffer.c | if (!bh || (bh == free_list)) |
| bh | 213 | fs/buffer.c | remove_from_free_list(bh); |
| bh | 215 | fs/buffer.c | bh->b_next_free = free_list; |
| bh | 216 | fs/buffer.c | bh->b_prev_free = free_list->b_prev_free; |
| bh | 217 | fs/buffer.c | free_list->b_prev_free->b_next_free = bh; |
| bh | 218 | fs/buffer.c | free_list->b_prev_free = bh; |
| bh | 219 | fs/buffer.c | free_list = bh; |
| bh | 222 | fs/buffer.c | static inline void put_last_free(struct buffer_head * bh) |
| bh | 224 | fs/buffer.c | if (!bh) |
| bh | 226 | fs/buffer.c | if (bh == free_list) { |
| bh | 227 | fs/buffer.c | free_list = bh->b_next_free; |
| bh | 230 | fs/buffer.c | remove_from_free_list(bh); |
| bh | 232 | fs/buffer.c | bh->b_next_free = free_list; |
| bh | 233 | fs/buffer.c | bh->b_prev_free = free_list->b_prev_free; |
| bh | 234 | fs/buffer.c | free_list->b_prev_free->b_next_free = bh; |
| bh | 235 | fs/buffer.c | free_list->b_prev_free = bh; |
| bh | 238 | fs/buffer.c | static inline void insert_into_queues(struct buffer_head * bh) |
| bh | 241 | fs/buffer.c | bh->b_next_free = free_list; |
| bh | 242 | fs/buffer.c | bh->b_prev_free = free_list->b_prev_free; |
| bh | 243 | fs/buffer.c | free_list->b_prev_free->b_next_free = bh; |
| bh | 244 | fs/buffer.c | free_list->b_prev_free = bh; |
| bh | 246 | fs/buffer.c | bh->b_prev = NULL; |
| bh | 247 | fs/buffer.c | bh->b_next = NULL; |
| bh | 248 | fs/buffer.c | if (!bh->b_dev) |
| bh | 250 | fs/buffer.c | bh->b_next = hash(bh->b_dev,bh->b_blocknr); |
| bh | 251 | fs/buffer.c | hash(bh->b_dev,bh->b_blocknr) = bh; |
| bh | 252 | fs/buffer.c | if (bh->b_next) |
| bh | 253 | fs/buffer.c | bh->b_next->b_prev = bh; |
| bh | 280 | fs/buffer.c | struct buffer_head * bh; |
| bh | 283 | fs/buffer.c | if (!(bh=find_buffer(dev,block,size))) |
| bh | 285 | fs/buffer.c | bh->b_count++; |
| bh | 286 | fs/buffer.c | wait_on_buffer(bh); |
| bh | 287 | fs/buffer.c | if (bh->b_dev == dev && bh->b_blocknr == block && bh->b_size == size) |
| bh | 288 | fs/buffer.c | return bh; |
| bh | 289 | fs/buffer.c | bh->b_count--; |
| bh | 303 | fs/buffer.c | #define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) |
| bh | 306 | fs/buffer.c | struct buffer_head * bh, * tmp; |
| bh | 310 | fs/buffer.c | bh = get_hash_table(dev, block, size); |
| bh | 311 | fs/buffer.c | if (bh) { |
| bh | 312 | fs/buffer.c | if (bh->b_uptodate && !bh->b_dirt) |
| bh | 313 | fs/buffer.c | put_last_free(bh); |
| bh | 314 | fs/buffer.c | return bh; |
| bh | 321 | fs/buffer.c | bh = NULL; |
| bh | 326 | fs/buffer.c | if (!bh || BADNESS(tmp)<BADNESS(bh)) { |
| bh | 327 | fs/buffer.c | bh = tmp; |
| bh | 337 | fs/buffer.c | if (!bh && nr_free_pages > 5) { |
| bh | 343 | fs/buffer.c | if (!bh) { |
| bh | 347 | fs/buffer.c | wait_on_buffer(bh); |
| bh | 348 | fs/buffer.c | if (bh->b_count || bh->b_size != size) |
| bh | 350 | fs/buffer.c | if (bh->b_dirt) { |
| bh | 351 | fs/buffer.c | sync_buffers(bh->b_dev); |
| bh | 360 | fs/buffer.c | bh->b_count=1; |
| bh | 361 | fs/buffer.c | bh->b_dirt=0; |
| bh | 362 | fs/buffer.c | bh->b_uptodate=0; |
| bh | 363 | fs/buffer.c | remove_from_queues(bh); |
| bh | 364 | fs/buffer.c | bh->b_dev=dev; |
| bh | 365 | fs/buffer.c | bh->b_blocknr=block; |
| bh | 366 | fs/buffer.c | insert_into_queues(bh); |
| bh | 367 | fs/buffer.c | return bh; |
| bh | 390 | fs/buffer.c | struct buffer_head * bh; |
| bh | 392 | fs/buffer.c | if (!(bh = getblk(dev, block, size))) { |
| bh | 396 | fs/buffer.c | if (bh->b_uptodate) |
| bh | 397 | fs/buffer.c | return bh; |
| bh | 398 | fs/buffer.c | ll_rw_block(READ, 1, &bh); |
| bh | 399 | fs/buffer.c | wait_on_buffer(bh); |
| bh | 400 | fs/buffer.c | if (bh->b_uptodate) |
| bh | 401 | fs/buffer.c | return bh; |
| bh | 402 | fs/buffer.c | brelse(bh); |
| bh | 421 | fs/buffer.c | struct buffer_head * bh[4]; |
| bh | 428 | fs/buffer.c | bh[i] = getblk(dev, b[i], 1024); |
| bh | 429 | fs/buffer.c | if (bh[i] && !bh[i]->b_uptodate) |
| bh | 430 | fs/buffer.c | bhr[bhnum++] = bh[i]; |
| bh | 432 | fs/buffer.c | bh[i] = NULL; |
| bh | 438 | fs/buffer.c | if (bh[i]) { |
| bh | 439 | fs/buffer.c | wait_on_buffer(bh[i]); |
| bh | 440 | fs/buffer.c | if (bh[i]->b_uptodate) |
| bh | 441 | fs/buffer.c | COPYBLK((unsigned long) bh[i]->b_data,address); |
| bh | 442 | fs/buffer.c | brelse(bh[i]); |
| bh | 454 | fs/buffer.c | struct buffer_head * bh, *tmp; |
| bh | 457 | fs/buffer.c | if (!(bh = getblk(dev, first, 1024))) { |
| bh | 461 | fs/buffer.c | if (!bh->b_uptodate) |
| bh | 462 | fs/buffer.c | ll_rw_block(READ, 1, &bh); |
| bh | 472 | fs/buffer.c | wait_on_buffer(bh); |
| bh | 473 | fs/buffer.c | if (bh->b_uptodate) |
| bh | 474 | fs/buffer.c | return bh; |
| bh | 475 | fs/buffer.c | brelse(bh); |
| bh | 482 | fs/buffer.c | static void put_unused_buffer_head(struct buffer_head * bh) |
| bh | 486 | fs/buffer.c | wait = ((volatile struct buffer_head *) bh)->b_wait; |
| bh | 487 | fs/buffer.c | memset((void *) bh,0,sizeof(*bh)); |
| bh | 488 | fs/buffer.c | ((volatile struct buffer_head *) bh)->b_wait = wait; |
| bh | 489 | fs/buffer.c | bh->b_next_free = unused_list; |
| bh | 490 | fs/buffer.c | unused_list = bh; |
| bh | 496 | fs/buffer.c | struct buffer_head * bh; |
| bh | 503 | fs/buffer.c | bh = (struct buffer_head *) page; |
| bh | 504 | fs/buffer.c | while ((unsigned long) (bh+1) <= page+4096) { |
| bh | 505 | fs/buffer.c | put_unused_buffer_head(bh); |
| bh | 506 | fs/buffer.c | bh++; |
| bh | 513 | fs/buffer.c | struct buffer_head * bh; |
| bh | 518 | fs/buffer.c | bh = unused_list; |
| bh | 519 | fs/buffer.c | unused_list = bh->b_next_free; |
| bh | 520 | fs/buffer.c | bh->b_next_free = NULL; |
| bh | 521 | fs/buffer.c | bh->b_data = NULL; |
| bh | 522 | fs/buffer.c | bh->b_size = 0; |
| bh | 523 | fs/buffer.c | return bh; |
| bh | 536 | fs/buffer.c | struct buffer_head *bh, *tmp; |
| bh | 548 | fs/buffer.c | bh = get_unused_buffer_head(); |
| bh | 549 | fs/buffer.c | if (!bh) |
| bh | 551 | fs/buffer.c | bh->b_this_page = tmp; |
| bh | 552 | fs/buffer.c | tmp = bh; |
| bh | 553 | fs/buffer.c | bh->b_data = (char * ) (page+i); |
| bh | 554 | fs/buffer.c | bh->b_size = size; |
| bh | 556 | fs/buffer.c | tmp = bh; |
| bh | 574 | fs/buffer.c | tmp->b_this_page = bh; |
| bh | 581 | fs/buffer.c | bh = tmp; |
| bh | 582 | fs/buffer.c | while (bh) { |
| bh | 583 | fs/buffer.c | tmp = bh; |
| bh | 584 | fs/buffer.c | bh = bh->b_this_page; |
| bh | 594 | fs/buffer.c | static int try_to_free(struct buffer_head * bh) |
| bh | 599 | fs/buffer.c | tmp = bh; |
| bh | 606 | fs/buffer.c | } while (tmp != bh); |
| bh | 607 | fs/buffer.c | page = (unsigned long) bh->b_data; |
| bh | 609 | fs/buffer.c | tmp = bh; |
| bh | 616 | fs/buffer.c | } while (tmp != bh); |
| bh | 631 | fs/buffer.c | struct buffer_head *bh; |
| bh | 636 | fs/buffer.c | bh = free_list; |
| bh | 638 | fs/buffer.c | for ( ; i-- > 0 ; bh = bh->b_next_free) { |
| bh | 639 | fs/buffer.c | if (bh->b_count || !bh->b_this_page) |
| bh | 641 | fs/buffer.c | if (bh->b_lock) |
| bh | 645 | fs/buffer.c | wait_on_buffer(bh); |
| bh | 646 | fs/buffer.c | if (bh->b_dirt) { |
| bh | 647 | fs/buffer.c | ll_rw_block(WRITEA, 1, &bh); |
| bh | 650 | fs/buffer.c | if (try_to_free(bh)) |
| bh | 182 | fs/exec.c | struct buffer_head * bh; |
| bh | 197 | fs/exec.c | if (!(bh = bread(inode->i_dev,bmap(inode,0),inode->i_sb->s_blocksize))) { |
| bh | 205 | fs/exec.c | ex = *(struct exec *) bh->b_data; |
| bh | 206 | fs/exec.c | brelse(bh); |
| bh | 370 | fs/exec.c | struct buffer_head *bh; |
| bh | 381 | fs/exec.c | if (!(bh = bread(inode->i_dev, blkno, block_size))) |
| bh | 387 | fs/exec.c | memcpy_tofs(dest, (blk ? bh->b_data : |
| bh | 388 | fs/exec.c | bh->b_data + sizeof(struct exec)), n); |
| bh | 389 | fs/exec.c | brelse(bh); |
| bh | 408 | fs/exec.c | struct buffer_head * bh; |
| bh | 465 | fs/exec.c | if (!(bh = bread(inode->i_dev,bmap(inode,0),inode->i_sb->s_blocksize))) { |
| bh | 473 | fs/exec.c | ex = *((struct exec *) bh->b_data); /* read exec-header */ |
| bh | 474 | fs/exec.c | if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { |
| bh | 483 | fs/exec.c | strncpy(buf, bh->b_data+2, 127); |
| bh | 484 | fs/exec.c | brelse(bh); |
| bh | 544 | fs/exec.c | brelse(bh); |
| bh | 67 | fs/ext/dir.c | struct buffer_head * bh; |
| bh | 76 | fs/ext/dir.c | bh = ext_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); |
| bh | 77 | fs/ext/dir.c | if (!bh) { |
| bh | 81 | fs/ext/dir.c | de = (struct ext_dir_entry *) (offset + bh->b_data); |
| bh | 106 | fs/ext/dir.c | brelse(bh); |
| bh | 113 | fs/ext/dir.c | brelse(bh); |
| bh | 195 | fs/ext/file.c | struct buffer_head * bh; |
| bh | 216 | fs/ext/file.c | bh = ext_getblk(inode,pos/BLOCK_SIZE,1); |
| bh | 217 | fs/ext/file.c | if (!bh) { |
| bh | 225 | fs/ext/file.c | if (c != BLOCK_SIZE && !bh->b_uptodate) { |
| bh | 226 | fs/ext/file.c | ll_rw_block(READ, 1, &bh); |
| bh | 227 | fs/ext/file.c | wait_on_buffer(bh); |
| bh | 228 | fs/ext/file.c | if (!bh->b_uptodate) { |
| bh | 229 | fs/ext/file.c | brelse(bh); |
| bh | 235 | fs/ext/file.c | p = (pos % BLOCK_SIZE) + bh->b_data; |
| bh | 244 | fs/ext/file.c | bh->b_uptodate = 1; |
| bh | 245 | fs/ext/file.c | bh->b_dirt = 1; |
| bh | 246 | fs/ext/file.c | brelse(bh); |
| bh | 48 | fs/ext/freelists.c | struct buffer_head * bh; |
| bh | 59 | fs/ext/freelists.c | bh = get_hash_table(sb->s_dev, block, sb->s_blocksize); |
| bh | 60 | fs/ext/freelists.c | if (bh) |
| bh | 61 | fs/ext/freelists.c | bh->b_dirt=0; |
| bh | 62 | fs/ext/freelists.c | brelse(bh); |
| bh | 90 | fs/ext/freelists.c | struct buffer_head * bh; |
| bh | 126 | fs/ext/freelists.c | if (!(bh=getblk(sb->s_dev, j, sb->s_blocksize))) |
| bh | 128 | fs/ext/freelists.c | if (bh->b_count != 1) |
| bh | 130 | fs/ext/freelists.c | clear_block(bh->b_data); |
| bh | 131 | fs/ext/freelists.c | bh->b_uptodate = 1; |
| bh | 132 | fs/ext/freelists.c | bh->b_dirt = 1; |
| bh | 133 | fs/ext/freelists.c | brelse(bh); |
| bh | 144 | fs/ext/freelists.c | struct buffer_head * bh; |
| bh | 156 | fs/ext/freelists.c | if (!(bh = bread (sb->s_dev, block, sb->s_blocksize))) { |
| bh | 160 | fs/ext/freelists.c | efb = (struct ext_free_block *) bh->b_data; |
| bh | 163 | fs/ext/freelists.c | brelse (bh); |
| bh | 178 | fs/ext/freelists.c | struct buffer_head * bh; |
| bh | 216 | fs/ext/freelists.c | if (!(bh = bread(inode->i_dev, block, inode->i_sb->s_blocksize))) |
| bh | 218 | fs/ext/freelists.c | efi = ((struct ext_free_inode *) bh->b_data) + |
| bh | 223 | fs/ext/freelists.c | inode->i_sb->u.ext_sb.s_firstfreeinodeblock = bh; |
| bh | 297 | fs/ext/freelists.c | struct buffer_head * bh; |
| bh | 316 | fs/ext/freelists.c | if (!(bh = bread (sb->s_dev, block, sb->s_blocksize))) { |
| bh | 320 | fs/ext/freelists.c | efi = ((struct ext_free_inode *) bh->b_data) + |
| bh | 324 | fs/ext/freelists.c | brelse (bh); |
| bh | 58 | fs/ext/inode.c | struct buffer_head *bh; |
| bh | 63 | fs/ext/inode.c | if (!(bh = bread(dev, 1, BLOCK_SIZE))) { |
| bh | 69 | fs/ext/inode.c | es = (struct ext_super_block *) bh->b_data; |
| bh | 81 | fs/ext/inode.c | brelse(bh); |
| bh | 124 | fs/ext/inode.c | struct buffer_head * bh; |
| bh | 127 | fs/ext/inode.c | if (!(bh = bread(sb->s_dev, 1, BLOCK_SIZE))) { |
| bh | 131 | fs/ext/inode.c | es = (struct ext_super_block *) bh->b_data; |
| bh | 136 | fs/ext/inode.c | bh->b_dirt = 1; |
| bh | 137 | fs/ext/inode.c | brelse (bh); |
| bh | 159 | fs/ext/inode.c | static int block_bmap(struct buffer_head * bh, int nr) |
| bh | 163 | fs/ext/inode.c | if (!bh) |
| bh | 165 | fs/ext/inode.c | tmp = ((unsigned long *) bh->b_data)[nr]; |
| bh | 166 | fs/ext/inode.c | brelse(bh); |
| bh | 248 | fs/ext/inode.c | struct buffer_head * bh, int nr, int create) |
| bh | 254 | fs/ext/inode.c | if (!bh) |
| bh | 256 | fs/ext/inode.c | if (!bh->b_uptodate) { |
| bh | 257 | fs/ext/inode.c | ll_rw_block(READ, 1, &bh); |
| bh | 258 | fs/ext/inode.c | wait_on_buffer(bh); |
| bh | 259 | fs/ext/inode.c | if (!bh->b_uptodate) { |
| bh | 260 | fs/ext/inode.c | brelse(bh); |
| bh | 264 | fs/ext/inode.c | p = nr + (unsigned long *) bh->b_data; |
| bh | 268 | fs/ext/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
| bh | 270 | fs/ext/inode.c | brelse(bh); |
| bh | 277 | fs/ext/inode.c | brelse(bh); |
| bh | 282 | fs/ext/inode.c | brelse(bh); |
| bh | 285 | fs/ext/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
| bh | 292 | fs/ext/inode.c | bh->b_dirt = 1; |
| bh | 293 | fs/ext/inode.c | brelse(bh); |
| bh | 299 | fs/ext/inode.c | struct buffer_head * bh; |
| bh | 313 | fs/ext/inode.c | bh = inode_getblk(inode,9,create); |
| bh | 314 | fs/ext/inode.c | return block_getblk(inode,bh,block,create); |
| bh | 318 | fs/ext/inode.c | bh = inode_getblk(inode,10,create); |
| bh | 319 | fs/ext/inode.c | bh = block_getblk(inode,bh,block>>8,create); |
| bh | 320 | fs/ext/inode.c | return block_getblk(inode,bh,block & 255,create); |
| bh | 323 | fs/ext/inode.c | bh = inode_getblk(inode,11,create); |
| bh | 324 | fs/ext/inode.c | bh = block_getblk(inode,bh,block>>16,create); |
| bh | 325 | fs/ext/inode.c | bh = block_getblk(inode,bh,(block>>8) & 255,create); |
| bh | 326 | fs/ext/inode.c | return block_getblk(inode,bh,block & 255,create); |
| bh | 331 | fs/ext/inode.c | struct buffer_head * bh; |
| bh | 333 | fs/ext/inode.c | bh = ext_getblk(inode,block,create); |
| bh | 334 | fs/ext/inode.c | if (!bh || bh->b_uptodate) |
| bh | 335 | fs/ext/inode.c | return bh; |
| bh | 336 | fs/ext/inode.c | ll_rw_block(READ, 1, &bh); |
| bh | 337 | fs/ext/inode.c | wait_on_buffer(bh); |
| bh | 338 | fs/ext/inode.c | if (bh->b_uptodate) |
| bh | 339 | fs/ext/inode.c | return bh; |
| bh | 340 | fs/ext/inode.c | brelse(bh); |
| bh | 346 | fs/ext/inode.c | struct buffer_head * bh; |
| bh | 351 | fs/ext/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
| bh | 353 | fs/ext/inode.c | raw_inode = ((struct ext_inode *) bh->b_data) + |
| bh | 366 | fs/ext/inode.c | brelse(bh); |
| bh | 390 | fs/ext/inode.c | struct buffer_head * bh; |
| bh | 395 | fs/ext/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
| bh | 397 | fs/ext/inode.c | raw_inode = ((struct ext_inode *)bh->b_data) + |
| bh | 409 | fs/ext/inode.c | bh->b_dirt=1; |
| bh | 411 | fs/ext/inode.c | brelse(bh); |
| bh | 92 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 105 | fs/ext/namei.c | bh = ext_bread(dir,0,0); |
| bh | 106 | fs/ext/namei.c | if (!bh) |
| bh | 113 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 115 | fs/ext/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data) { |
| bh | 116 | fs/ext/namei.c | brelse(bh); |
| bh | 117 | fs/ext/namei.c | bh = NULL; |
| bh | 118 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,0); |
| bh | 119 | fs/ext/namei.c | if (!bh) |
| bh | 121 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 127 | fs/ext/namei.c | (((char *) de) + de->rec_len-1 >= BLOCK_SIZE+bh->b_data)) { |
| bh | 131 | fs/ext/namei.c | de = (struct ext_dir_entry *) (bh->b_data+BLOCK_SIZE); |
| bh | 141 | fs/ext/namei.c | ((char *)de) + de->rec_len < BLOCK_SIZE+bh->b_data) |
| bh | 146 | fs/ext/namei.c | return bh; |
| bh | 153 | fs/ext/namei.c | brelse(bh); |
| bh | 162 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 171 | fs/ext/namei.c | if (!(bh = ext_find_entry(dir,name,len,&de,NULL,NULL))) { |
| bh | 176 | fs/ext/namei.c | brelse(bh); |
| bh | 201 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 216 | fs/ext/namei.c | bh = ext_bread(dir,0,0); |
| bh | 217 | fs/ext/namei.c | if (!bh) |
| bh | 221 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 223 | fs/ext/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data && offset < dir->i_size) { |
| bh | 227 | fs/ext/namei.c | brelse(bh); |
| bh | 228 | fs/ext/namei.c | bh = NULL; |
| bh | 229 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,0); |
| bh | 230 | fs/ext/namei.c | if (!bh) |
| bh | 232 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 250 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 252 | fs/ext/namei.c | brelse (bh); |
| bh | 253 | fs/ext/namei.c | bh = NULL; |
| bh | 257 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,1); |
| bh | 258 | fs/ext/namei.c | if (!bh) |
| bh | 260 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 271 | fs/ext/namei.c | (((char *) de) + de->rec_len-1 >= BLOCK_SIZE+bh->b_data)) { |
| bh | 275 | fs/ext/namei.c | brelse (bh); |
| bh | 295 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 297 | fs/ext/namei.c | return bh; |
| bh | 302 | fs/ext/namei.c | brelse(bh); |
| bh | 310 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 324 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
| bh | 325 | fs/ext/namei.c | if (!bh) { |
| bh | 333 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 334 | fs/ext/namei.c | brelse(bh); |
| bh | 343 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 348 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
| bh | 349 | fs/ext/namei.c | if (bh) { |
| bh | 350 | fs/ext/namei.c | brelse(bh); |
| bh | 387 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
| bh | 388 | fs/ext/namei.c | if (!bh) { |
| bh | 396 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 397 | fs/ext/namei.c | brelse(bh); |
| bh | 406 | fs/ext/namei.c | struct buffer_head * bh, *dir_block; |
| bh | 409 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
| bh | 410 | fs/ext/namei.c | if (bh) { |
| bh | 411 | fs/ext/namei.c | brelse(bh); |
| bh | 452 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
| bh | 453 | fs/ext/namei.c | if (!bh) { |
| bh | 460 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 465 | fs/ext/namei.c | brelse(bh); |
| bh | 475 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 478 | fs/ext/namei.c | if (inode->i_size < 2 * 12 || !(bh = ext_bread(inode,0,0))) { |
| bh | 482 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 492 | fs/ext/namei.c | if ((void *) de >= (void *) (bh->b_data+BLOCK_SIZE)) { |
| bh | 493 | fs/ext/namei.c | brelse(bh); |
| bh | 494 | fs/ext/namei.c | bh = ext_bread(inode, offset >> BLOCK_SIZE_BITS,1); |
| bh | 495 | fs/ext/namei.c | if (!bh) { |
| bh | 499 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
| bh | 506 | fs/ext/namei.c | brelse (bh); |
| bh | 510 | fs/ext/namei.c | brelse(bh); |
| bh | 516 | fs/ext/namei.c | brelse(bh); |
| bh | 533 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 537 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,&pde,&nde); |
| bh | 539 | fs/ext/namei.c | if (!bh) |
| bh | 568 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 578 | fs/ext/namei.c | brelse(bh); |
| bh | 586 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 591 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,&pde,&nde); |
| bh | 592 | fs/ext/namei.c | if (!bh) |
| bh | 611 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 617 | fs/ext/namei.c | brelse(bh); |
| bh | 627 | fs/ext/namei.c | struct buffer_head * bh = NULL, * name_block = NULL; |
| bh | 653 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
| bh | 654 | fs/ext/namei.c | if (bh) { |
| bh | 658 | fs/ext/namei.c | brelse(bh); |
| bh | 662 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
| bh | 663 | fs/ext/namei.c | if (!bh) { |
| bh | 671 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 672 | fs/ext/namei.c | brelse(bh); |
| bh | 681 | fs/ext/namei.c | struct buffer_head * bh; |
| bh | 693 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
| bh | 694 | fs/ext/namei.c | if (bh) { |
| bh | 695 | fs/ext/namei.c | brelse(bh); |
| bh | 700 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
| bh | 701 | fs/ext/namei.c | if (!bh) { |
| bh | 707 | fs/ext/namei.c | bh->b_dirt = 1; |
| bh | 708 | fs/ext/namei.c | brelse(bh); |
| bh | 51 | fs/ext/symlink.c | struct buffer_head * bh; |
| bh | 72 | fs/ext/symlink.c | if (!(bh = ext_bread(inode, 0, 0))) { |
| bh | 81 | fs/ext/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
| bh | 84 | fs/ext/symlink.c | brelse(bh); |
| bh | 90 | fs/ext/symlink.c | struct buffer_head * bh; |
| bh | 100 | fs/ext/symlink.c | bh = ext_bread(inode, 0, 0); |
| bh | 102 | fs/ext/symlink.c | if (!bh) |
| bh | 105 | fs/ext/symlink.c | while (i<buflen && (c = bh->b_data[i])) { |
| bh | 109 | fs/ext/symlink.c | brelse(bh); |
| bh | 37 | fs/ext/truncate.c | struct buffer_head * bh; |
| bh | 46 | fs/ext/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
| bh | 48 | fs/ext/truncate.c | brelse(bh); |
| bh | 51 | fs/ext/truncate.c | if ((bh && bh->b_count != 1) || tmp != *p) { |
| bh | 53 | fs/ext/truncate.c | brelse(bh); |
| bh | 58 | fs/ext/truncate.c | brelse(bh); |
| bh | 67 | fs/ext/truncate.c | struct buffer_head * bh; |
| bh | 95 | fs/ext/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
| bh | 97 | fs/ext/truncate.c | brelse(bh); |
| bh | 100 | fs/ext/truncate.c | if ((bh && bh->b_count != 1) || tmp != *ind) { |
| bh | 102 | fs/ext/truncate.c | brelse(bh); |
| bh | 107 | fs/ext/truncate.c | brelse(bh); |
| bh | 67 | fs/isofs/dir.c | struct buffer_head * bh; |
| bh | 79 | fs/isofs/dir.c | if (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE))) |
| bh | 86 | fs/isofs/dir.c | de = (struct iso_directory_record *) (offset + bh->b_data); |
| bh | 93 | fs/isofs/dir.c | brelse(bh); |
| bh | 97 | fs/isofs/dir.c | if (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE))) |
| bh | 111 | fs/isofs/dir.c | memcpy(cpnt, bh->b_data, BLOCK_SIZE); |
| bh | 113 | fs/isofs/dir.c | brelse(bh); |
| bh | 116 | fs/isofs/dir.c | if (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE))) |
| bh | 118 | fs/isofs/dir.c | memcpy(cpnt+BLOCK_SIZE, bh->b_data, BLOCK_SIZE); |
| bh | 212 | fs/isofs/dir.c | brelse(bh); |
| bh | 220 | fs/isofs/dir.c | brelse(bh); |
| bh | 90 | fs/isofs/file.c | struct buffer_head * bh; |
| bh | 94 | fs/isofs/file.c | if (block && (bh = bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) { |
| bh | 95 | fs/isofs/file.c | pnt = (char*) bh->b_data; |
| bh | 106 | fs/isofs/file.c | brelse(bh); |
| bh | 100 | fs/isofs/inode.c | struct buffer_head *bh; |
| bh | 124 | fs/isofs/inode.c | if (!(bh = bread(dev, iso_blknum << (ISOFS_BLOCK_BITS-ISOFS_BUFFER_BITS), ISOFS_BUFFER_SIZE))) { |
| bh | 132 | fs/isofs/inode.c | vdp = (struct iso_volume_descriptor *)bh->b_data; |
| bh | 133 | fs/isofs/inode.c | hdp = (struct hs_volume_descriptor *)bh->b_data; |
| bh | 159 | fs/isofs/inode.c | brelse(bh); |
| bh | 207 | fs/isofs/inode.c | brelse(bh); |
| bh | 239 | fs/isofs/inode.c | brelse(bh); |
| bh | 269 | fs/isofs/inode.c | struct buffer_head * bh; |
| bh | 277 | fs/isofs/inode.c | if (!(bh=bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) |
| bh | 280 | fs/isofs/inode.c | pnt = ((char *) bh->b_data) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1)); |
| bh | 287 | fs/isofs/inode.c | memcpy(cpnt, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 288 | fs/isofs/inode.c | brelse(bh); |
| bh | 289 | fs/isofs/inode.c | if (!(bh = bread(inode->i_dev,++block, ISOFS_BUFFER_SIZE))) |
| bh | 291 | fs/isofs/inode.c | memcpy(cpnt+ISOFS_BUFFER_SIZE, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 404 | fs/isofs/inode.c | brelse(bh); |
| bh | 457 | fs/isofs/inode.c | struct buffer_head * bh; |
| bh | 462 | fs/isofs/inode.c | if (!(bh = bread(parent->i_dev, block, ISOFS_BUFFER_SIZE))) return 0; |
| bh | 465 | fs/isofs/inode.c | de = (struct iso_directory_record *) (offset + bh->b_data); |
| bh | 469 | fs/isofs/inode.c | brelse(bh); |
| bh | 478 | fs/isofs/inode.c | brelse(bh); |
| bh | 484 | fs/isofs/inode.c | brelse(bh); |
| bh | 500 | fs/isofs/inode.c | if (!block || !(bh = bread(parent->i_dev,block, ISOFS_BUFFER_SIZE))) |
| bh | 504 | fs/isofs/inode.c | de = (struct iso_directory_record *) (offset + bh->b_data); |
| bh | 512 | fs/isofs/inode.c | brelse(bh); |
| bh | 516 | fs/isofs/inode.c | if (!block || !(bh = bread(parent->i_dev,block, ISOFS_BUFFER_SIZE))) |
| bh | 530 | fs/isofs/inode.c | memcpy(cpnt, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 532 | fs/isofs/inode.c | brelse(bh); |
| bh | 536 | fs/isofs/inode.c | if (!(bh = bread(parent->i_dev,block, ISOFS_BUFFER_SIZE))) |
| bh | 538 | fs/isofs/inode.c | memcpy(cpnt+ISOFS_BUFFER_SIZE, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 559 | fs/isofs/inode.c | brelse(bh); |
| bh | 589 | fs/isofs/inode.c | void leak_check_brelse(struct buffer_head * bh){ |
| bh | 591 | fs/isofs/inode.c | return brelse(bh); |
| bh | 68 | fs/isofs/namei.c | struct buffer_head * bh; |
| bh | 86 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,ISOFS_BUFFER_SIZE))) return NULL; |
| bh | 89 | fs/isofs/namei.c | de = (struct iso_directory_record *) (offset + bh->b_data); |
| bh | 97 | fs/isofs/namei.c | brelse(bh); |
| bh | 101 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,ISOFS_BUFFER_SIZE))) |
| bh | 115 | fs/isofs/namei.c | memcpy(cpnt, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 117 | fs/isofs/namei.c | brelse(bh); |
| bh | 120 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,ISOFS_BUFFER_SIZE))) |
| bh | 122 | fs/isofs/namei.c | memcpy(cpnt+ISOFS_BUFFER_SIZE, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 184 | fs/isofs/namei.c | return bh; |
| bh | 189 | fs/isofs/namei.c | brelse(bh); |
| bh | 197 | fs/isofs/namei.c | struct buffer_head * bh; |
| bh | 230 | fs/isofs/namei.c | if (!(bh = isofs_find_entry(dir,name,len, &ino, &ino_back))) { |
| bh | 234 | fs/isofs/namei.c | brelse(bh); |
| bh | 56 | fs/isofs/rock.c | struct buffer_head * bh; \ |
| bh | 62 | fs/isofs/rock.c | bh = bread(DEV, block, 1024); \ |
| bh | 63 | fs/isofs/rock.c | memcpy(buffer, bh->b_data, cont_size); \ |
| bh | 64 | fs/isofs/rock.c | brelse(bh); \ |
| bh | 361 | fs/isofs/rock.c | struct buffer_head * bh; |
| bh | 378 | fs/isofs/rock.c | if (!(bh=bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) |
| bh | 381 | fs/isofs/rock.c | pnt = ((char *) bh->b_data) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1)); |
| bh | 387 | fs/isofs/rock.c | memcpy(cpnt, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 388 | fs/isofs/rock.c | brelse(bh); |
| bh | 389 | fs/isofs/rock.c | if (!(bh = bread(inode->i_dev,++block, ISOFS_BUFFER_SIZE))) |
| bh | 391 | fs/isofs/rock.c | memcpy(cpnt+ISOFS_BUFFER_SIZE, bh->b_data, ISOFS_BUFFER_SIZE); |
| bh | 456 | fs/isofs/rock.c | brelse(bh); |
| bh | 54 | fs/minix/bitmap.c | struct buffer_head *bh; |
| bh | 57 | fs/minix/bitmap.c | if (!(bh=map[i])) |
| bh | 66 | fs/minix/bitmap.c | tmp = bh->b_data[end] & ((1<<numbits)-1); |
| bh | 71 | fs/minix/bitmap.c | sum += nibblemap[bh->b_data[j] & 0xf] |
| bh | 72 | fs/minix/bitmap.c | + nibblemap[(bh->b_data[j]>>4)&0xf]; |
| bh | 79 | fs/minix/bitmap.c | struct buffer_head * bh; |
| bh | 91 | fs/minix/bitmap.c | bh = get_hash_table(sb->s_dev,block,BLOCK_SIZE); |
| bh | 92 | fs/minix/bitmap.c | if (bh) |
| bh | 93 | fs/minix/bitmap.c | bh->b_dirt=0; |
| bh | 94 | fs/minix/bitmap.c | brelse(bh); |
| bh | 98 | fs/minix/bitmap.c | bh = sb->u.minix_sb.s_zmap[zone]; |
| bh | 99 | fs/minix/bitmap.c | if (!bh) { |
| bh | 103 | fs/minix/bitmap.c | if (clear_bit(bit,bh->b_data)) |
| bh | 105 | fs/minix/bitmap.c | bh->b_dirt = 1; |
| bh | 111 | fs/minix/bitmap.c | struct buffer_head * bh; |
| bh | 121 | fs/minix/bitmap.c | if ((bh=sb->u.minix_sb.s_zmap[i]) != NULL) |
| bh | 122 | fs/minix/bitmap.c | if ((j=find_first_zero(bh->b_data))<8192) |
| bh | 124 | fs/minix/bitmap.c | if (i>=8 || !bh || j>=8192) |
| bh | 126 | fs/minix/bitmap.c | if (set_bit(j,bh->b_data)) { |
| bh | 130 | fs/minix/bitmap.c | bh->b_dirt = 1; |
| bh | 134 | fs/minix/bitmap.c | if (!(bh = getblk(sb->s_dev,j,BLOCK_SIZE))) { |
| bh | 138 | fs/minix/bitmap.c | if (bh->b_count != 1) { |
| bh | 142 | fs/minix/bitmap.c | clear_block(bh->b_data); |
| bh | 143 | fs/minix/bitmap.c | bh->b_uptodate = 1; |
| bh | 144 | fs/minix/bitmap.c | bh->b_dirt = 1; |
| bh | 145 | fs/minix/bitmap.c | brelse(bh); |
| bh | 157 | fs/minix/bitmap.c | struct buffer_head * bh; |
| bh | 181 | fs/minix/bitmap.c | if (!(bh=inode->i_sb->u.minix_sb.s_imap[inode->i_ino>>13])) { |
| bh | 185 | fs/minix/bitmap.c | if (clear_bit(inode->i_ino&8191,bh->b_data)) |
| bh | 187 | fs/minix/bitmap.c | bh->b_dirt = 1; |
| bh | 195 | fs/minix/bitmap.c | struct buffer_head * bh; |
| bh | 205 | fs/minix/bitmap.c | if ((bh = inode->i_sb->u.minix_sb.s_imap[i]) != NULL) |
| bh | 206 | fs/minix/bitmap.c | if ((j=find_first_zero(bh->b_data))<8192) |
| bh | 208 | fs/minix/bitmap.c | if (!bh || j >= 8192 || j+i*8192 > inode->i_sb->u.minix_sb.s_ninodes) { |
| bh | 212 | fs/minix/bitmap.c | if (set_bit(j,bh->b_data)) { /* shouldn't happen */ |
| bh | 217 | fs/minix/bitmap.c | bh->b_dirt = 1; |
| bh | 60 | fs/minix/dir.c | struct buffer_head * bh; |
| bh | 69 | fs/minix/dir.c | bh = minix_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); |
| bh | 70 | fs/minix/dir.c | if (!bh) { |
| bh | 74 | fs/minix/dir.c | de = (struct minix_dir_entry *) (offset + bh->b_data); |
| bh | 88 | fs/minix/dir.c | brelse(bh); |
| bh | 94 | fs/minix/dir.c | brelse(bh); |
| bh | 189 | fs/minix/file.c | struct buffer_head * bh; |
| bh | 210 | fs/minix/file.c | bh = minix_getblk(inode,pos/BLOCK_SIZE,1); |
| bh | 211 | fs/minix/file.c | if (!bh) { |
| bh | 219 | fs/minix/file.c | if (c != BLOCK_SIZE && !bh->b_uptodate) { |
| bh | 220 | fs/minix/file.c | ll_rw_block(READ, 1, &bh); |
| bh | 221 | fs/minix/file.c | wait_on_buffer(bh); |
| bh | 222 | fs/minix/file.c | if (!bh->b_uptodate) { |
| bh | 223 | fs/minix/file.c | brelse(bh); |
| bh | 229 | fs/minix/file.c | p = (pos % BLOCK_SIZE) + bh->b_data; |
| bh | 238 | fs/minix/file.c | bh->b_uptodate = 1; |
| bh | 239 | fs/minix/file.c | bh->b_dirt = 1; |
| bh | 240 | fs/minix/file.c | brelse(bh); |
| bh | 53 | fs/minix/inode.c | struct buffer_head *bh; |
| bh | 60 | fs/minix/inode.c | if (!(bh = bread(dev,1,BLOCK_SIZE))) { |
| bh | 66 | fs/minix/inode.c | ms = (struct minix_super_block *) bh->b_data; |
| bh | 76 | fs/minix/inode.c | brelse(bh); |
| bh | 140 | fs/minix/inode.c | static int block_bmap(struct buffer_head * bh, int nr) |
| bh | 144 | fs/minix/inode.c | if (!bh) |
| bh | 146 | fs/minix/inode.c | tmp = ((unsigned short *) bh->b_data)[nr]; |
| bh | 147 | fs/minix/inode.c | brelse(bh); |
| bh | 216 | fs/minix/inode.c | struct buffer_head * bh, int nr, int create) |
| bh | 222 | fs/minix/inode.c | if (!bh) |
| bh | 224 | fs/minix/inode.c | if (!bh->b_uptodate) { |
| bh | 225 | fs/minix/inode.c | ll_rw_block(READ, 1, &bh); |
| bh | 226 | fs/minix/inode.c | wait_on_buffer(bh); |
| bh | 227 | fs/minix/inode.c | if (!bh->b_uptodate) { |
| bh | 228 | fs/minix/inode.c | brelse(bh); |
| bh | 232 | fs/minix/inode.c | p = nr + (unsigned short *) bh->b_data; |
| bh | 236 | fs/minix/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
| bh | 238 | fs/minix/inode.c | brelse(bh); |
| bh | 245 | fs/minix/inode.c | brelse(bh); |
| bh | 250 | fs/minix/inode.c | brelse(bh); |
| bh | 253 | fs/minix/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
| bh | 260 | fs/minix/inode.c | bh->b_dirt = 1; |
| bh | 261 | fs/minix/inode.c | brelse(bh); |
| bh | 267 | fs/minix/inode.c | struct buffer_head * bh; |
| bh | 281 | fs/minix/inode.c | bh = inode_getblk(inode,7,create); |
| bh | 282 | fs/minix/inode.c | return block_getblk(inode, bh, block, create); |
| bh | 285 | fs/minix/inode.c | bh = inode_getblk(inode,8,create); |
| bh | 286 | fs/minix/inode.c | bh = block_getblk(inode, bh, block>>9, create); |
| bh | 287 | fs/minix/inode.c | return block_getblk(inode, bh, block & 511, create); |
| bh | 292 | fs/minix/inode.c | struct buffer_head * bh; |
| bh | 294 | fs/minix/inode.c | bh = minix_getblk(inode,block,create); |
| bh | 295 | fs/minix/inode.c | if (!bh || bh->b_uptodate) |
| bh | 296 | fs/minix/inode.c | return bh; |
| bh | 297 | fs/minix/inode.c | ll_rw_block(READ, 1, &bh); |
| bh | 298 | fs/minix/inode.c | wait_on_buffer(bh); |
| bh | 299 | fs/minix/inode.c | if (bh->b_uptodate) |
| bh | 300 | fs/minix/inode.c | return bh; |
| bh | 301 | fs/minix/inode.c | brelse(bh); |
| bh | 307 | fs/minix/inode.c | struct buffer_head * bh; |
| bh | 315 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev,block, BLOCK_SIZE))) |
| bh | 317 | fs/minix/inode.c | raw_inode = ((struct minix_inode *) bh->b_data) + |
| bh | 330 | fs/minix/inode.c | brelse(bh); |
| bh | 354 | fs/minix/inode.c | struct buffer_head * bh; |
| bh | 360 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
| bh | 362 | fs/minix/inode.c | raw_inode = ((struct minix_inode *)bh->b_data) + |
| bh | 375 | fs/minix/inode.c | bh->b_dirt=1; |
| bh | 376 | fs/minix/inode.c | brelse(bh); |
| bh | 62 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 76 | fs/minix/namei.c | bh = minix_bread(dir,0,0); |
| bh | 77 | fs/minix/namei.c | if (!bh) |
| bh | 80 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
| bh | 82 | fs/minix/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data) { |
| bh | 83 | fs/minix/namei.c | brelse(bh); |
| bh | 84 | fs/minix/namei.c | bh = minix_bread(dir,i/MINIX_DIR_ENTRIES_PER_BLOCK,0); |
| bh | 85 | fs/minix/namei.c | if (!bh) { |
| bh | 89 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
| bh | 93 | fs/minix/namei.c | return bh; |
| bh | 98 | fs/minix/namei.c | brelse(bh); |
| bh | 107 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 116 | fs/minix/namei.c | if (!(bh = minix_find_entry(dir,name,len,&de))) { |
| bh | 121 | fs/minix/namei.c | brelse(bh); |
| bh | 147 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 163 | fs/minix/namei.c | bh = minix_bread(dir,0,0); |
| bh | 164 | fs/minix/namei.c | if (!bh) |
| bh | 169 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
| bh | 171 | fs/minix/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data) { |
| bh | 172 | fs/minix/namei.c | brelse(bh); |
| bh | 173 | fs/minix/namei.c | bh = minix_bread(dir,i/MINIX_DIR_ENTRIES_PER_BLOCK,1); |
| bh | 174 | fs/minix/namei.c | if (!bh) |
| bh | 176 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
| bh | 187 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 189 | fs/minix/namei.c | return bh; |
| bh | 194 | fs/minix/namei.c | brelse(bh); |
| bh | 202 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 216 | fs/minix/namei.c | bh = minix_add_entry(dir,name,len,&de); |
| bh | 217 | fs/minix/namei.c | if (!bh) { |
| bh | 225 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 226 | fs/minix/namei.c | brelse(bh); |
| bh | 235 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 240 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
| bh | 241 | fs/minix/namei.c | if (bh) { |
| bh | 242 | fs/minix/namei.c | brelse(bh); |
| bh | 279 | fs/minix/namei.c | bh = minix_add_entry(dir,name,len,&de); |
| bh | 280 | fs/minix/namei.c | if (!bh) { |
| bh | 288 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 289 | fs/minix/namei.c | brelse(bh); |
| bh | 298 | fs/minix/namei.c | struct buffer_head * bh, *dir_block; |
| bh | 301 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
| bh | 302 | fs/minix/namei.c | if (bh) { |
| bh | 303 | fs/minix/namei.c | brelse(bh); |
| bh | 336 | fs/minix/namei.c | bh = minix_add_entry(dir,name,len,&de); |
| bh | 337 | fs/minix/namei.c | if (!bh) { |
| bh | 344 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 349 | fs/minix/namei.c | brelse(bh); |
| bh | 359 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 363 | fs/minix/namei.c | if (len<2 || !(bh = minix_bread(inode,0,0))) { |
| bh | 367 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
| bh | 376 | fs/minix/namei.c | if ((void *) de >= (void *) (bh->b_data+BLOCK_SIZE)) { |
| bh | 377 | fs/minix/namei.c | brelse(bh); |
| bh | 378 | fs/minix/namei.c | bh = minix_bread(inode,nr/MINIX_DIR_ENTRIES_PER_BLOCK,0); |
| bh | 379 | fs/minix/namei.c | if (!bh) { |
| bh | 383 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
| bh | 386 | fs/minix/namei.c | brelse(bh); |
| bh | 392 | fs/minix/namei.c | brelse(bh); |
| bh | 400 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 404 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
| bh | 406 | fs/minix/namei.c | if (!bh) |
| bh | 433 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 443 | fs/minix/namei.c | brelse(bh); |
| bh | 451 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 457 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
| bh | 458 | fs/minix/namei.c | if (!bh) |
| bh | 464 | fs/minix/namei.c | brelse(bh); |
| bh | 482 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 490 | fs/minix/namei.c | brelse(bh); |
| bh | 500 | fs/minix/namei.c | struct buffer_head * bh = NULL, * name_block = NULL; |
| bh | 526 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
| bh | 527 | fs/minix/namei.c | if (bh) { |
| bh | 531 | fs/minix/namei.c | brelse(bh); |
| bh | 535 | fs/minix/namei.c | bh = minix_add_entry(dir,name,len,&de); |
| bh | 536 | fs/minix/namei.c | if (!bh) { |
| bh | 544 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 545 | fs/minix/namei.c | brelse(bh); |
| bh | 554 | fs/minix/namei.c | struct buffer_head * bh; |
| bh | 566 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
| bh | 567 | fs/minix/namei.c | if (bh) { |
| bh | 568 | fs/minix/namei.c | brelse(bh); |
| bh | 573 | fs/minix/namei.c | bh = minix_add_entry(dir,name,len,&de); |
| bh | 574 | fs/minix/namei.c | if (!bh) { |
| bh | 580 | fs/minix/namei.c | bh->b_dirt = 1; |
| bh | 581 | fs/minix/namei.c | brelse(bh); |
| bh | 45 | fs/minix/symlink.c | struct buffer_head * bh; |
| bh | 66 | fs/minix/symlink.c | if (!(bh = minix_bread(inode, 0, 0))) { |
| bh | 75 | fs/minix/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
| bh | 78 | fs/minix/symlink.c | brelse(bh); |
| bh | 84 | fs/minix/symlink.c | struct buffer_head * bh; |
| bh | 94 | fs/minix/symlink.c | bh = minix_bread(inode, 0, 0); |
| bh | 96 | fs/minix/symlink.c | if (!bh) |
| bh | 99 | fs/minix/symlink.c | while (i<buflen && (c = bh->b_data[i])) { |
| bh | 103 | fs/minix/symlink.c | brelse(bh); |
| bh | 30 | fs/minix/truncate.c | struct buffer_head * bh; |
| bh | 40 | fs/minix/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
| bh | 42 | fs/minix/truncate.c | brelse(bh); |
| bh | 45 | fs/minix/truncate.c | if ((bh && bh->b_count != 1) || tmp != *p) { |
| bh | 47 | fs/minix/truncate.c | brelse(bh); |
| bh | 52 | fs/minix/truncate.c | brelse(bh); |
| bh | 60 | fs/minix/truncate.c | struct buffer_head * bh; |
| bh | 89 | fs/minix/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
| bh | 91 | fs/minix/truncate.c | brelse(bh); |
| bh | 94 | fs/minix/truncate.c | if ((bh && bh->b_count != 1) || tmp != *ind) { |
| bh | 96 | fs/minix/truncate.c | brelse(bh); |
| bh | 101 | fs/minix/truncate.c | brelse(bh); |
| bh | 59 | fs/msdos/dir.c | struct buffer_head *bh; |
| bh | 77 | fs/msdos/dir.c | bh = NULL; |
| bh | 78 | fs/msdos/dir.c | while ((ino = msdos_get_entry(inode,&filp->f_pos,&bh,&de)) > -1) { |
| bh | 105 | fs/msdos/dir.c | brelse(bh); |
| bh | 110 | fs/msdos/dir.c | if (bh) brelse(bh); |
| bh | 20 | fs/msdos/fat.c | struct buffer_head *bh,*bh2,*c_bh,*c_bh2; |
| bh | 30 | fs/msdos/fat.c | if (!(bh = msdos_sread(sb->s_dev,MSDOS_SB(sb)->fat_start+(first >> |
| bh | 36 | fs/msdos/fat.c | bh2 = bh; |
| bh | 42 | fs/msdos/fat.c | brelse(bh); |
| bh | 76 | fs/msdos/fat.c | bh->b_dirt = 1; |
| bh | 83 | fs/msdos/fat.c | if (data != data2 || bh != bh2) { |
| bh | 97 | fs/msdos/fat.c | brelse(bh); |
| bh | 83 | fs/msdos/file.c | struct buffer_head *bh; |
| bh | 101 | fs/msdos/file.c | if (!(bh = msdos_sread(inode->i_dev,sector,&data))) break; |
| bh | 114 | fs/msdos/file.c | brelse(bh); |
| bh | 119 | fs/msdos/file.c | brelse(bh); |
| bh | 132 | fs/msdos/file.c | struct buffer_head *bh; |
| bh | 159 | fs/msdos/file.c | if (!(bh = msdos_sread(inode->i_dev,sector,&data))) { |
| bh | 194 | fs/msdos/file.c | bh->b_dirt = 1; |
| bh | 195 | fs/msdos/file.c | brelse(bh); |
| bh | 122 | fs/msdos/inode.c | struct buffer_head *bh; |
| bh | 136 | fs/msdos/inode.c | bh = bread(s->s_dev, 0, BLOCK_SIZE); |
| bh | 138 | fs/msdos/inode.c | if (bh == NULL) { |
| bh | 143 | fs/msdos/inode.c | b = (struct msdos_boot_sector *) bh->b_data; |
| bh | 158 | fs/msdos/inode.c | brelse(bh); |
| bh | 237 | fs/msdos/inode.c | struct buffer_head *bh; |
| bh | 264 | fs/msdos/inode.c | if (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS, BLOCK_SIZE))) |
| bh | 266 | fs/msdos/inode.c | raw_entry = &((struct msdos_dir_entry *) (bh->b_data)) |
| bh | 311 | fs/msdos/inode.c | brelse(bh); |
| bh | 317 | fs/msdos/inode.c | struct buffer_head *bh; |
| bh | 322 | fs/msdos/inode.c | if (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS, BLOCK_SIZE))) |
| bh | 324 | fs/msdos/inode.c | raw_entry = &((struct msdos_dir_entry *) (bh->b_data)) |
| bh | 338 | fs/msdos/inode.c | bh->b_dirt = 1; |
| bh | 339 | fs/msdos/inode.c | brelse(bh); |
| bh | 86 | fs/msdos/misc.c | struct buffer_head *bh; |
| bh | 148 | fs/msdos/misc.c | if (!(bh = getblk(inode->i_dev,sector >> 1, BLOCK_SIZE))) |
| bh | 151 | fs/msdos/misc.c | memset(bh->b_data,0,BLOCK_SIZE); |
| bh | 152 | fs/msdos/misc.c | bh->b_uptodate = 1; |
| bh | 157 | fs/msdos/misc.c | if (!(bh = msdos_sread(inode->i_dev,sector,&data))) |
| bh | 161 | fs/msdos/misc.c | if (bh) { |
| bh | 162 | fs/msdos/misc.c | bh->b_dirt = 1; |
| bh | 163 | fs/msdos/misc.c | brelse(bh); |
| bh | 238 | fs/msdos/misc.c | int msdos_get_entry(struct inode *dir,int *pos,struct buffer_head **bh, |
| bh | 251 | fs/msdos/misc.c | if (*bh) |
| bh | 252 | fs/msdos/misc.c | brelse(*bh); |
| bh | 253 | fs/msdos/misc.c | if (!(*bh = msdos_sread(dir->i_dev,sector,&data))) { |
| bh | 315 | fs/msdos/misc.c | struct buffer_head *bh; |
| bh | 319 | fs/msdos/misc.c | if (!(bh = msdos_sread(sb->s_dev,sector,(void **) &data))) return -EIO; |
| bh | 337 | fs/msdos/misc.c | brelse(bh); |
| bh | 341 | fs/msdos/misc.c | brelse(bh); |
| bh | 100 | fs/msdos/namei.c | struct buffer_head **bh,struct msdos_dir_entry **de,int *ino) |
| bh | 107 | fs/msdos/namei.c | return msdos_scan(dir,msdos_name,bh,de,ino); |
| bh | 116 | fs/msdos/namei.c | struct buffer_head *bh; |
| bh | 137 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) { |
| bh | 141 | fs/msdos/namei.c | if (bh) brelse(bh); |
| bh | 168 | fs/msdos/namei.c | struct buffer_head *bh; |
| bh | 172 | fs/msdos/namei.c | if ((res = msdos_scan(dir,NULL,&bh,&de,&ino)) < 0) { |
| bh | 175 | fs/msdos/namei.c | if ((res = msdos_scan(dir,NULL,&bh,&de,&ino)) < 0) return res; |
| bh | 182 | fs/msdos/namei.c | bh->b_dirt = 1; |
| bh | 185 | fs/msdos/namei.c | brelse(bh); |
| bh | 197 | fs/msdos/namei.c | struct buffer_head *bh; |
| bh | 209 | fs/msdos/namei.c | if (msdos_scan(dir,msdos_name,&bh,&de,&ino) >= 0) { |
| bh | 211 | fs/msdos/namei.c | brelse(bh); |
| bh | 244 | fs/msdos/namei.c | struct buffer_head *bh; |
| bh | 256 | fs/msdos/namei.c | if (msdos_scan(dir,msdos_name,&bh,&de,&ino) >= 0) { |
| bh | 258 | fs/msdos/namei.c | brelse(bh); |
| bh | 301 | fs/msdos/namei.c | struct buffer_head *bh,*dbh; |
| bh | 305 | fs/msdos/namei.c | bh = NULL; |
| bh | 310 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) goto rmdir_done; |
| bh | 334 | fs/msdos/namei.c | bh->b_dirt = 1; |
| bh | 337 | fs/msdos/namei.c | brelse(bh); |
| bh | 347 | fs/msdos/namei.c | struct buffer_head *bh; |
| bh | 351 | fs/msdos/namei.c | bh = NULL; |
| bh | 353 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) |
| bh | 367 | fs/msdos/namei.c | bh->b_dirt = 1; |
| bh | 369 | fs/msdos/namei.c | brelse(bh); |
| bh | 321 | include/linux/fs.h | extern void ll_rw_block(int rw, int nr, struct buffer_head * bh[]); |
| bh | 205 | include/linux/iso_fs.h | extern void leak_check_brelse(struct buffer_head * bh); |
| bh | 10 | include/linux/locks.h | extern inline void wait_on_buffer(struct buffer_head * bh) |
| bh | 12 | include/linux/locks.h | if (bh->b_lock) |
| bh | 13 | include/linux/locks.h | __wait_on_buffer(bh); |
| bh | 16 | include/linux/locks.h | extern inline void lock_buffer(struct buffer_head * bh) |
| bh | 18 | include/linux/locks.h | if (bh->b_lock) |
| bh | 19 | include/linux/locks.h | __wait_on_buffer(bh); |
| bh | 20 | include/linux/locks.h | bh->b_lock = 1; |
| bh | 23 | include/linux/locks.h | extern inline void unlock_buffer(struct buffer_head * bh) |
| bh | 25 | include/linux/locks.h | bh->b_lock = 0; |
| bh | 26 | include/linux/locks.h | wake_up(&bh->b_wait); |
| bh | 92 | include/linux/msdos_fs.h | struct buffer_head *bh; |
| bh | 94 | include/linux/msdos_fs.h | if (!(bh = bread(dev,sector >> 1, 1024))) |
| bh | 96 | include/linux/msdos_fs.h | *start = bh->b_data+((sector & 1) << SECTOR_BITS); |
| bh | 97 | include/linux/msdos_fs.h | return bh; |
| bh | 112 | include/linux/msdos_fs.h | extern int msdos_get_entry(struct inode *dir,int *pos,struct buffer_head **bh, |
| bh | 32 | kernel/blk_drv/blk.h | struct buffer_head * bh; |
| bh | 186 | kernel/blk_drv/blk.h | extern inline void unlock_buffer(struct buffer_head * bh) |
| bh | 188 | kernel/blk_drv/blk.h | if (!bh->b_lock) |
| bh | 190 | kernel/blk_drv/blk.h | bh->b_lock=0; |
| bh | 191 | kernel/blk_drv/blk.h | wake_up(&bh->b_wait); |
| bh | 199 | kernel/blk_drv/blk.h | struct buffer_head * bh; |
| bh | 213 | kernel/blk_drv/blk.h | if ((bh = req->bh) != NULL) { |
| bh | 214 | kernel/blk_drv/blk.h | req->bh = bh->b_reqnext; |
| bh | 215 | kernel/blk_drv/blk.h | bh->b_reqnext = NULL; |
| bh | 216 | kernel/blk_drv/blk.h | bh->b_uptodate = uptodate; |
| bh | 217 | kernel/blk_drv/blk.h | unlock_buffer(bh); |
| bh | 218 | kernel/blk_drv/blk.h | if ((bh = req->bh) != NULL) { |
| bh | 219 | kernel/blk_drv/blk.h | req->current_nr_sectors = bh->b_size >> 9; |
| bh | 224 | kernel/blk_drv/blk.h | req->buffer = bh->b_data; |
| bh | 254 | kernel/blk_drv/blk.h | if (CURRENT->bh) { \ |
| bh | 255 | kernel/blk_drv/blk.h | if (!CURRENT->bh->b_lock) \ |
| bh | 311 | kernel/blk_drv/floppy.c | int floppy_change(struct buffer_head * bh) |
| bh | 313 | kernel/blk_drv/floppy.c | unsigned int mask = 1 << (bh->b_dev & 0x03); |
| bh | 315 | kernel/blk_drv/floppy.c | if (MAJOR(bh->b_dev) != 2) { |
| bh | 330 | kernel/blk_drv/floppy.c | if (!bh) |
| bh | 332 | kernel/blk_drv/floppy.c | if (bh->b_dirt) |
| bh | 333 | kernel/blk_drv/floppy.c | ll_rw_block(WRITE, 1, &bh); |
| bh | 336 | kernel/blk_drv/floppy.c | bh->b_uptodate = 0; |
| bh | 337 | kernel/blk_drv/floppy.c | ll_rw_block(READ, 1, &bh); |
| bh | 340 | kernel/blk_drv/floppy.c | while (bh->b_lock) |
| bh | 341 | kernel/blk_drv/floppy.c | sleep_on(&bh->b_wait); |
| bh | 944 | kernel/blk_drv/floppy.c | if (CURRENT->bh) { |
| bh | 945 | kernel/blk_drv/floppy.c | if (!CURRENT->bh->b_lock) |
| bh | 38 | kernel/blk_drv/genhd.c | struct buffer_head *bh; |
| bh | 49 | kernel/blk_drv/genhd.c | if (!(bh = bread(dev,0,1024))) { |
| bh | 57 | kernel/blk_drv/genhd.c | bh->b_dirt=0; |
| bh | 58 | kernel/blk_drv/genhd.c | bh->b_uptodate=0; |
| bh | 59 | kernel/blk_drv/genhd.c | if (*(unsigned short *) (bh->b_data+510) == 0xAA55) { |
| bh | 60 | kernel/blk_drv/genhd.c | p = 0x1BE + (void *)bh->b_data; |
| bh | 89 | kernel/blk_drv/genhd.c | brelse(bh); |
| bh | 94 | kernel/blk_drv/genhd.c | brelse(bh); |
| bh | 100 | kernel/blk_drv/genhd.c | struct buffer_head *bh; |
| bh | 107 | kernel/blk_drv/genhd.c | if (!(bh = bread(dev,0,1024))) { |
| bh | 113 | kernel/blk_drv/genhd.c | if (*(unsigned short *) (bh->b_data+510) == 0xAA55) { |
| bh | 114 | kernel/blk_drv/genhd.c | p = 0x1BE + (void *)bh->b_data; |
| bh | 131 | kernel/blk_drv/genhd.c | if (*(unsigned short *) (bh->b_data+0xfc) == 0x55AA) { |
| bh | 132 | kernel/blk_drv/genhd.c | p = 0x1BE + (void *)bh->b_data; |
| bh | 151 | kernel/blk_drv/genhd.c | brelse(bh); |
| bh | 324 | kernel/blk_drv/hd.c | if (!i || (CURRENT->bh && !SUBSECTOR(i))) |
| bh | 366 | kernel/blk_drv/hd.c | if (!i || (CURRENT->bh && !SUBSECTOR(i))) |
| bh | 98 | kernel/blk_drv/ll_rw_blk.c | if (req->bh) |
| bh | 99 | kernel/blk_drv/ll_rw_blk.c | req->bh->b_dirt = 0; |
| bh | 124 | kernel/blk_drv/ll_rw_blk.c | static void make_request(int major,int rw, struct buffer_head * bh) |
| bh | 134 | kernel/blk_drv/ll_rw_blk.c | if (bh->b_lock) |
| bh | 145 | kernel/blk_drv/ll_rw_blk.c | count = bh->b_size >> 9; |
| bh | 146 | kernel/blk_drv/ll_rw_blk.c | sector = bh->b_blocknr * count; |
| bh | 148 | kernel/blk_drv/ll_rw_blk.c | if (blk_size[major][MINOR(bh->b_dev)] < (sector + count)>>1) { |
| bh | 149 | kernel/blk_drv/ll_rw_blk.c | bh->b_dirt = bh->b_uptodate = 0; |
| bh | 152 | kernel/blk_drv/ll_rw_blk.c | lock_buffer(bh); |
| bh | 153 | kernel/blk_drv/ll_rw_blk.c | if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { |
| bh | 154 | kernel/blk_drv/ll_rw_blk.c | unlock_buffer(bh); |
| bh | 166 | kernel/blk_drv/ll_rw_blk.c | if (req->dev == bh->b_dev && |
| bh | 171 | kernel/blk_drv/ll_rw_blk.c | req->bhtail->b_reqnext = bh; |
| bh | 172 | kernel/blk_drv/ll_rw_blk.c | req->bhtail = bh; |
| bh | 174 | kernel/blk_drv/ll_rw_blk.c | bh->b_dirt = 0; |
| bh | 196 | kernel/blk_drv/ll_rw_blk.c | unlock_buffer(bh); |
| bh | 205 | kernel/blk_drv/ll_rw_blk.c | req->dev = bh->b_dev; |
| bh | 212 | kernel/blk_drv/ll_rw_blk.c | req->buffer = bh->b_data; |
| bh | 214 | kernel/blk_drv/ll_rw_blk.c | req->bh = bh; |
| bh | 215 | kernel/blk_drv/ll_rw_blk.c | req->bhtail = bh; |
| bh | 255 | kernel/blk_drv/ll_rw_blk.c | req->bh = NULL; |
| bh | 266 | kernel/blk_drv/ll_rw_blk.c | void ll_rw_block(int rw, int nr, struct buffer_head * bh[]) |
| bh | 276 | kernel/blk_drv/ll_rw_blk.c | while(!bh[0]){ |
| bh | 277 | kernel/blk_drv/ll_rw_blk.c | bh++; |
| bh | 283 | kernel/blk_drv/ll_rw_blk.c | if(!bh[j]) continue; |
| bh | 284 | kernel/blk_drv/ll_rw_blk.c | if (bh[j]->b_size != 1024) { |
| bh | 285 | kernel/blk_drv/ll_rw_blk.c | printk("ll_rw_block: only 1024-char blocks implemented (%d)\n",bh[0]->b_size); |
| bh | 287 | kernel/blk_drv/ll_rw_blk.c | if (bh[i]) bh[i]->b_dirt = bh[i]->b_uptodate = 0; |
| bh | 292 | kernel/blk_drv/ll_rw_blk.c | if ((major=MAJOR(bh[0]->b_dev)) >= NR_BLK_DEV || |
| bh | 294 | kernel/blk_drv/ll_rw_blk.c | printk("ll_rw_block: Trying to read nonexistent block-device %04x (%d)\n",bh[0]->b_dev,bh[0]->b_blocknr); |
| bh | 296 | kernel/blk_drv/ll_rw_blk.c | if (bh[i]) bh[i]->b_dirt = bh[i]->b_uptodate = 0; |
| bh | 299 | kernel/blk_drv/ll_rw_blk.c | if ((rw == WRITE || rw == WRITEA) && is_read_only(bh[0]->b_dev)) { |
| bh | 300 | kernel/blk_drv/ll_rw_blk.c | printk("Can't write to read-only device 0x%X\n\r",bh[0]->b_dev); |
| bh | 302 | kernel/blk_drv/ll_rw_blk.c | if (bh[i]) bh[i]->b_dirt = bh[i]->b_uptodate = 0; |
| bh | 319 | kernel/blk_drv/ll_rw_blk.c | if (bh[i]) make_request(major, rw, bh[i]); |
| bh | 369 | kernel/blk_drv/ll_rw_blk.c | req->bh = NULL; |
| bh | 87 | kernel/blk_drv/ramdisk.c | struct buffer_head *bh; |
| bh | 100 | kernel/blk_drv/ramdisk.c | bh = breada(ROOT_DEV,block+1,block,block+2,-1); |
| bh | 101 | kernel/blk_drv/ramdisk.c | if (!bh) { |
| bh | 105 | kernel/blk_drv/ramdisk.c | *((struct minix_super_block *) &s) = *((struct minix_super_block *) bh->b_data); |
| bh | 106 | kernel/blk_drv/ramdisk.c | brelse(bh); |
| bh | 121 | kernel/blk_drv/ramdisk.c | bh = breada(ROOT_DEV, block, block+1, block+2, -1); |
| bh | 123 | kernel/blk_drv/ramdisk.c | bh = bread(ROOT_DEV, block, BLOCK_SIZE); |
| bh | 124 | kernel/blk_drv/ramdisk.c | if (!bh) { |
| bh | 129 | kernel/blk_drv/ramdisk.c | (void) memcpy(cp, bh->b_data, BLOCK_SIZE); |
| bh | 130 | kernel/blk_drv/ramdisk.c | brelse(bh); |
| bh | 419 | kernel/blk_drv/scsi/scsi.h | struct buffer_head * bh; |
| bh | 430 | kernel/blk_drv/scsi/scsi.h | if ((bh = req->bh) != NULL) { |
| bh | 431 | kernel/blk_drv/scsi/scsi.h | req->bh = bh->b_reqnext; |
| bh | 432 | kernel/blk_drv/scsi/scsi.h | req->nr_sectors -= bh->b_size >> 9; |
| bh | 433 | kernel/blk_drv/scsi/scsi.h | req->sector += bh->b_size >> 9; |
| bh | 434 | kernel/blk_drv/scsi/scsi.h | bh->b_reqnext = NULL; |
| bh | 435 | kernel/blk_drv/scsi/scsi.h | bh->b_uptodate = uptodate; |
| bh | 436 | kernel/blk_drv/scsi/scsi.h | unlock_buffer(bh); |
| bh | 437 | kernel/blk_drv/scsi/scsi.h | sectors -= bh->b_size >> 9; |
| bh | 438 | kernel/blk_drv/scsi/scsi.h | if ((bh = req->bh) != NULL) { |
| bh | 439 | kernel/blk_drv/scsi/scsi.h | req->current_nr_sectors = bh->b_size >> 9; |
| bh | 446 | kernel/blk_drv/scsi/scsi.h | } while(sectors && bh); |
| bh | 447 | kernel/blk_drv/scsi/scsi.h | if (req->bh){ |
| bh | 448 | kernel/blk_drv/scsi/scsi.h | req->buffer = bh->b_data; |
| bh | 50 | kernel/blk_drv/scsi/scsi_debug.c | if (bh){ \ |
| bh | 51 | kernel/blk_drv/scsi/scsi_debug.c | if (bh->b_size != 1024) panic ("Wrong bh size"); \ |
| bh | 52 | kernel/blk_drv/scsi/scsi_debug.c | if ((bh->b_blocknr << 1) + start != block) \ |
| bh | 53 | kernel/blk_drv/scsi/scsi_debug.c | { printk("Wrong bh block# %d %d ",bh->b_blocknr, block); \ |
| bh | 55 | kernel/blk_drv/scsi/scsi_debug.c | if (bh->b_dev != SCpnt->request.dev) panic ("Bad bh target");\ |
| bh | 75 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.bh){ \ |
| bh | 76 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.bh->b_size != 1024) panic ("Wrong bh size"); \ |
| bh | 77 | kernel/blk_drv/scsi/scsi_debug.c | if ((SCpnt->request.bh->b_blocknr << 1) + start != block) \ |
| bh | 78 | kernel/blk_drv/scsi/scsi_debug.c | { printk("Wrong bh block# %d %d ",SCpnt->request.bh->b_blocknr, block); \ |
| bh | 80 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.bh->b_dev != SCpnt->request.dev) panic ("Bad bh target");\ |
| bh | 142 | kernel/blk_drv/scsi/scsi_debug.c | struct buffer_head * bh = NULL; |
| bh | 229 | kernel/blk_drv/scsi/scsi_debug.c | bh = SCpnt->request.bh; |
| bh | 280 | kernel/blk_drv/scsi/scsi_debug.c | memcpy(buff+128, bh, sizeof(struct buffer_head)); |
| bh | 282 | kernel/blk_drv/scsi/scsi_debug.c | bh = bh->b_reqnext; |
| bh | 285 | kernel/blk_drv/scsi/scsi_debug.c | if(!bh) panic("Too few blocks for linked request."); |
| bh | 292 | kernel/blk_drv/scsi/scsi_debug.c | if(bh) scsi_dump(SCpnt, 0); |
| bh | 195 | kernel/blk_drv/scsi/sd.c | if (!SCpnt->request.bh) |
| bh | 444 | kernel/blk_drv/scsi/sd.c | if (!SCpnt->request.bh || |
| bh | 475 | kernel/blk_drv/scsi/sd.c | struct buffer_head * bh; |
| bh | 478 | kernel/blk_drv/scsi/sd.c | bh = SCpnt->request.bh; |
| bh | 482 | kernel/blk_drv/scsi/sd.c | while(bh && count < scsi_hosts[SCpnt->host].sg_tablesize) { |
| bh | 483 | kernel/blk_drv/scsi/sd.c | if ((this_count + (bh->b_size >> 9)) > this_count_max) break; |
| bh | 484 | kernel/blk_drv/scsi/sd.c | this_count += (bh->b_size >> 9); |
| bh | 486 | kernel/blk_drv/scsi/sd.c | bh = bh->b_reqnext; |
| bh | 502 | kernel/blk_drv/scsi/sd.c | bh = SCpnt->request.bh; |
| bh | 503 | kernel/blk_drv/scsi/sd.c | for(count = 0, bh = SCpnt->request.bh; count < SCpnt->use_sg; |
| bh | 504 | kernel/blk_drv/scsi/sd.c | count++, bh = bh->b_reqnext) { |
| bh | 505 | kernel/blk_drv/scsi/sd.c | sgpnt[count].address = bh->b_data; |
| bh | 507 | kernel/blk_drv/scsi/sd.c | sgpnt[count].length = bh->b_size; |
| bh | 514 | kernel/blk_drv/scsi/sd.c | if(dma_free_sectors < (bh->b_size >> 9) + 5) { |
| bh | 115 | kernel/blk_drv/scsi/sr.c | printk("sr.c done: %x %x\n",result, SCpnt->request.bh->b_data); |
| bh | 133 | kernel/blk_drv/scsi/sr.c | SCpnt->request.bh && |
| bh | 134 | kernel/blk_drv/scsi/sr.c | SCpnt->request.bh->b_reqnext && |
| bh | 135 | kernel/blk_drv/scsi/sr.c | SCpnt->request.bh->b_reqnext->b_size == 1024) { |
| bh | 136 | kernel/blk_drv/scsi/sr.c | memcpy((char *)SCpnt->request.bh->b_reqnext->b_data, |
| bh | 164 | kernel/blk_drv/scsi/sr.c | printk("(%x %x %x) ",SCpnt->request.bh, SCpnt->request.nr_sectors, |
| bh | 170 | kernel/blk_drv/scsi/sr.c | if (!SCpnt->request.bh) |
| bh | 411 | kernel/blk_drv/scsi/sr.c | struct buffer_head * bh; |
| bh | 414 | kernel/blk_drv/scsi/sr.c | bh = SCpnt->request.bh; |
| bh | 422 | kernel/blk_drv/scsi/sr.c | while(bh && count < scsi_hosts[SCpnt->host].sg_tablesize) { |
| bh | 423 | kernel/blk_drv/scsi/sr.c | if ((this_count + (bh->b_size >> 9)) > this_count_max) break; |
| bh | 424 | kernel/blk_drv/scsi/sr.c | this_count += (bh->b_size >> 9); |
| bh | 426 | kernel/blk_drv/scsi/sr.c | bh = bh->b_reqnext; |
| bh | 452 | kernel/blk_drv/scsi/sr.c | bh = SCpnt->request.bh; |
| bh | 461 | kernel/blk_drv/scsi/sr.c | for(bh = SCpnt->request.bh; count < SCpnt->use_sg; |
| bh | 462 | kernel/blk_drv/scsi/sr.c | count++, bh = bh->b_reqnext) { |
| bh | 463 | kernel/blk_drv/scsi/sr.c | if (bh) { /* Need a placeholder at the end of the record? */ |
| bh | 464 | kernel/blk_drv/scsi/sr.c | sgpnt[count].address = bh->b_data; |
| bh | 465 | kernel/blk_drv/scsi/sr.c | sgpnt[count].length = bh->b_size; |
| bh | 519 | kernel/blk_drv/scsi/sr.c | if (!SCpnt->request.bh) |
| bh | 522 | kernel/blk_drv/scsi/sr.c | this_count = (SCpnt->request.bh->b_size >> 9); |
| bh | 49 | kernel/irq.c | struct bh_struct *bh; |
| bh | 71 | kernel/irq.c | for (mask = 1, bh = bh_base; mask ; bh++, mask = mask << 1) { |
| bh | 83 | kernel/irq.c | if (bh->routine != NULL) |
| bh | 84 | kernel/irq.c | bh->routine(bh->data); |