tag | line | file | source code |
bh | 37 | arch/m68k/amiga/amipart.c | struct buffer_head *bh; |
bh | 43 | arch/m68k/amiga/amipart.c | if (!(bh = bread(dev,bnum,1024))) { |
bh | 51 | arch/m68k/amiga/amipart.c | rdb = (struct RigidDiskBlock *)bh->b_data; |
bh | 54 | arch/m68k/amiga/amipart.c | rdb = (struct RigidDiskBlock *)&bh->b_data[512]; |
bh | 57 | arch/m68k/amiga/amipart.c | brelse (bh); |
bh | 74 | arch/m68k/amiga/amipart.c | brelse (bh); |
bh | 80 | arch/m68k/amiga/amipart.c | if (!(bh = bread(dev,partsect/2,1024))) { |
bh | 88 | arch/m68k/amiga/amipart.c | pb = (struct PartitionBlock *)bh->b_data; |
bh | 90 | arch/m68k/amiga/amipart.c | pb = (struct PartitionBlock *)&bh->b_data[512]; |
bh | 94 | arch/m68k/amiga/amipart.c | brelse (bh); |
bh | 99 | arch/m68k/amiga/amipart.c | brelse (bh); |
bh | 115 | arch/m68k/amiga/amipart.c | brelse (bh); |
bh | 36 | arch/m68k/atari/atapart.c | struct buffer_head *bh; |
bh | 44 | arch/m68k/atari/atapart.c | bh = bread (dev, 0, 1024); |
bh | 45 | arch/m68k/atari/atapart.c | if (!bh) |
bh | 51 | arch/m68k/atari/atapart.c | rs = (struct rootsector *) bh->b_data; |
bh | 154 | arch/m68k/atari/atapart.c | brelse (bh); |
bh | 1269 | drivers/block/amiflop.c | if (CURRENT->bh && !buffer_locked(CURRENT->bh)) |
bh | 1439 | drivers/block/ataflop.c | if (CURRENT->bh && !buffer_locked(CURRENT->bh)) |
bh | 2297 | drivers/block/floppy.c | struct buffer_head *bh; |
bh | 2303 | drivers/block/floppy.c | bh = CURRENT->bh; |
bh | 2305 | drivers/block/floppy.c | if (bh){ |
bh | 2306 | drivers/block/floppy.c | bh = bh->b_reqnext; |
bh | 2307 | drivers/block/floppy.c | while (bh && bh->b_data == base + size){ |
bh | 2308 | drivers/block/floppy.c | size += bh->b_size; |
bh | 2309 | drivers/block/floppy.c | bh = bh->b_reqnext; |
bh | 2335 | drivers/block/floppy.c | struct buffer_head *bh; |
bh | 2367 | drivers/block/floppy.c | bh = CURRENT->bh; |
bh | 2404 | drivers/block/floppy.c | bh = bh->b_reqnext; |
bh | 2406 | drivers/block/floppy.c | if (!bh){ |
bh | 2411 | drivers/block/floppy.c | size = bh->b_size; |
bh | 2412 | drivers/block/floppy.c | buffer = bh->b_data; |
bh | 2704 | drivers/block/floppy.c | if (CURRENT->bh && !buffer_locked(CURRENT->bh)) |
bh | 3682 | drivers/block/floppy.c | struct buffer_head * bh; |
bh | 3709 | drivers/block/floppy.c | if (!(bh = getblk(dev,0,size))){ |
bh | 3713 | drivers/block/floppy.c | if (bh && !buffer_uptodate(bh)) |
bh | 3714 | drivers/block/floppy.c | ll_rw_block(READ, 1, &bh); |
bh | 3716 | drivers/block/floppy.c | wait_on_buffer(bh); |
bh | 3717 | drivers/block/floppy.c | brelse(bh); |
bh | 126 | drivers/block/genhd.c | struct buffer_head *bh; |
bh | 139 | drivers/block/genhd.c | if (!(bh = bread(dev,0,1024))) |
bh | 145 | drivers/block/genhd.c | bh->b_state = 0; |
bh | 147 | drivers/block/genhd.c | if (*(unsigned short *) (bh->b_data+510) != 0xAA55) |
bh | 150 | drivers/block/genhd.c | p = (struct partition *) (0x1BE + bh->b_data); |
bh | 205 | drivers/block/genhd.c | brelse(bh); |
bh | 208 | drivers/block/genhd.c | brelse(bh); |
bh | 214 | drivers/block/genhd.c | struct buffer_head *bh; |
bh | 223 | drivers/block/genhd.c | if (!(bh = bread(dev,0,1024))) { |
bh | 227 | drivers/block/genhd.c | data = bh->b_data; |
bh | 231 | drivers/block/genhd.c | bh->b_state = 0; |
bh | 236 | drivers/block/genhd.c | brelse(bh); |
bh | 274 | drivers/block/genhd.c | brelse(bh); |
bh | 348 | drivers/block/genhd.c | brelse(bh); |
bh | 360 | drivers/block/genhd.c | struct buffer_head *bh; |
bh | 395 | drivers/block/genhd.c | if (!(bh = bread(dev,0,1024))) { |
bh | 399 | drivers/block/genhd.c | label = (struct disklabel *) (bh->b_data+64); |
bh | 403 | drivers/block/genhd.c | brelse(bh); |
bh | 408 | drivers/block/genhd.c | brelse(bh); |
bh | 421 | drivers/block/genhd.c | brelse(bh); |
bh | 433 | drivers/block/genhd.c | struct buffer_head *bh; |
bh | 458 | drivers/block/genhd.c | if(!(bh = bread(dev, 0, 1024))) { |
bh | 462 | drivers/block/genhd.c | label = (struct sun_disklabel *) bh->b_data; |
bh | 466 | drivers/block/genhd.c | brelse(bh); |
bh | 475 | drivers/block/genhd.c | brelse(bh); |
bh | 491 | drivers/block/genhd.c | brelse(bh); |
bh | 537 | drivers/block/hd.c | WCURRENT.bh = WCURRENT.bh->b_reqnext; |
bh | 538 | drivers/block/hd.c | if (WCURRENT.bh == NULL) |
bh | 540 | drivers/block/hd.c | WCURRENT.current_nr_sectors = WCURRENT.bh->b_size>>9; |
bh | 541 | drivers/block/hd.c | WCURRENT.buffer = WCURRENT.bh->b_data; |
bh | 605 | drivers/block/hd.c | if (!i || (CURRENT->bh && !SUBSECTOR(i))) |
bh | 535 | drivers/block/ide-cd.c | if (rq->buffer != rq->bh->b_data) { |
bh | 536 | drivers/block/ide-cd.c | int n = (rq->buffer - rq->bh->b_data) / SECTOR_SIZE; |
bh | 537 | drivers/block/ide-cd.c | rq->buffer = rq->bh->b_data; |
bh | 541 | drivers/block/ide-cd.c | rq->current_nr_sectors = rq->bh->b_size >> SECTOR_BITS; |
bh | 594 | drivers/block/ide-cd.c | if (!uptodate && rq->bh != 0) { |
bh | 971 | drivers/block/ide-cd.c | (rq->bh->b_size >> SECTOR_BITS)), |
bh | 1073 | drivers/block/ide-cd.c | if (rq->current_nr_sectors < (rq->bh->b_size >> SECTOR_BITS) && |
bh | 1116 | drivers/block/ide-cd.c | (rq->bh->b_size >> SECTOR_BITS)) { |
bh | 4284 | drivers/block/ide-tape.c | idetape_buffer_head_t *prev_bh,*bh; |
bh | 4305 | drivers/block/ide-tape.c | prev_bh=new_stage->bh=(idetape_buffer_head_t *) kmalloc (sizeof (idetape_buffer_head_t),GFP_KERNEL); |
bh | 4306 | drivers/block/ide-tape.c | if (new_stage->bh==NULL) { |
bh | 4310 | drivers/block/ide-tape.c | new_stage->bh->next=NULL; |
bh | 4312 | drivers/block/ide-tape.c | new_stage->bh->data=kmalloc (IDETAPE_ALLOCATION_BLOCK,GFP_KERNEL); |
bh | 4313 | drivers/block/ide-tape.c | if (new_stage->bh->data==NULL) { |
bh | 4319 | drivers/block/ide-tape.c | bh=(idetape_buffer_head_t *) kmalloc (sizeof (idetape_buffer_head_t),GFP_KERNEL); |
bh | 4320 | drivers/block/ide-tape.c | if (bh==NULL) { |
bh | 4324 | drivers/block/ide-tape.c | bh->next=NULL; |
bh | 4325 | drivers/block/ide-tape.c | prev_bh->next=bh; |
bh | 4326 | drivers/block/ide-tape.c | bh->data=kmalloc (IDETAPE_ALLOCATION_BLOCK,GFP_KERNEL); |
bh | 4327 | drivers/block/ide-tape.c | if (bh->data == NULL) { |
bh | 4331 | drivers/block/ide-tape.c | prev_bh=bh; |
bh | 4344 | drivers/block/ide-tape.c | idetape_buffer_head_t *prev_bh,*bh; |
bh | 4353 | drivers/block/ide-tape.c | bh=stage->bh; |
bh | 4355 | drivers/block/ide-tape.c | while (bh != NULL) { |
bh | 4356 | drivers/block/ide-tape.c | prev_bh=bh; |
bh | 4357 | drivers/block/ide-tape.c | if (bh->data != NULL) |
bh | 4358 | drivers/block/ide-tape.c | kfree (bh->data); |
bh | 4359 | drivers/block/ide-tape.c | bh=bh->next; |
bh | 4375 | drivers/block/ide-tape.c | idetape_buffer_head_t *bh; |
bh | 4389 | drivers/block/ide-tape.c | bh=stage->bh; |
bh | 4391 | drivers/block/ide-tape.c | while (bh != NULL) { |
bh | 4393 | drivers/block/ide-tape.c | if (bh->data == NULL) { |
bh | 4398 | drivers/block/ide-tape.c | memcpy (ptr,bh->data,IDETAPE_ALLOCATION_BLOCK); |
bh | 4399 | drivers/block/ide-tape.c | bh=bh->next; |
bh | 4413 | drivers/block/ide-tape.c | idetape_buffer_head_t *bh; |
bh | 4427 | drivers/block/ide-tape.c | bh=stage->bh; |
bh | 4429 | drivers/block/ide-tape.c | while (bh != NULL) { |
bh | 4431 | drivers/block/ide-tape.c | if (bh->data == NULL) { |
bh | 4436 | drivers/block/ide-tape.c | memcpy (bh->data,ptr,IDETAPE_ALLOCATION_BLOCK); |
bh | 4437 | drivers/block/ide-tape.c | bh=bh->next; |
bh | 348 | drivers/block/ide-tape.h | idetape_buffer_head_t *bh; /* The data buffers */ |
bh | 1038 | drivers/block/ide.c | if ((rq->bh = rq->bh->b_reqnext) != NULL) { |
bh | 1039 | drivers/block/ide.c | rq->current_nr_sectors = rq->bh->b_size>>9; |
bh | 1040 | drivers/block/ide.c | rq->buffer = rq->bh->b_data; |
bh | 1384 | drivers/block/ide.c | if (rq->bh && !buffer_locked(rq->bh)) { |
bh | 1690 | drivers/block/ide.c | rq->bh = NULL; |
bh | 257 | drivers/block/ll_rw_blk.c | if (req->bh) |
bh | 258 | drivers/block/ll_rw_blk.c | mark_buffer_clean(req->bh); |
bh | 281 | drivers/block/ll_rw_blk.c | static void make_request(int major,int rw, struct buffer_head * bh) |
bh | 287 | drivers/block/ll_rw_blk.c | count = bh->b_size >> 9; |
bh | 288 | drivers/block/ll_rw_blk.c | sector = bh->b_rsector; |
bh | 290 | drivers/block/ll_rw_blk.c | if (blk_size[major][MINOR(bh->b_rdev)] < (sector + count)>>1) { |
bh | 291 | drivers/block/ll_rw_blk.c | bh->b_state = 0; |
bh | 293 | drivers/block/ll_rw_blk.c | printk("%s: rw=%d, want=%d, limit=%d\n", kdevname(bh->b_rdev), |
bh | 294 | drivers/block/ll_rw_blk.c | rw, (sector + count)>>1, blk_size[major][MINOR(bh->b_rdev)]); |
bh | 298 | drivers/block/ll_rw_blk.c | if (buffer_locked(bh)) |
bh | 301 | drivers/block/ll_rw_blk.c | lock_buffer(bh); |
bh | 309 | drivers/block/ll_rw_blk.c | if (buffer_uptodate(bh)) { |
bh | 310 | drivers/block/ll_rw_blk.c | unlock_buffer(bh); /* Hmmph! Already have it */ |
bh | 320 | drivers/block/ll_rw_blk.c | if (!buffer_dirty(bh)) { |
bh | 321 | drivers/block/ll_rw_blk.c | unlock_buffer(bh); /* Hmmph! Nothing to write */ |
bh | 334 | drivers/block/ll_rw_blk.c | unlock_buffer(bh); |
bh | 379 | drivers/block/ll_rw_blk.c | if (req->rq_dev != bh->b_rdev) |
bh | 383 | drivers/block/ll_rw_blk.c | req->bhtail->b_reqnext = bh; |
bh | 384 | drivers/block/ll_rw_blk.c | req->bhtail = bh; |
bh | 387 | drivers/block/ll_rw_blk.c | bh->b_reqnext = req->bh; |
bh | 388 | drivers/block/ll_rw_blk.c | req->bh = bh; |
bh | 389 | drivers/block/ll_rw_blk.c | req->buffer = bh->b_data; |
bh | 396 | drivers/block/ll_rw_blk.c | mark_buffer_clean(bh); |
bh | 403 | drivers/block/ll_rw_blk.c | req = get_request(max_req, bh->b_rdev); |
bh | 409 | drivers/block/ll_rw_blk.c | unlock_buffer(bh); |
bh | 412 | drivers/block/ll_rw_blk.c | req = __get_request_wait(max_req, bh->b_rdev); |
bh | 421 | drivers/block/ll_rw_blk.c | req->buffer = bh->b_data; |
bh | 423 | drivers/block/ll_rw_blk.c | req->bh = bh; |
bh | 424 | drivers/block/ll_rw_blk.c | req->bhtail = bh; |
bh | 433 | drivers/block/ll_rw_blk.c | void ll_rw_block(int rw, int nr, struct buffer_head * bh[]) |
bh | 441 | drivers/block/ll_rw_blk.c | while (!*bh) { |
bh | 442 | drivers/block/ll_rw_blk.c | bh++; |
bh | 448 | drivers/block/ll_rw_blk.c | if ((major = MAJOR(bh[0]->b_dev)) < MAX_BLKDEV) |
bh | 453 | drivers/block/ll_rw_blk.c | kdevname(bh[0]->b_dev), bh[0]->b_blocknr); |
bh | 460 | drivers/block/ll_rw_blk.c | i = blksize_size[major][MINOR(bh[0]->b_dev)]; |
bh | 467 | drivers/block/ll_rw_blk.c | if (bh[i] && bh[i]->b_size != correct_size) { |
bh | 470 | drivers/block/ll_rw_blk.c | kdevname(bh[0]->b_dev), |
bh | 471 | drivers/block/ll_rw_blk.c | correct_size, bh[i]->b_size); |
bh | 476 | drivers/block/ll_rw_blk.c | bh[i]->b_rdev = bh[i]->b_dev; |
bh | 477 | drivers/block/ll_rw_blk.c | bh[i]->b_rsector=bh[i]->b_blocknr*(bh[i]->b_size >> 9); |
bh | 480 | drivers/block/ll_rw_blk.c | md_map (MINOR(bh[i]->b_dev), &bh[i]->b_rdev, |
bh | 481 | drivers/block/ll_rw_blk.c | &bh[i]->b_rsector, bh[i]->b_size >> 9)) |
bh | 486 | drivers/block/ll_rw_blk.c | if ((rw == WRITE || rw == WRITEA) && is_read_only(bh[0]->b_dev)) { |
bh | 488 | drivers/block/ll_rw_blk.c | kdevname(bh[0]->b_dev)); |
bh | 493 | drivers/block/ll_rw_blk.c | if (bh[i]) { |
bh | 494 | drivers/block/ll_rw_blk.c | set_bit(BH_Req, &bh[i]->b_state); |
bh | 496 | drivers/block/ll_rw_blk.c | make_request(MAJOR(bh[i]->b_rdev), rw, bh[i]); |
bh | 503 | drivers/block/ll_rw_blk.c | if (bh[i]) { |
bh | 504 | drivers/block/ll_rw_blk.c | clear_bit(BH_Dirty, &bh[i]->b_state); |
bh | 505 | drivers/block/ll_rw_blk.c | clear_bit(BH_Uptodate, &bh[i]->b_state); |
bh | 571 | drivers/block/ll_rw_blk.c | req[j]->bh = NULL; |
bh | 153 | drivers/block/loop.c | struct buffer_head *bh; |
bh | 202 | drivers/block/loop.c | bh = getblk(lo->lo_device, real_block, blksize); |
bh | 203 | drivers/block/loop.c | if (!bh) { |
bh | 209 | drivers/block/loop.c | if (!buffer_uptodate(bh) && ((CURRENT->cmd == READ) || |
bh | 211 | drivers/block/loop.c | ll_rw_block(READ, 1, &bh); |
bh | 212 | drivers/block/loop.c | wait_on_buffer(bh); |
bh | 213 | drivers/block/loop.c | if (!buffer_uptodate(bh)) { |
bh | 214 | drivers/block/loop.c | brelse(bh); |
bh | 222 | drivers/block/loop.c | if ((lo->transfer)(lo, CURRENT->cmd, bh->b_data + offset, |
bh | 225 | drivers/block/loop.c | brelse(bh); |
bh | 229 | drivers/block/loop.c | mark_buffer_dirty(bh, 1); |
bh | 230 | drivers/block/loop.c | brelse(bh); |
bh | 140 | drivers/block/rd.c | set_bit(BH_Protected, &CURRENT->bh->b_state); |
bh | 182 | drivers/block/triton.c | struct buffer_head *bh = rq->bh; |
bh | 194 | drivers/block/triton.c | if (bh == NULL) { /* paging and tape requests have (rq->bh == NULL) */ |
bh | 204 | drivers/block/triton.c | addr = virt_to_bus (bh->b_data); |
bh | 205 | drivers/block/triton.c | size = bh->b_size; |
bh | 206 | drivers/block/triton.c | while ((bh = bh->b_reqnext) != NULL) { |
bh | 207 | drivers/block/triton.c | if ((addr + size) != virt_to_bus (bh->b_data)) |
bh | 209 | drivers/block/triton.c | size += bh->b_size; |
bh | 231 | drivers/block/triton.c | } while (bh != NULL); |
bh | 1006 | drivers/cdrom/aztcd.c | if (CURRENT->bh) { |
bh | 1007 | drivers/cdrom/aztcd.c | if (!buffer_locked(CURRENT->bh)) |
bh | 1551 | drivers/cdrom/cdu31a.c | if (CURRENT->bh) |
bh | 1553 | drivers/cdrom/cdu31a.c | if (!buffer_locked(CURRENT->bh)) |
bh | 487 | drivers/cdrom/cm206.c | stats(bh); |
bh | 661 | drivers/cdrom/mcd.c | if (CURRENT->bh) { |
bh | 662 | drivers/cdrom/mcd.c | if (!buffer_locked(CURRENT->bh)) |
bh | 1359 | drivers/cdrom/optcd.c | if (CURRENT->bh) { |
bh | 1360 | drivers/cdrom/optcd.c | if (!buffer_locked(CURRENT->bh)) |
bh | 1277 | drivers/cdrom/sjcd.c | if( CURRENT->bh && !buffer_locked(CURRENT->bh) ) |
bh | 44 | drivers/isdn/teles/buffers.c | struct BufHeader *bh = NULL, *prev, *first; |
bh | 69 | drivers/isdn/teles/buffers.c | bh = (struct BufHeader *) bptr; |
bh | 71 | drivers/isdn/teles/buffers.c | bh->magic = 020167; |
bh | 73 | drivers/isdn/teles/buffers.c | bh->next = prev; |
bh | 74 | drivers/isdn/teles/buffers.c | prev = bh; |
bh | 75 | drivers/isdn/teles/buffers.c | bh->bp = bp; |
bh | 82 | drivers/isdn/teles/buffers.c | bp->freelist = bh; |
bh | 107 | drivers/isdn/teles/buffers.c | BufPoolGet(struct BufHeader **bh, |
bh | 125 | drivers/isdn/teles/buffers.c | *bh = bp->freelist; |
bh | 127 | drivers/isdn/teles/buffers.c | (*bh)->heldby = heldby; |
bh | 128 | drivers/isdn/teles/buffers.c | (*bh)->where = where; |
bh | 139 | drivers/isdn/teles/buffers.c | *bh = NULL; |
bh | 148 | drivers/isdn/teles/buffers.c | BufPoolRelease(struct BufHeader *bh) |
bh | 154 | drivers/isdn/teles/buffers.c | if (bh->magic != 020167) { |
bh | 161 | drivers/isdn/teles/buffers.c | bp = bh->bp; |
bh | 172 | drivers/isdn/teles/buffers.c | bh->next = bp->freelist; |
bh | 173 | drivers/isdn/teles/buffers.c | bp->freelist = bh; |
bh | 179 | drivers/isdn/teles/buffers.c | struct BufHeader *bh) |
bh | 186 | drivers/isdn/teles/buffers.c | bq->head = bh; |
bh | 188 | drivers/isdn/teles/buffers.c | bq->tail->next = bh; |
bh | 189 | drivers/isdn/teles/buffers.c | bq->tail = bh; |
bh | 190 | drivers/isdn/teles/buffers.c | bh->next = NULL; |
bh | 196 | drivers/isdn/teles/buffers.c | struct BufHeader *bh) |
bh | 202 | drivers/isdn/teles/buffers.c | bh->next = bq->head; |
bh | 203 | drivers/isdn/teles/buffers.c | bq->head = bh; |
bh | 205 | drivers/isdn/teles/buffers.c | bq->tail = bh; |
bh | 210 | drivers/isdn/teles/buffers.c | BufQueueUnlink(struct BufHeader **bh, struct BufQueue *bq) |
bh | 220 | drivers/isdn/teles/buffers.c | *bh = bq->head; |
bh | 221 | drivers/isdn/teles/buffers.c | bq->head = (*bh)->next; |
bh | 243 | drivers/isdn/teles/buffers.c | struct BufHeader *bh; |
bh | 246 | drivers/isdn/teles/buffers.c | BufQueueUnlink(&bh, bq); |
bh | 247 | drivers/isdn/teles/buffers.c | BufPoolRelease(bh); |
bh | 255 | drivers/isdn/teles/buffers.c | struct BufHeader *bh; |
bh | 257 | drivers/isdn/teles/buffers.c | bh = bq->head; |
bh | 258 | drivers/isdn/teles/buffers.c | while (bh) { |
bh | 260 | drivers/isdn/teles/buffers.c | bh = bh->next; |
bh | 366 | drivers/isdn/teles/teles.h | int BufPoolGet(struct BufHeader **bh, |
bh | 368 | drivers/isdn/teles/teles.h | void BufPoolRelease(struct BufHeader *bh); |
bh | 370 | drivers/isdn/teles/teles.h | struct BufHeader *bh); |
bh | 371 | drivers/isdn/teles/teles.h | int BufQueueUnlink(struct BufHeader **bh, struct BufQueue *bq); |
bh | 378 | drivers/isdn/teles/teles.h | struct BufHeader *bh); |
bh | 885 | drivers/scsi/scsi.c | struct buffer_head * bh, *bhp; |
bh | 938 | drivers/scsi/scsi.c | bhp = bh = req->bh; |
bh | 939 | drivers/scsi/scsi.c | if(!tablesize) bh = NULL; |
bh | 944 | drivers/scsi/scsi.c | while(req->nr_sectors && bh){ |
bh | 946 | drivers/scsi/scsi.c | if(!bhp || !CONTIGUOUS_BUFFERS(bh,bhp)) tablesize--; |
bh | 947 | drivers/scsi/scsi.c | req->nr_sectors -= bh->b_size >> 9; |
bh | 948 | drivers/scsi/scsi.c | req->sector += bh->b_size >> 9; |
bh | 950 | drivers/scsi/scsi.c | bh = bhp; |
bh | 952 | drivers/scsi/scsi.c | if(req->nr_sectors && bh && bh->b_reqnext){ /* Any leftovers? */ |
bh | 953 | drivers/scsi/scsi.c | SCpnt->request.bhtail = bh; |
bh | 954 | drivers/scsi/scsi.c | req->bh = bh->b_reqnext; /* Divide request */ |
bh | 955 | drivers/scsi/scsi.c | bh->b_reqnext = NULL; |
bh | 956 | drivers/scsi/scsi.c | bh = req->bh; |
bh | 960 | drivers/scsi/scsi.c | req->current_nr_sectors = bh->b_size >> 9; |
bh | 961 | drivers/scsi/scsi.c | req->buffer = bh->b_data; |
bh | 1006 | drivers/scsi/scsi.c | struct buffer_head * bh, *bhp; |
bh | 1104 | drivers/scsi/scsi.c | bhp = bh = req->bh; |
bh | 1105 | drivers/scsi/scsi.c | if(!tablesize) bh = NULL; |
bh | 1110 | drivers/scsi/scsi.c | while(req->nr_sectors && bh){ |
bh | 1112 | drivers/scsi/scsi.c | if(!bhp || !CONTIGUOUS_BUFFERS(bh,bhp)) tablesize--; |
bh | 1113 | drivers/scsi/scsi.c | req->nr_sectors -= bh->b_size >> 9; |
bh | 1114 | drivers/scsi/scsi.c | req->sector += bh->b_size >> 9; |
bh | 1116 | drivers/scsi/scsi.c | bh = bhp; |
bh | 1118 | drivers/scsi/scsi.c | if(req->nr_sectors && bh && bh->b_reqnext){/* Any leftovers? */ |
bh | 1119 | drivers/scsi/scsi.c | SCpnt->request.bhtail = bh; |
bh | 1120 | drivers/scsi/scsi.c | req->bh = bh->b_reqnext; /* Divide request */ |
bh | 1121 | drivers/scsi/scsi.c | bh->b_reqnext = NULL; |
bh | 1122 | drivers/scsi/scsi.c | bh = req->bh; |
bh | 1125 | drivers/scsi/scsi.c | req->current_nr_sectors = bh->b_size >> 9; |
bh | 1126 | drivers/scsi/scsi.c | req->buffer = bh->b_data; |
bh | 494 | drivers/scsi/scsi.h | struct buffer_head * bh; |
bh | 504 | drivers/scsi/scsi.h | if ((bh = req->bh) != NULL) { |
bh | 505 | drivers/scsi/scsi.h | req->bh = bh->b_reqnext; |
bh | 506 | drivers/scsi/scsi.h | req->nr_sectors -= bh->b_size >> 9; |
bh | 507 | drivers/scsi/scsi.h | req->sector += bh->b_size >> 9; |
bh | 508 | drivers/scsi/scsi.h | bh->b_reqnext = NULL; |
bh | 509 | drivers/scsi/scsi.h | mark_buffer_uptodate(bh, uptodate); |
bh | 510 | drivers/scsi/scsi.h | unlock_buffer(bh); |
bh | 511 | drivers/scsi/scsi.h | sectors -= bh->b_size >> 9; |
bh | 512 | drivers/scsi/scsi.h | if ((bh = req->bh) != NULL) { |
bh | 513 | drivers/scsi/scsi.h | req->current_nr_sectors = bh->b_size >> 9; |
bh | 520 | drivers/scsi/scsi.h | } while(sectors && bh); |
bh | 521 | drivers/scsi/scsi.h | if (req->bh){ |
bh | 522 | drivers/scsi/scsi.h | req->buffer = bh->b_data; |
bh | 557 | drivers/scsi/scsi.h | if (CURRENT->bh) { \ |
bh | 558 | drivers/scsi/scsi.h | if (!buffer_locked(CURRENT->bh)) \ |
bh | 85 | drivers/scsi/scsi_debug.c | if (bh){ \ |
bh | 86 | drivers/scsi/scsi_debug.c | if (bh->b_size != 1024) panic ("Wrong bh size"); \ |
bh | 87 | drivers/scsi/scsi_debug.c | if ((bh->b_blocknr << 1) + start != block) \ |
bh | 88 | drivers/scsi/scsi_debug.c | { printk("Wrong bh block# %d %d ",bh->b_blocknr, block); \ |
bh | 91 | drivers/scsi/scsi_debug.c | if (bh->b_dev != SCpnt->request.rq_dev) \ |
bh | 103 | drivers/scsi/scsi_debug.c | if (SCpnt->request.bh){ \ |
bh | 104 | drivers/scsi/scsi_debug.c | if (SCpnt->request.bh->b_size != 1024) panic ("Wrong bh size"); \ |
bh | 105 | drivers/scsi/scsi_debug.c | if ((SCpnt->request.bh->b_blocknr << 1) + start != block) \ |
bh | 106 | drivers/scsi/scsi_debug.c | { printk("Wrong bh block# %d %d ",SCpnt->request.bh->b_blocknr, block); \ |
bh | 109 | drivers/scsi/scsi_debug.c | if (SCpnt->request.bh->b_dev != SCpnt->request.rq_dev) \ |
bh | 178 | drivers/scsi/scsi_debug.c | struct buffer_head * bh = NULL; |
bh | 291 | drivers/scsi/scsi_debug.c | bh = SCpnt->request.bh; |
bh | 353 | drivers/scsi/scsi_debug.c | memcpy(buff+128, bh, sizeof(struct buffer_head)); |
bh | 356 | drivers/scsi/scsi_debug.c | bh = bh->b_reqnext; |
bh | 359 | drivers/scsi/scsi_debug.c | if(!bh) panic("Too few blocks for linked request."); |
bh | 371 | drivers/scsi/scsi_debug.c | if(bh) scsi_dump(SCpnt, 0); |
bh | 29 | drivers/scsi/scsicam.c | static int partsize(struct buffer_head *bh, unsigned long capacity, |
bh | 49 | drivers/scsi/scsicam.c | struct buffer_head *bh; |
bh | 53 | drivers/scsi/scsicam.c | if (!(bh = bread(MKDEV(MAJOR(dev), MINOR(dev)&~0xf), 0, 1024))) |
bh | 59 | drivers/scsi/scsicam.c | ret_code = partsize (bh, (unsigned long) size, (unsigned int *) ip + 2, |
bh | 61 | drivers/scsi/scsicam.c | brelse (bh); |
bh | 85 | drivers/scsi/scsicam.c | static int partsize(struct buffer_head *bh, unsigned long capacity, |
bh | 93 | drivers/scsi/scsicam.c | if (*(unsigned short *) (bh->b_data+510) == 0xAA55) { |
bh | 95 | drivers/scsi/scsicam.c | (0x1BE + bh->b_data), i = 0; i < 4; ++i, ++p) { |
bh | 279 | drivers/scsi/sd.c | if (!SCpnt->request.bh) |
bh | 512 | drivers/scsi/sd.c | struct buffer_head * bh, *bhp; |
bh | 606 | drivers/scsi/sd.c | if (contiguous && SCpnt->request.bh && |
bh | 607 | drivers/scsi/sd.c | ((long) SCpnt->request.bh->b_data) |
bh | 610 | drivers/scsi/sd.c | if(((long) SCpnt->request.bh->b_data) > ISA_DMA_THRESHOLD) |
bh | 615 | drivers/scsi/sd.c | if(contiguous && SCpnt->request.bh && SCpnt->request.bh->b_reqnext) |
bh | 616 | drivers/scsi/sd.c | for(bh = SCpnt->request.bh, bhp = bh->b_reqnext; bhp; bh = bhp, |
bh | 618 | drivers/scsi/sd.c | if(!CONTIGUOUS_BUFFERS(bh,bhp)) { |
bh | 624 | drivers/scsi/sd.c | if (!SCpnt->request.bh || contiguous) { |
bh | 657 | drivers/scsi/sd.c | bh = SCpnt->request.bh; |
bh | 662 | drivers/scsi/sd.c | while(bh) { |
bh | 663 | drivers/scsi/sd.c | if ((this_count + (bh->b_size >> 9)) > this_count_max) break; |
bh | 664 | drivers/scsi/sd.c | if(!bhp || !CONTIGUOUS_BUFFERS(bhp,bh) || |
bh | 667 | drivers/scsi/sd.c | ((unsigned long) bh->b_data-1) == ISA_DMA_THRESHOLD)) { |
bh | 671 | drivers/scsi/sd.c | this_count += (bh->b_size >> 9); |
bh | 672 | drivers/scsi/sd.c | bhp = bh; |
bh | 673 | drivers/scsi/sd.c | bh = bh->b_reqnext; |
bh | 677 | drivers/scsi/sd.c | ((unsigned int) SCpnt->request.bh->b_data-1) == ISA_DMA_THRESHOLD) count--; |
bh | 699 | drivers/scsi/sd.c | for(count = 0, bh = SCpnt->request.bh, bhp = bh->b_reqnext; |
bh | 700 | drivers/scsi/sd.c | count < SCpnt->use_sg && bh; |
bh | 701 | drivers/scsi/sd.c | count++, bh = bhp) { |
bh | 703 | drivers/scsi/sd.c | bhp = bh->b_reqnext; |
bh | 705 | drivers/scsi/sd.c | if(!sgpnt[count].address) sgpnt[count].address = bh->b_data; |
bh | 706 | drivers/scsi/sd.c | sgpnt[count].length += bh->b_size; |
bh | 707 | drivers/scsi/sd.c | counted += bh->b_size >> 9; |
bh | 743 | drivers/scsi/sd.c | this_count = counted -= bh->b_size >> 9; |
bh | 753 | drivers/scsi/sd.c | if(bhp && CONTIGUOUS_BUFFERS(bh,bhp) |
bh | 790 | drivers/scsi/sd.c | bh = SCpnt->request.bh; |
bh | 795 | drivers/scsi/sd.c | while(bh){ |
bh | 796 | drivers/scsi/sd.c | printk("[%p %lx] ", bh->b_data, bh->b_size); |
bh | 797 | drivers/scsi/sd.c | bh = bh->b_reqnext; |
bh | 156 | drivers/scsi/sr.c | printk("sr.c done: %x %x\n",result, SCpnt->request.bh->b_data); |
bh | 174 | drivers/scsi/sr.c | SCpnt->request.bh && |
bh | 175 | drivers/scsi/sr.c | SCpnt->request.bh->b_reqnext && |
bh | 176 | drivers/scsi/sr.c | SCpnt->request.bh->b_reqnext->b_size == 1024) { |
bh | 177 | drivers/scsi/sr.c | memcpy((char *)SCpnt->request.bh->b_reqnext->b_data, |
bh | 205 | drivers/scsi/sr.c | printk("(%x %x %x) ",SCpnt->request.bh, SCpnt->request.nr_sectors, |
bh | 211 | drivers/scsi/sr.c | if (!SCpnt->request.bh) |
bh | 725 | drivers/scsi/sr.c | struct buffer_head * bh; |
bh | 728 | drivers/scsi/sr.c | bh = SCpnt->request.bh; |
bh | 736 | drivers/scsi/sr.c | while(bh && count < SCpnt->host->sg_tablesize) { |
bh | 737 | drivers/scsi/sr.c | if ((this_count + (bh->b_size >> 9)) > this_count_max) break; |
bh | 738 | drivers/scsi/sr.c | this_count += (bh->b_size >> 9); |
bh | 740 | drivers/scsi/sr.c | bh = bh->b_reqnext; |
bh | 766 | drivers/scsi/sr.c | bh = SCpnt->request.bh; |
bh | 775 | drivers/scsi/sr.c | for(bh = SCpnt->request.bh; count < SCpnt->use_sg; |
bh | 776 | drivers/scsi/sr.c | count++, bh = bh->b_reqnext) { |
bh | 777 | drivers/scsi/sr.c | if (bh) { /* Need a placeholder at the end of the record? */ |
bh | 778 | drivers/scsi/sr.c | sgpnt[count].address = bh->b_data; |
bh | 779 | drivers/scsi/sr.c | sgpnt[count].length = bh->b_size; |
bh | 833 | drivers/scsi/sr.c | if (!SCpnt->request.bh) |
bh | 836 | drivers/scsi/sr.c | this_count = (SCpnt->request.bh->b_size >> 9); |
bh | 75 | fs/affs/file.c | struct buffer_head *bh; |
bh | 93 | fs/affs/file.c | bh = affs_pread (inode, key, &fh_data); |
bh | 94 | fs/affs/file.c | if (!bh) |
bh | 103 | fs/affs/file.c | brelse (bh); |
bh | 107 | fs/affs/file.c | brelse (bh); |
bh | 126 | fs/affs/file.c | struct buffer_head *bh; |
bh | 152 | fs/affs/file.c | bh = affs_pread (inode, sector, &data); |
bh | 153 | fs/affs/file.c | if (!bh) |
bh | 159 | fs/affs/file.c | brelse (bh); |
bh | 134 | fs/affs/inode.c | struct buffer_head *bh; |
bh | 187 | fs/affs/inode.c | bh = affs_sread (dev, root_block, &root_data); |
bh | 188 | fs/affs/inode.c | if (!bh) { |
bh | 220 | fs/affs/inode.c | brelse(bh); |
bh | 239 | fs/affs/inode.c | brelse (bh); |
bh | 274 | fs/affs/inode.c | struct buffer_head *bh; |
bh | 291 | fs/affs/inode.c | if (!(bh=affs_pread (inode, block, &fh_data))) { |
bh | 344 | fs/affs/inode.c | brelse(bh); |
bh | 391 | fs/affs/inode.c | brelse(bh); |
bh | 426 | fs/affs/inode.c | void leak_check_brelse(struct buffer_head * bh){ |
bh | 428 | fs/affs/inode.c | return brelse(bh); |
bh | 75 | fs/affs/namei.c | struct buffer_head *bh; |
bh | 81 | fs/affs/namei.c | bh = affs_pread (dir, dir->i_ino, &dir_data); |
bh | 82 | fs/affs/namei.c | if (!bh) |
bh | 87 | fs/affs/namei.c | return bh; |
bh | 91 | fs/affs/namei.c | return bh; |
bh | 100 | fs/affs/namei.c | brelse (bh); |
bh | 103 | fs/affs/namei.c | bh = affs_pread (dir, key, &dir_data); |
bh | 104 | fs/affs/namei.c | if (!bh) |
bh | 115 | fs/affs/namei.c | return bh; |
bh | 122 | fs/affs/namei.c | struct buffer_head *bh; |
bh | 136 | fs/affs/namei.c | if (!(bh = affs_find_entry(dir, name, len, &ino))) { |
bh | 140 | fs/affs/namei.c | brelse(bh); |
bh | 168 | fs/affs/namei.c | if (!(bh = affs_find_entry(dir,name,len, &ino, &ino_back))) { |
bh | 172 | fs/affs/namei.c | brelse(bh); |
bh | 55 | fs/affs/symlink.c | struct buffer_head *bh; |
bh | 78 | fs/affs/symlink.c | if (!(bh = affs_pread(inode,inode->i_ino,(void **)&sy_data))) { |
bh | 88 | fs/affs/symlink.c | brelse(bh); |
bh | 147 | fs/affs/symlink.c | struct buffer_head *bh; |
bh | 158 | fs/affs/symlink.c | if (!(bh = affs_pread(inode,inode->i_ino,(void **)&sy_data))) { |
bh | 176 | fs/affs/symlink.c | brelse(bh); |
bh | 35 | fs/block_dev.c | struct buffer_head * bh, *bufferlist[NBUF]; |
bh | 72 | fs/block_dev.c | bh = getblk(dev, block, blocksize); |
bh | 74 | fs/block_dev.c | bh = breada(dev,block,block+1,block+2,-1); |
bh | 80 | fs/block_dev.c | bh = getblk(dev, block, blocksize); |
bh | 82 | fs/block_dev.c | if (chars != blocksize && !buffer_uptodate(bh)) { |
bh | 86 | fs/block_dev.c | brelse(bh); |
bh | 87 | fs/block_dev.c | bh = bread(dev,block,blocksize); |
bh | 96 | fs/block_dev.c | bhlist[0] = bh; |
bh | 110 | fs/block_dev.c | wait_on_buffer(bh); |
bh | 116 | fs/block_dev.c | if (!bh) |
bh | 118 | fs/block_dev.c | p = offset + bh->b_data; |
bh | 126 | fs/block_dev.c | mark_buffer_uptodate(bh, 1); |
bh | 127 | fs/block_dev.c | mark_buffer_dirty(bh, 0); |
bh | 129 | fs/block_dev.c | bufferlist[buffercount++] = bh; |
bh | 131 | fs/block_dev.c | brelse(bh); |
bh | 126 | fs/buffer.c | void __wait_on_buffer(struct buffer_head * bh) |
bh | 130 | fs/buffer.c | bh->b_count++; |
bh | 131 | fs/buffer.c | add_wait_queue(&bh->b_wait, &wait); |
bh | 135 | fs/buffer.c | if (buffer_locked(bh)) { |
bh | 139 | fs/buffer.c | remove_wait_queue(&bh->b_wait, &wait); |
bh | 140 | fs/buffer.c | bh->b_count--; |
bh | 158 | fs/buffer.c | struct buffer_head * bh, *next; |
bh | 173 | fs/buffer.c | bh = lru_list[nlist]; |
bh | 174 | fs/buffer.c | if(!bh) continue; |
bh | 175 | fs/buffer.c | for (i = nr_buffers_type[nlist]*2 ; i-- > 0 ; bh = next) { |
bh | 176 | fs/buffer.c | if(bh->b_list != nlist) goto repeat1; |
bh | 177 | fs/buffer.c | next = bh->b_next_free; |
bh | 179 | fs/buffer.c | if (dev && bh->b_dev != dev) |
bh | 181 | fs/buffer.c | if (buffer_locked(bh)) |
bh | 189 | fs/buffer.c | wait_on_buffer (bh); |
bh | 194 | fs/buffer.c | if (wait && buffer_req(bh) && !buffer_locked(bh) && |
bh | 195 | fs/buffer.c | !buffer_dirty(bh) && !buffer_uptodate(bh)) { |
bh | 201 | fs/buffer.c | if (!buffer_dirty(bh) || pass>=2) |
bh | 204 | fs/buffer.c | if (buffer_locked(bh)) |
bh | 206 | fs/buffer.c | bh->b_count++; |
bh | 207 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 208 | fs/buffer.c | ll_rw_block(WRITE, 1, &bh); |
bh | 212 | fs/buffer.c | kdevname(bh->b_dev), bh->b_blocknr); |
bh | 215 | fs/buffer.c | bh->b_count--; |
bh | 293 | fs/buffer.c | struct buffer_head * bh; |
bh | 296 | fs/buffer.c | bh = lru_list[nlist]; |
bh | 297 | fs/buffer.c | for (i = nr_buffers_type[nlist]*2 ; --i > 0 ; bh = bh->b_next_free) { |
bh | 298 | fs/buffer.c | if (bh->b_dev != dev) |
bh | 300 | fs/buffer.c | wait_on_buffer(bh); |
bh | 301 | fs/buffer.c | if (bh->b_dev != dev) |
bh | 303 | fs/buffer.c | if (bh->b_count) |
bh | 305 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 306 | fs/buffer.c | clear_bit(BH_Protected, &bh->b_state); |
bh | 307 | fs/buffer.c | clear_bit(BH_Uptodate, &bh->b_state); |
bh | 308 | fs/buffer.c | clear_bit(BH_Dirty, &bh->b_state); |
bh | 309 | fs/buffer.c | clear_bit(BH_Req, &bh->b_state); |
bh | 317 | fs/buffer.c | static inline void remove_from_hash_queue(struct buffer_head * bh) |
bh | 319 | fs/buffer.c | if (bh->b_next) |
bh | 320 | fs/buffer.c | bh->b_next->b_prev = bh->b_prev; |
bh | 321 | fs/buffer.c | if (bh->b_prev) |
bh | 322 | fs/buffer.c | bh->b_prev->b_next = bh->b_next; |
bh | 323 | fs/buffer.c | if (hash(bh->b_dev,bh->b_blocknr) == bh) |
bh | 324 | fs/buffer.c | hash(bh->b_dev,bh->b_blocknr) = bh->b_next; |
bh | 325 | fs/buffer.c | bh->b_next = bh->b_prev = NULL; |
bh | 328 | fs/buffer.c | static inline void remove_from_lru_list(struct buffer_head * bh) |
bh | 330 | fs/buffer.c | if (!(bh->b_prev_free) || !(bh->b_next_free)) |
bh | 332 | fs/buffer.c | if (bh->b_dev == B_FREE) |
bh | 334 | fs/buffer.c | bh->b_prev_free->b_next_free = bh->b_next_free; |
bh | 335 | fs/buffer.c | bh->b_next_free->b_prev_free = bh->b_prev_free; |
bh | 337 | fs/buffer.c | if (lru_list[bh->b_list] == bh) |
bh | 338 | fs/buffer.c | lru_list[bh->b_list] = bh->b_next_free; |
bh | 339 | fs/buffer.c | if (lru_list[bh->b_list] == bh) |
bh | 340 | fs/buffer.c | lru_list[bh->b_list] = NULL; |
bh | 341 | fs/buffer.c | if (next_to_age[bh->b_list] == bh) |
bh | 342 | fs/buffer.c | next_to_age[bh->b_list] = bh->b_next_free; |
bh | 343 | fs/buffer.c | if (next_to_age[bh->b_list] == bh) |
bh | 344 | fs/buffer.c | next_to_age[bh->b_list] = NULL; |
bh | 346 | fs/buffer.c | bh->b_next_free = bh->b_prev_free = NULL; |
bh | 349 | fs/buffer.c | static inline void remove_from_free_list(struct buffer_head * bh) |
bh | 351 | fs/buffer.c | int isize = BUFSIZE_INDEX(bh->b_size); |
bh | 352 | fs/buffer.c | if (!(bh->b_prev_free) || !(bh->b_next_free)) |
bh | 354 | fs/buffer.c | if(bh->b_dev != B_FREE) |
bh | 359 | fs/buffer.c | if(bh->b_next_free == bh) |
bh | 362 | fs/buffer.c | bh->b_prev_free->b_next_free = bh->b_next_free; |
bh | 363 | fs/buffer.c | bh->b_next_free->b_prev_free = bh->b_prev_free; |
bh | 364 | fs/buffer.c | if (free_list[isize] == bh) |
bh | 365 | fs/buffer.c | free_list[isize] = bh->b_next_free; |
bh | 367 | fs/buffer.c | bh->b_next_free = bh->b_prev_free = NULL; |
bh | 370 | fs/buffer.c | static inline void remove_from_queues(struct buffer_head * bh) |
bh | 372 | fs/buffer.c | if(bh->b_dev == B_FREE) { |
bh | 373 | fs/buffer.c | remove_from_free_list(bh); /* Free list entries should not be |
bh | 377 | fs/buffer.c | nr_buffers_type[bh->b_list]--; |
bh | 378 | fs/buffer.c | nr_buffers_st[BUFSIZE_INDEX(bh->b_size)][bh->b_list]--; |
bh | 379 | fs/buffer.c | remove_from_hash_queue(bh); |
bh | 380 | fs/buffer.c | remove_from_lru_list(bh); |
bh | 383 | fs/buffer.c | static inline void put_last_lru(struct buffer_head * bh) |
bh | 385 | fs/buffer.c | if (!bh) |
bh | 387 | fs/buffer.c | if (bh == lru_list[bh->b_list]) { |
bh | 388 | fs/buffer.c | lru_list[bh->b_list] = bh->b_next_free; |
bh | 389 | fs/buffer.c | if (next_to_age[bh->b_list] == bh) |
bh | 390 | fs/buffer.c | next_to_age[bh->b_list] = bh->b_next_free; |
bh | 393 | fs/buffer.c | if(bh->b_dev == B_FREE) |
bh | 395 | fs/buffer.c | remove_from_lru_list(bh); |
bh | 398 | fs/buffer.c | if(!lru_list[bh->b_list]) { |
bh | 399 | fs/buffer.c | lru_list[bh->b_list] = bh; |
bh | 400 | fs/buffer.c | lru_list[bh->b_list]->b_prev_free = bh; |
bh | 402 | fs/buffer.c | if (!next_to_age[bh->b_list]) |
bh | 403 | fs/buffer.c | next_to_age[bh->b_list] = bh; |
bh | 405 | fs/buffer.c | bh->b_next_free = lru_list[bh->b_list]; |
bh | 406 | fs/buffer.c | bh->b_prev_free = lru_list[bh->b_list]->b_prev_free; |
bh | 407 | fs/buffer.c | lru_list[bh->b_list]->b_prev_free->b_next_free = bh; |
bh | 408 | fs/buffer.c | lru_list[bh->b_list]->b_prev_free = bh; |
bh | 411 | fs/buffer.c | static inline void put_last_free(struct buffer_head * bh) |
bh | 414 | fs/buffer.c | if (!bh) |
bh | 417 | fs/buffer.c | isize = BUFSIZE_INDEX(bh->b_size); |
bh | 418 | fs/buffer.c | bh->b_dev = B_FREE; /* So it is obvious we are on the free list */ |
bh | 421 | fs/buffer.c | free_list[isize] = bh; |
bh | 422 | fs/buffer.c | bh->b_prev_free = bh; |
bh | 426 | fs/buffer.c | bh->b_next_free = free_list[isize]; |
bh | 427 | fs/buffer.c | bh->b_prev_free = free_list[isize]->b_prev_free; |
bh | 428 | fs/buffer.c | free_list[isize]->b_prev_free->b_next_free = bh; |
bh | 429 | fs/buffer.c | free_list[isize]->b_prev_free = bh; |
bh | 432 | fs/buffer.c | static inline void insert_into_queues(struct buffer_head * bh) |
bh | 435 | fs/buffer.c | if(bh->b_dev == B_FREE) { |
bh | 436 | fs/buffer.c | put_last_free(bh); |
bh | 439 | fs/buffer.c | if(!lru_list[bh->b_list]) { |
bh | 440 | fs/buffer.c | lru_list[bh->b_list] = bh; |
bh | 441 | fs/buffer.c | bh->b_prev_free = bh; |
bh | 443 | fs/buffer.c | if (!next_to_age[bh->b_list]) |
bh | 444 | fs/buffer.c | next_to_age[bh->b_list] = bh; |
bh | 445 | fs/buffer.c | if (bh->b_next_free) panic("VFS: buffer LRU pointers corrupted"); |
bh | 446 | fs/buffer.c | bh->b_next_free = lru_list[bh->b_list]; |
bh | 447 | fs/buffer.c | bh->b_prev_free = lru_list[bh->b_list]->b_prev_free; |
bh | 448 | fs/buffer.c | lru_list[bh->b_list]->b_prev_free->b_next_free = bh; |
bh | 449 | fs/buffer.c | lru_list[bh->b_list]->b_prev_free = bh; |
bh | 450 | fs/buffer.c | nr_buffers_type[bh->b_list]++; |
bh | 451 | fs/buffer.c | nr_buffers_st[BUFSIZE_INDEX(bh->b_size)][bh->b_list]++; |
bh | 453 | fs/buffer.c | bh->b_prev = NULL; |
bh | 454 | fs/buffer.c | bh->b_next = NULL; |
bh | 455 | fs/buffer.c | if (!(bh->b_dev)) |
bh | 457 | fs/buffer.c | bh->b_next = hash(bh->b_dev,bh->b_blocknr); |
bh | 458 | fs/buffer.c | hash(bh->b_dev,bh->b_blocknr) = bh; |
bh | 459 | fs/buffer.c | if (bh->b_next) |
bh | 460 | fs/buffer.c | bh->b_next->b_prev = bh; |
bh | 488 | fs/buffer.c | struct buffer_head * bh; |
bh | 491 | fs/buffer.c | if (!(bh=find_buffer(dev,block,size))) |
bh | 493 | fs/buffer.c | bh->b_count++; |
bh | 494 | fs/buffer.c | wait_on_buffer(bh); |
bh | 495 | fs/buffer.c | if (bh->b_dev == dev && bh->b_blocknr == block |
bh | 496 | fs/buffer.c | && bh->b_size == size) |
bh | 497 | fs/buffer.c | return bh; |
bh | 498 | fs/buffer.c | bh->b_count--; |
bh | 505 | fs/buffer.c | struct buffer_head * bh, *bhnext; |
bh | 531 | fs/buffer.c | bh = lru_list[nlist]; |
bh | 532 | fs/buffer.c | for (i = nr_buffers_type[nlist]*2 ; --i > 0 ; bh = bhnext) { |
bh | 533 | fs/buffer.c | if(!bh) break; |
bh | 534 | fs/buffer.c | bhnext = bh->b_next_free; |
bh | 535 | fs/buffer.c | if (bh->b_dev != dev) |
bh | 537 | fs/buffer.c | if (bh->b_size == size) |
bh | 540 | fs/buffer.c | wait_on_buffer(bh); |
bh | 541 | fs/buffer.c | if (bh->b_dev == dev && bh->b_size != size) { |
bh | 542 | fs/buffer.c | clear_bit(BH_Dirty, &bh->b_state); |
bh | 543 | fs/buffer.c | clear_bit(BH_Uptodate, &bh->b_state); |
bh | 544 | fs/buffer.c | clear_bit(BH_Req, &bh->b_state); |
bh | 545 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 547 | fs/buffer.c | remove_from_hash_queue(bh); |
bh | 552 | fs/buffer.c | #define BADNESS(bh) (buffer_dirty(bh) || buffer_locked(bh)) |
bh | 556 | fs/buffer.c | struct buffer_head * bh, * tmp; |
bh | 610 | fs/buffer.c | for (bh = lru_list[i]; buffers[i] > 0; bh = tmp, buffers[i]--) |
bh | 613 | fs/buffer.c | tmp = bh->b_next_free; |
bh | 614 | fs/buffer.c | if (!bh) break; |
bh | 616 | fs/buffer.c | if (mem_map[MAP_NR((unsigned long) bh->b_data)].count != 1 || |
bh | 617 | fs/buffer.c | buffer_dirty(bh)) { |
bh | 618 | fs/buffer.c | refile_buffer(bh); |
bh | 622 | fs/buffer.c | if (bh->b_count || buffer_protected(bh) || bh->b_size != size) |
bh | 629 | fs/buffer.c | if (buffer_locked(bh) && (i == BUF_LOCKED || i == BUF_LOCKED1)) { |
bh | 634 | fs/buffer.c | if (BADNESS(bh)) continue; |
bh | 638 | fs/buffer.c | else candidate[i] = bh; |
bh | 659 | fs/buffer.c | bh = candidate[i]; |
bh | 660 | fs/buffer.c | candidate[i] = bh->b_next_free; |
bh | 661 | fs/buffer.c | if(candidate[i] == bh) candidate[i] = NULL; /* Got last one */ |
bh | 662 | fs/buffer.c | if (bh->b_count || bh->b_size != size) |
bh | 664 | fs/buffer.c | if (mem_map[MAP_NR((unsigned long) bh->b_data)].count != 1) |
bh | 666 | fs/buffer.c | if (buffer_protected(bh)) |
bh | 668 | fs/buffer.c | if (BADNESS(bh)) panic("Buffer in candidate list with BADNESS != 0\n"); |
bh | 670 | fs/buffer.c | if(bh->b_dev == B_FREE) |
bh | 672 | fs/buffer.c | remove_from_queues(bh); |
bh | 673 | fs/buffer.c | bh->b_dev = B_FREE; |
bh | 674 | fs/buffer.c | put_last_free(bh); |
bh | 675 | fs/buffer.c | needed -= bh->b_size; |
bh | 685 | fs/buffer.c | for (bh = candidate[i]; buffers[i] > 0; bh = tmp, buffers[i]--) { |
bh | 687 | fs/buffer.c | tmp = bh->b_next_free; |
bh | 688 | fs/buffer.c | if (!bh) break; |
bh | 690 | fs/buffer.c | if (mem_map[MAP_NR((unsigned long) bh->b_data)].count != 1 || |
bh | 691 | fs/buffer.c | buffer_dirty(bh)) { |
bh | 692 | fs/buffer.c | refile_buffer(bh); |
bh | 696 | fs/buffer.c | if (bh->b_count || buffer_protected(bh) || bh->b_size != size) |
bh | 703 | fs/buffer.c | if (buffer_locked(bh) && (i == BUF_LOCKED || i == BUF_LOCKED1)) { |
bh | 708 | fs/buffer.c | if (BADNESS(bh)) continue; |
bh | 712 | fs/buffer.c | else candidate[i] = bh; |
bh | 744 | fs/buffer.c | struct buffer_head * bh; |
bh | 754 | fs/buffer.c | bh = get_hash_table(dev, block, size); |
bh | 755 | fs/buffer.c | if (bh) { |
bh | 756 | fs/buffer.c | if (!buffer_dirty(bh)) { |
bh | 757 | fs/buffer.c | if (buffer_uptodate(bh)) |
bh | 758 | fs/buffer.c | put_last_lru(bh); |
bh | 759 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 761 | fs/buffer.c | set_bit(BH_Touched, &bh->b_state); |
bh | 762 | fs/buffer.c | return bh; |
bh | 770 | fs/buffer.c | bh = free_list[isize]; |
bh | 771 | fs/buffer.c | remove_from_free_list(bh); |
bh | 775 | fs/buffer.c | bh->b_count=1; |
bh | 776 | fs/buffer.c | bh->b_flushtime=0; |
bh | 777 | fs/buffer.c | bh->b_state=(1<<BH_Touched); |
bh | 778 | fs/buffer.c | bh->b_dev=dev; |
bh | 779 | fs/buffer.c | bh->b_blocknr=block; |
bh | 780 | fs/buffer.c | insert_into_queues(bh); |
bh | 781 | fs/buffer.c | return bh; |
bh | 879 | fs/buffer.c | struct buffer_head * bh; |
bh | 881 | fs/buffer.c | if (!(bh = getblk(dev, block, size))) { |
bh | 886 | fs/buffer.c | if (buffer_uptodate(bh)) |
bh | 887 | fs/buffer.c | return bh; |
bh | 888 | fs/buffer.c | ll_rw_block(READ, 1, &bh); |
bh | 889 | fs/buffer.c | wait_on_buffer(bh); |
bh | 890 | fs/buffer.c | if (buffer_uptodate(bh)) |
bh | 891 | fs/buffer.c | return bh; |
bh | 892 | fs/buffer.c | brelse(bh); |
bh | 909 | fs/buffer.c | struct buffer_head * bh; |
bh | 916 | fs/buffer.c | if (block < 0 || !(bh = getblk(dev,block,bufsize))) |
bh | 919 | fs/buffer.c | index = BUFSIZE_INDEX(bh->b_size); |
bh | 921 | fs/buffer.c | if (buffer_uptodate(bh)) |
bh | 922 | fs/buffer.c | return bh; |
bh | 931 | fs/buffer.c | bhlist[0] = bh; |
bh | 934 | fs/buffer.c | bh = getblk(dev,block+i,bufsize); |
bh | 935 | fs/buffer.c | if (buffer_uptodate(bh)) { |
bh | 936 | fs/buffer.c | brelse(bh); |
bh | 939 | fs/buffer.c | bhlist[j++] = bh; |
bh | 949 | fs/buffer.c | bh = bhlist[0]; |
bh | 950 | fs/buffer.c | wait_on_buffer(bh); |
bh | 951 | fs/buffer.c | if (buffer_uptodate(bh)) |
bh | 952 | fs/buffer.c | return bh; |
bh | 953 | fs/buffer.c | brelse(bh); |
bh | 960 | fs/buffer.c | static void put_unused_buffer_head(struct buffer_head * bh) |
bh | 964 | fs/buffer.c | wait = ((volatile struct buffer_head *) bh)->b_wait; |
bh | 965 | fs/buffer.c | memset(bh,0,sizeof(*bh)); |
bh | 966 | fs/buffer.c | ((volatile struct buffer_head *) bh)->b_wait = wait; |
bh | 967 | fs/buffer.c | bh->b_next_free = unused_list; |
bh | 968 | fs/buffer.c | unused_list = bh; |
bh | 975 | fs/buffer.c | struct buffer_head * bh; |
bh | 986 | fs/buffer.c | bh = (struct buffer_head *) get_free_page(GFP_ATOMIC); |
bh | 987 | fs/buffer.c | if (bh) |
bh | 999 | fs/buffer.c | for (nr_buffer_heads+=i=PAGE_SIZE/sizeof*bh ; i>0; i--) { |
bh | 1000 | fs/buffer.c | bh->b_next_free = unused_list; /* only make link */ |
bh | 1001 | fs/buffer.c | unused_list = bh++; |
bh | 1021 | fs/buffer.c | struct buffer_head *bh; |
bh | 1027 | fs/buffer.c | bh = reuse_list; |
bh | 1028 | fs/buffer.c | reuse_list = bh->b_next_free; |
bh | 1030 | fs/buffer.c | put_unused_buffer_head(bh); |
bh | 1037 | fs/buffer.c | struct buffer_head * bh; |
bh | 1043 | fs/buffer.c | bh = unused_list; |
bh | 1044 | fs/buffer.c | unused_list = bh->b_next_free; |
bh | 1045 | fs/buffer.c | bh->b_next_free = NULL; |
bh | 1046 | fs/buffer.c | bh->b_data = NULL; |
bh | 1047 | fs/buffer.c | bh->b_size = 0; |
bh | 1048 | fs/buffer.c | bh->b_state = 0; |
bh | 1049 | fs/buffer.c | return bh; |
bh | 1060 | fs/buffer.c | struct buffer_head *bh, *head; |
bh | 1066 | fs/buffer.c | bh = get_unused_buffer_head(); |
bh | 1067 | fs/buffer.c | if (!bh) |
bh | 1069 | fs/buffer.c | bh->b_this_page = head; |
bh | 1070 | fs/buffer.c | head = bh; |
bh | 1071 | fs/buffer.c | bh->b_data = (char *) (page+offset); |
bh | 1072 | fs/buffer.c | bh->b_size = size; |
bh | 1073 | fs/buffer.c | bh->b_dev = B_FREE; /* Flag as unused */ |
bh | 1080 | fs/buffer.c | bh = head; |
bh | 1081 | fs/buffer.c | while (bh) { |
bh | 1082 | fs/buffer.c | head = bh; |
bh | 1083 | fs/buffer.c | bh = bh->b_this_page; |
bh | 1101 | fs/buffer.c | static inline void free_async_buffers (struct buffer_head * bh) |
bh | 1106 | fs/buffer.c | tmp = bh; |
bh | 1120 | fs/buffer.c | } while (tmp != bh); |
bh | 1131 | fs/buffer.c | struct buffer_head *bh, *prev, *next, *arr[MAX_BUF_PER_PAGE]; |
bh | 1144 | fs/buffer.c | bh = create_buffers(address, size); |
bh | 1145 | fs/buffer.c | if (!bh) { |
bh | 1151 | fs/buffer.c | next = bh; |
bh | 1197 | fs/buffer.c | prev->b_this_page = bh; |
bh | 1207 | fs/buffer.c | free_async_buffers(bh); |
bh | 1217 | fs/buffer.c | void mark_buffer_uptodate(struct buffer_head * bh, int on) |
bh | 1220 | fs/buffer.c | struct buffer_head *tmp = bh; |
bh | 1222 | fs/buffer.c | set_bit(BH_Uptodate, &bh->b_state); |
bh | 1231 | fs/buffer.c | } while (tmp && tmp != bh); |
bh | 1233 | fs/buffer.c | set_bit(PG_uptodate, &mem_map[MAP_NR(bh->b_data)].flags); |
bh | 1235 | fs/buffer.c | clear_bit(BH_Uptodate, &bh->b_state); |
bh | 1241 | fs/buffer.c | void unlock_buffer(struct buffer_head * bh) |
bh | 1246 | fs/buffer.c | clear_bit(BH_Lock, &bh->b_state); |
bh | 1247 | fs/buffer.c | wake_up(&bh->b_wait); |
bh | 1249 | fs/buffer.c | if (!test_bit(BH_FreeOnIO, &bh->b_state)) |
bh | 1252 | fs/buffer.c | page = mem_map + MAP_NR(bh->b_data); |
bh | 1258 | fs/buffer.c | if (bh->b_count != 1) { |
bh | 1266 | fs/buffer.c | bh->b_count--; |
bh | 1267 | fs/buffer.c | for (tmp = bh; tmp=tmp->b_this_page, tmp!=bh; ) { |
bh | 1274 | fs/buffer.c | free_async_buffers(bh); |
bh | 1319 | fs/buffer.c | struct buffer_head *bh, *tmp; |
bh | 1332 | fs/buffer.c | bh = create_buffers(page, size); |
bh | 1333 | fs/buffer.c | if (!bh) { |
bh | 1340 | fs/buffer.c | tmp = bh; |
bh | 1359 | fs/buffer.c | free_list[isize] = bh; |
bh | 1360 | fs/buffer.c | mem_map[MAP_NR(page)].buffers = bh; |
bh | 1361 | fs/buffer.c | tmp->b_this_page = bh; |
bh | 1373 | fs/buffer.c | int try_to_free_buffer(struct buffer_head * bh, struct buffer_head ** bhp, |
bh | 1378 | fs/buffer.c | int isize = BUFSIZE_INDEX(bh->b_size); |
bh | 1380 | fs/buffer.c | *bhp = bh; |
bh | 1381 | fs/buffer.c | page = (unsigned long) bh->b_data; |
bh | 1383 | fs/buffer.c | tmp = bh; |
bh | 1393 | fs/buffer.c | } while (tmp != bh); |
bh | 1394 | fs/buffer.c | tmp = bh; |
bh | 1408 | fs/buffer.c | } while (tmp != bh); |
bh | 1417 | fs/buffer.c | static inline void age_buffer(struct buffer_head *bh) |
bh | 1419 | fs/buffer.c | struct buffer_head *tmp = bh; |
bh | 1429 | fs/buffer.c | if (clear_bit(BH_Has_aged, &bh->b_state)) |
bh | 1436 | fs/buffer.c | } while (tmp != bh); |
bh | 1437 | fs/buffer.c | clear_bit(BH_Has_aged, &bh->b_state); |
bh | 1440 | fs/buffer.c | touch_page(mem_map + MAP_NR((unsigned long) bh->b_data)); |
bh | 1442 | fs/buffer.c | age_page(mem_map + MAP_NR((unsigned long) bh->b_data)); |
bh | 1509 | fs/buffer.c | struct buffer_head *bh; |
bh | 1522 | fs/buffer.c | bh = free_list[isize]; |
bh | 1523 | fs/buffer.c | if(!bh) continue; |
bh | 1524 | fs/buffer.c | for (i=0 ; !i || bh != free_list[isize]; bh = bh->b_next_free, i++) { |
bh | 1525 | fs/buffer.c | if (bh->b_count || buffer_protected(bh) || |
bh | 1526 | fs/buffer.c | !bh->b_this_page) |
bh | 1528 | fs/buffer.c | if (!age_of((unsigned long) bh->b_data) && |
bh | 1529 | fs/buffer.c | try_to_free_buffer(bh, &bh, 6)) |
bh | 1531 | fs/buffer.c | if(!bh) break; |
bh | 1545 | fs/buffer.c | bh = next_to_age[nlist]; |
bh | 1546 | fs/buffer.c | if (!bh) |
bh | 1548 | fs/buffer.c | next_to_age[nlist] = bh->b_next_free; |
bh | 1551 | fs/buffer.c | age_buffer(bh); |
bh | 1554 | fs/buffer.c | if(bh->b_list != nlist) goto repeat1; |
bh | 1555 | fs/buffer.c | if (bh->b_count || buffer_protected(bh) || |
bh | 1556 | fs/buffer.c | !bh->b_this_page) |
bh | 1558 | fs/buffer.c | if(size && bh->b_size != size) continue; |
bh | 1559 | fs/buffer.c | if (buffer_locked(bh)) |
bh | 1563 | fs/buffer.c | wait_on_buffer(bh); |
bh | 1564 | fs/buffer.c | if (buffer_dirty(bh)) { |
bh | 1565 | fs/buffer.c | bh->b_count++; |
bh | 1566 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 1567 | fs/buffer.c | ll_rw_block(WRITEA, 1, &bh); |
bh | 1568 | fs/buffer.c | bh->b_count--; |
bh | 1574 | fs/buffer.c | if ((age_of((unsigned long) bh->b_data) >> |
bh | 1577 | fs/buffer.c | if (try_to_free_buffer(bh, &bh, 0)) |
bh | 1579 | fs/buffer.c | if(!bh) break; |
bh | 1590 | fs/buffer.c | struct buffer_head * bh; |
bh | 1602 | fs/buffer.c | bh = lru_list[nlist]; |
bh | 1603 | fs/buffer.c | if(!bh) continue; |
bh | 1606 | fs/buffer.c | if (buffer_locked(bh)) |
bh | 1608 | fs/buffer.c | if (buffer_protected(bh)) |
bh | 1610 | fs/buffer.c | if (buffer_dirty(bh)) |
bh | 1612 | fs/buffer.c | if (mem_map[MAP_NR(((unsigned long) bh->b_data))].count != 1) |
bh | 1614 | fs/buffer.c | if (bh->b_count) |
bh | 1616 | fs/buffer.c | bh = bh->b_next_free; |
bh | 1617 | fs/buffer.c | } while (bh != lru_list[nlist]); |
bh | 1640 | fs/buffer.c | static inline int try_to_reassign(struct buffer_head * bh, struct buffer_head ** bhp, |
bh | 1646 | fs/buffer.c | *bhp = bh; |
bh | 1647 | fs/buffer.c | page = (unsigned long) bh->b_data; |
bh | 1650 | fs/buffer.c | tmp = bh; |
bh | 1659 | fs/buffer.c | } while (tmp != bh); |
bh | 1660 | fs/buffer.c | tmp = bh; |
bh | 1666 | fs/buffer.c | bh = tmp; |
bh | 1676 | fs/buffer.c | } while (tmp != bh); |
bh | 1697 | fs/buffer.c | struct buffer_head *bh; |
bh | 1707 | fs/buffer.c | bh = free_list[isize]; |
bh | 1708 | fs/buffer.c | if(bh) |
bh | 1709 | fs/buffer.c | for (i=0 ; !i || bh != free_list[isize] ; bh = bh->b_next_free, i++) { |
bh | 1710 | fs/buffer.c | if (!bh->b_this_page) continue; |
bh | 1711 | fs/buffer.c | if (try_to_reassign(bh, &bh, dev, starting_block)) |
bh | 1723 | fs/buffer.c | struct buffer_head * bh, * tmp, * arr[MAX_BUF_PER_PAGE]; |
bh | 1732 | fs/buffer.c | bh = create_buffers(page, size); |
bh | 1733 | fs/buffer.c | if (!bh) { |
bh | 1742 | fs/buffer.c | tmp = bh; |
bh | 1745 | fs/buffer.c | arr[nblock++] = bh; |
bh | 1746 | fs/buffer.c | bh->b_count = 1; |
bh | 1747 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 1748 | fs/buffer.c | bh->b_state = 0; |
bh | 1749 | fs/buffer.c | bh->b_dev = dev; |
bh | 1750 | fs/buffer.c | bh->b_list = BUF_CLEAN; |
bh | 1751 | fs/buffer.c | bh->b_blocknr = block++; |
bh | 1754 | fs/buffer.c | insert_into_queues(bh); |
bh | 1755 | fs/buffer.c | if (bh->b_this_page) |
bh | 1756 | fs/buffer.c | bh = bh->b_this_page; |
bh | 1761 | fs/buffer.c | mem_map[MAP_NR(page)].buffers = bh; |
bh | 1762 | fs/buffer.c | bh->b_this_page = tmp; |
bh | 1767 | fs/buffer.c | while ((tmp = bh) != NULL) { |
bh | 1768 | fs/buffer.c | bh = bh->b_this_page; |
bh | 1873 | fs/buffer.c | struct buffer_head * bh, *next; |
bh | 1888 | fs/buffer.c | bh = lru_list[nlist]; |
bh | 1889 | fs/buffer.c | if(bh) |
bh | 1890 | fs/buffer.c | for (i = nr_buffers_type[nlist]; i-- > 0; bh = next) { |
bh | 1892 | fs/buffer.c | if(bh->b_list != nlist) goto repeat; |
bh | 1893 | fs/buffer.c | next = bh->b_next_free; |
bh | 1900 | fs/buffer.c | if (nlist == BUF_DIRTY && !buffer_dirty(bh) && !buffer_locked(bh)) |
bh | 1902 | fs/buffer.c | refile_buffer(bh); |
bh | 1906 | fs/buffer.c | if (buffer_locked(bh) || !buffer_dirty(bh)) |
bh | 1909 | fs/buffer.c | if(bh->b_flushtime > jiffies) continue; |
bh | 1911 | fs/buffer.c | bh->b_count++; |
bh | 1912 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 1916 | fs/buffer.c | ll_rw_block(WRITE, 1, &bh); |
bh | 1917 | fs/buffer.c | bh->b_count--; |
bh | 1986 | fs/buffer.c | struct buffer_head * bh, *next; |
bh | 2023 | fs/buffer.c | bh = lru_list[nlist]; |
bh | 2024 | fs/buffer.c | if(bh) |
bh | 2026 | fs/buffer.c | bh = next) { |
bh | 2028 | fs/buffer.c | if(bh->b_list != nlist) goto repeat; |
bh | 2029 | fs/buffer.c | next = bh->b_next_free; |
bh | 2036 | fs/buffer.c | if (nlist == BUF_DIRTY && !buffer_dirty(bh) && !buffer_locked(bh)) |
bh | 2038 | fs/buffer.c | refile_buffer(bh); |
bh | 2042 | fs/buffer.c | if (buffer_locked(bh) || !buffer_dirty(bh)) |
bh | 2046 | fs/buffer.c | bh->b_count++; |
bh | 2048 | fs/buffer.c | bh->b_flushtime = 0; |
bh | 2049 | fs/buffer.c | ll_rw_block(WRITE, 1, &bh); |
bh | 2053 | fs/buffer.c | bh->b_count--; |
bh | 72 | fs/ext/dir.c | struct buffer_head * bh; |
bh | 82 | fs/ext/dir.c | bh = ext_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); |
bh | 83 | fs/ext/dir.c | if (!bh) { |
bh | 88 | fs/ext/dir.c | de = (struct ext_dir_entry *) (bh->b_data + i); |
bh | 94 | fs/ext/dir.c | de = (struct ext_dir_entry *) (offset + bh->b_data); |
bh | 118 | fs/ext/dir.c | brelse(bh); |
bh | 204 | fs/ext/file.c | struct buffer_head * bh; |
bh | 225 | fs/ext/file.c | bh = ext_getblk(inode,pos/BLOCK_SIZE,1); |
bh | 226 | fs/ext/file.c | if (!bh) { |
bh | 234 | fs/ext/file.c | if (c != BLOCK_SIZE && !buffer_uptodate(bh)) { |
bh | 235 | fs/ext/file.c | ll_rw_block(READ, 1, &bh); |
bh | 236 | fs/ext/file.c | wait_on_buffer(bh); |
bh | 237 | fs/ext/file.c | if (!buffer_uptodate(bh)) { |
bh | 238 | fs/ext/file.c | brelse(bh); |
bh | 244 | fs/ext/file.c | p = (pos % BLOCK_SIZE) + bh->b_data; |
bh | 254 | fs/ext/file.c | mark_buffer_uptodate(bh, 1); |
bh | 255 | fs/ext/file.c | mark_buffer_dirty(bh, 0); |
bh | 256 | fs/ext/file.c | brelse(bh); |
bh | 42 | fs/ext/freelists.c | struct buffer_head * bh; |
bh | 55 | fs/ext/freelists.c | bh = get_hash_table(sb->s_dev, block, sb->s_blocksize); |
bh | 56 | fs/ext/freelists.c | if (bh) |
bh | 57 | fs/ext/freelists.c | mark_buffer_clean(bh); |
bh | 58 | fs/ext/freelists.c | brelse(bh); |
bh | 86 | fs/ext/freelists.c | struct buffer_head * bh; |
bh | 125 | fs/ext/freelists.c | if (!(bh=getblk(sb->s_dev, j, sb->s_blocksize))) { |
bh | 129 | fs/ext/freelists.c | memset(bh->b_data, 0, BLOCK_SIZE); |
bh | 130 | fs/ext/freelists.c | mark_buffer_uptodate(bh, 1); |
bh | 131 | fs/ext/freelists.c | mark_buffer_dirty(bh, 1); |
bh | 132 | fs/ext/freelists.c | brelse(bh); |
bh | 143 | fs/ext/freelists.c | struct buffer_head * bh; |
bh | 155 | fs/ext/freelists.c | if (!(bh = bread (sb->s_dev, block, sb->s_blocksize))) { |
bh | 159 | fs/ext/freelists.c | efb = (struct ext_free_block *) bh->b_data; |
bh | 162 | fs/ext/freelists.c | brelse (bh); |
bh | 177 | fs/ext/freelists.c | struct buffer_head * bh; |
bh | 222 | fs/ext/freelists.c | if (!(bh = bread(dev, block, sb->s_blocksize))) |
bh | 224 | fs/ext/freelists.c | efi = ((struct ext_free_inode *) bh->b_data) + |
bh | 229 | fs/ext/freelists.c | sb->u.ext_sb.s_firstfreeinodeblock = bh; |
bh | 303 | fs/ext/freelists.c | struct buffer_head * bh; |
bh | 322 | fs/ext/freelists.c | if (!(bh = bread (sb->s_dev, block, sb->s_blocksize))) { |
bh | 326 | fs/ext/freelists.c | efi = ((struct ext_free_inode *) bh->b_data) + |
bh | 330 | fs/ext/freelists.c | brelse (bh); |
bh | 32 | fs/ext/fsync.c | struct buffer_head * bh; |
bh | 38 | fs/ext/fsync.c | bh = get_hash_table(inode->i_dev, *block, blocksize); |
bh | 39 | fs/ext/fsync.c | if (!bh) |
bh | 42 | fs/ext/fsync.c | brelse (bh); |
bh | 45 | fs/ext/fsync.c | if (wait && buffer_req(bh) && !buffer_uptodate(bh)) { |
bh | 46 | fs/ext/fsync.c | brelse(bh); |
bh | 49 | fs/ext/fsync.c | if (wait || !buffer_uptodate(bh) || !buffer_dirty(bh)) |
bh | 51 | fs/ext/fsync.c | brelse(bh); |
bh | 54 | fs/ext/fsync.c | ll_rw_block(WRITE, 1, &bh); |
bh | 55 | fs/ext/fsync.c | bh->b_count--; |
bh | 60 | fs/ext/fsync.c | struct buffer_head **bh, int wait) |
bh | 64 | fs/ext/fsync.c | *bh = NULL; |
bh | 71 | fs/ext/fsync.c | *bh = bread(inode->i_dev, tmp, blocksize); |
bh | 73 | fs/ext/fsync.c | brelse(*bh); |
bh | 74 | fs/ext/fsync.c | *bh = NULL; |
bh | 77 | fs/ext/fsync.c | if (!*bh) |
bh | 63 | fs/ext/inode.c | struct buffer_head *bh; |
bh | 71 | fs/ext/inode.c | if (!(bh = bread(dev, 1, BLOCK_SIZE))) { |
bh | 78 | fs/ext/inode.c | es = (struct ext_super_block *) bh->b_data; |
bh | 91 | fs/ext/inode.c | brelse(bh); |
bh | 140 | fs/ext/inode.c | struct buffer_head * bh; |
bh | 143 | fs/ext/inode.c | if (!(bh = bread(sb->s_dev, 1, BLOCK_SIZE))) { |
bh | 147 | fs/ext/inode.c | es = (struct ext_super_block *) bh->b_data; |
bh | 152 | fs/ext/inode.c | mark_buffer_dirty(bh, 1); |
bh | 153 | fs/ext/inode.c | brelse (bh); |
bh | 174 | fs/ext/inode.c | static inline int block_bmap(struct buffer_head * bh, int nr) |
bh | 178 | fs/ext/inode.c | if (!bh) |
bh | 180 | fs/ext/inode.c | tmp = ((unsigned long *) bh->b_data)[nr]; |
bh | 181 | fs/ext/inode.c | brelse(bh); |
bh | 263 | fs/ext/inode.c | struct buffer_head * bh, int nr, int create) |
bh | 269 | fs/ext/inode.c | if (!bh) |
bh | 271 | fs/ext/inode.c | if (!buffer_uptodate(bh)) { |
bh | 272 | fs/ext/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 273 | fs/ext/inode.c | wait_on_buffer(bh); |
bh | 274 | fs/ext/inode.c | if (!buffer_uptodate(bh)) { |
bh | 275 | fs/ext/inode.c | brelse(bh); |
bh | 279 | fs/ext/inode.c | p = nr + (unsigned long *) bh->b_data; |
bh | 283 | fs/ext/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
bh | 285 | fs/ext/inode.c | brelse(bh); |
bh | 292 | fs/ext/inode.c | brelse(bh); |
bh | 297 | fs/ext/inode.c | brelse(bh); |
bh | 300 | fs/ext/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
bh | 307 | fs/ext/inode.c | mark_buffer_dirty(bh, 1); |
bh | 308 | fs/ext/inode.c | brelse(bh); |
bh | 314 | fs/ext/inode.c | struct buffer_head * bh; |
bh | 328 | fs/ext/inode.c | bh = inode_getblk(inode,9,create); |
bh | 329 | fs/ext/inode.c | return block_getblk(inode,bh,block,create); |
bh | 333 | fs/ext/inode.c | bh = inode_getblk(inode,10,create); |
bh | 334 | fs/ext/inode.c | bh = block_getblk(inode,bh,block>>8,create); |
bh | 335 | fs/ext/inode.c | return block_getblk(inode,bh,block & 255,create); |
bh | 338 | fs/ext/inode.c | bh = inode_getblk(inode,11,create); |
bh | 339 | fs/ext/inode.c | bh = block_getblk(inode,bh,block>>16,create); |
bh | 340 | fs/ext/inode.c | bh = block_getblk(inode,bh,(block>>8) & 255,create); |
bh | 341 | fs/ext/inode.c | return block_getblk(inode,bh,block & 255,create); |
bh | 346 | fs/ext/inode.c | struct buffer_head * bh; |
bh | 348 | fs/ext/inode.c | bh = ext_getblk(inode,block,create); |
bh | 349 | fs/ext/inode.c | if (!bh || buffer_uptodate(bh)) |
bh | 350 | fs/ext/inode.c | return bh; |
bh | 351 | fs/ext/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 352 | fs/ext/inode.c | wait_on_buffer(bh); |
bh | 353 | fs/ext/inode.c | if (buffer_uptodate(bh)) |
bh | 354 | fs/ext/inode.c | return bh; |
bh | 355 | fs/ext/inode.c | brelse(bh); |
bh | 361 | fs/ext/inode.c | struct buffer_head * bh; |
bh | 366 | fs/ext/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
bh | 368 | fs/ext/inode.c | raw_inode = ((struct ext_inode *) bh->b_data) + |
bh | 381 | fs/ext/inode.c | brelse(bh); |
bh | 399 | fs/ext/inode.c | struct buffer_head * bh; |
bh | 404 | fs/ext/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
bh | 406 | fs/ext/inode.c | raw_inode = ((struct ext_inode *)bh->b_data) + |
bh | 418 | fs/ext/inode.c | mark_buffer_dirty(bh, 1); |
bh | 420 | fs/ext/inode.c | return bh; |
bh | 425 | fs/ext/inode.c | struct buffer_head *bh; |
bh | 426 | fs/ext/inode.c | bh = ext_update_inode (inode); |
bh | 427 | fs/ext/inode.c | brelse(bh); |
bh | 433 | fs/ext/inode.c | struct buffer_head *bh; |
bh | 435 | fs/ext/inode.c | bh = ext_update_inode(inode); |
bh | 436 | fs/ext/inode.c | if (bh && buffer_dirty(bh)) |
bh | 438 | fs/ext/inode.c | ll_rw_block(WRITE, 1, &bh); |
bh | 439 | fs/ext/inode.c | wait_on_buffer(bh); |
bh | 440 | fs/ext/inode.c | if (buffer_req(bh) && !buffer_uptodate(bh)) |
bh | 448 | fs/ext/inode.c | else if (!bh) |
bh | 450 | fs/ext/inode.c | brelse (bh); |
bh | 84 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 97 | fs/ext/namei.c | bh = ext_bread(dir,0,0); |
bh | 98 | fs/ext/namei.c | if (!bh) |
bh | 105 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
bh | 107 | fs/ext/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data) { |
bh | 108 | fs/ext/namei.c | brelse(bh); |
bh | 109 | fs/ext/namei.c | bh = NULL; |
bh | 110 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,0); |
bh | 111 | fs/ext/namei.c | if (!bh) |
bh | 113 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
bh | 119 | fs/ext/namei.c | (((char *) de) + de->rec_len-1 >= BLOCK_SIZE+bh->b_data)) { |
bh | 125 | fs/ext/namei.c | de = (struct ext_dir_entry *) (bh->b_data+BLOCK_SIZE); |
bh | 135 | fs/ext/namei.c | ((char *)de) + de->rec_len < BLOCK_SIZE+bh->b_data) |
bh | 140 | fs/ext/namei.c | return bh; |
bh | 147 | fs/ext/namei.c | brelse(bh); |
bh | 156 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 165 | fs/ext/namei.c | if (!(bh = ext_find_entry(dir,name,len,&de,NULL,NULL))) { |
bh | 170 | fs/ext/namei.c | brelse(bh); |
bh | 195 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 210 | fs/ext/namei.c | bh = ext_bread(dir,0,0); |
bh | 211 | fs/ext/namei.c | if (!bh) |
bh | 215 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
bh | 217 | fs/ext/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data && offset < dir->i_size) { |
bh | 221 | fs/ext/namei.c | brelse(bh); |
bh | 222 | fs/ext/namei.c | bh = NULL; |
bh | 223 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,0); |
bh | 224 | fs/ext/namei.c | if (!bh) |
bh | 226 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
bh | 246 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 248 | fs/ext/namei.c | brelse (bh); |
bh | 249 | fs/ext/namei.c | bh = NULL; |
bh | 253 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,1); |
bh | 254 | fs/ext/namei.c | if (!bh) |
bh | 256 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
bh | 269 | fs/ext/namei.c | (((char *) de) + de->rec_len-1 >= BLOCK_SIZE+bh->b_data)) { |
bh | 275 | fs/ext/namei.c | brelse (bh); |
bh | 296 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 298 | fs/ext/namei.c | return bh; |
bh | 303 | fs/ext/namei.c | brelse(bh); |
bh | 311 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 325 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
bh | 326 | fs/ext/namei.c | if (!bh) { |
bh | 334 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 335 | fs/ext/namei.c | brelse(bh); |
bh | 344 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 349 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
bh | 350 | fs/ext/namei.c | if (bh) { |
bh | 351 | fs/ext/namei.c | brelse(bh); |
bh | 384 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
bh | 385 | fs/ext/namei.c | if (!bh) { |
bh | 393 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 394 | fs/ext/namei.c | brelse(bh); |
bh | 403 | fs/ext/namei.c | struct buffer_head * bh, *dir_block; |
bh | 406 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
bh | 407 | fs/ext/namei.c | if (bh) { |
bh | 408 | fs/ext/namei.c | brelse(bh); |
bh | 451 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
bh | 452 | fs/ext/namei.c | if (!bh) { |
bh | 459 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 464 | fs/ext/namei.c | brelse(bh); |
bh | 474 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 477 | 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 | 493 | fs/ext/namei.c | if ((void *) de >= (void *) (bh->b_data+BLOCK_SIZE)) { |
bh | 494 | fs/ext/namei.c | brelse(bh); |
bh | 495 | fs/ext/namei.c | bh = ext_bread(inode, offset >> BLOCK_SIZE_BITS,1); |
bh | 496 | fs/ext/namei.c | if (!bh) { |
bh | 500 | fs/ext/namei.c | de = (struct ext_dir_entry *) bh->b_data; |
bh | 509 | fs/ext/namei.c | brelse (bh); |
bh | 513 | fs/ext/namei.c | brelse(bh); |
bh | 519 | fs/ext/namei.c | brelse(bh); |
bh | 536 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 540 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,&pde,&nde); |
bh | 542 | fs/ext/namei.c | if (!bh) |
bh | 572 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 582 | fs/ext/namei.c | brelse(bh); |
bh | 590 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 595 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,&pde,&nde); |
bh | 596 | fs/ext/namei.c | if (!bh) |
bh | 616 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 624 | fs/ext/namei.c | brelse(bh); |
bh | 634 | fs/ext/namei.c | struct buffer_head * bh = NULL, * name_block = NULL; |
bh | 660 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
bh | 661 | fs/ext/namei.c | if (bh) { |
bh | 665 | fs/ext/namei.c | brelse(bh); |
bh | 669 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
bh | 670 | fs/ext/namei.c | if (!bh) { |
bh | 678 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 679 | fs/ext/namei.c | brelse(bh); |
bh | 688 | fs/ext/namei.c | struct buffer_head * bh; |
bh | 700 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
bh | 701 | fs/ext/namei.c | if (bh) { |
bh | 702 | fs/ext/namei.c | brelse(bh); |
bh | 707 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
bh | 708 | fs/ext/namei.c | if (!bh) { |
bh | 714 | fs/ext/namei.c | mark_buffer_dirty(bh, 1); |
bh | 715 | fs/ext/namei.c | brelse(bh); |
bh | 53 | fs/ext/symlink.c | struct buffer_head * bh; |
bh | 74 | 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 | 83 | fs/ext/symlink.c | brelse(bh); |
bh | 89 | fs/ext/symlink.c | struct buffer_head * bh; |
bh | 99 | fs/ext/symlink.c | bh = ext_bread(inode, 0, 0); |
bh | 101 | fs/ext/symlink.c | if (!bh) |
bh | 104 | fs/ext/symlink.c | while (i<buflen && (c = bh->b_data[i])) { |
bh | 108 | fs/ext/symlink.c | brelse(bh); |
bh | 36 | fs/ext/truncate.c | struct buffer_head * bh; |
bh | 45 | fs/ext/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
bh | 47 | fs/ext/truncate.c | brelse(bh); |
bh | 50 | fs/ext/truncate.c | if ((bh && bh->b_count != 1) || tmp != *p) { |
bh | 52 | fs/ext/truncate.c | brelse(bh); |
bh | 57 | fs/ext/truncate.c | brelse(bh); |
bh | 66 | fs/ext/truncate.c | struct buffer_head * bh; |
bh | 94 | fs/ext/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
bh | 96 | fs/ext/truncate.c | brelse(bh); |
bh | 99 | fs/ext/truncate.c | if ((bh && bh->b_count != 1) || tmp != *ind) { |
bh | 101 | fs/ext/truncate.c | brelse(bh); |
bh | 106 | fs/ext/truncate.c | brelse(bh); |
bh | 40 | fs/ext2/balloc.c | struct buffer_head ** bh) |
bh | 61 | fs/ext2/balloc.c | if (bh) |
bh | 62 | fs/ext2/balloc.c | *bh = sb->u.ext2_sb.s_group_desc[group_desc]; |
bh | 71 | fs/ext2/balloc.c | struct buffer_head * bh; |
bh | 74 | fs/ext2/balloc.c | bh = bread (sb->s_dev, gdp->bg_block_bitmap, sb->s_blocksize); |
bh | 75 | fs/ext2/balloc.c | if (!bh) |
bh | 81 | fs/ext2/balloc.c | sb->u.ext2_sb.s_block_bitmap[bitmap_nr] = bh; |
bh | 171 | fs/ext2/balloc.c | struct buffer_head * bh; |
bh | 208 | fs/ext2/balloc.c | bh = sb->u.ext2_sb.s_block_bitmap[bitmap_nr]; |
bh | 224 | fs/ext2/balloc.c | if (!clear_bit (bit + i, bh->b_data)) |
bh | 239 | fs/ext2/balloc.c | mark_buffer_dirty(bh, 1); |
bh | 241 | fs/ext2/balloc.c | ll_rw_block (WRITE, 1, &bh); |
bh | 242 | fs/ext2/balloc.c | wait_on_buffer (bh); |
bh | 259 | fs/ext2/balloc.c | struct buffer_head * bh; |
bh | 304 | fs/ext2/balloc.c | bh = sb->u.ext2_sb.s_block_bitmap[bitmap_nr]; |
bh | 308 | fs/ext2/balloc.c | if (!test_bit(j, bh->b_data)) { |
bh | 325 | fs/ext2/balloc.c | j = find_next_zero_bit(bh->b_data, end_goal, j); |
bh | 341 | fs/ext2/balloc.c | p = ((char *) bh->b_data) + (j >> 3); |
bh | 343 | fs/ext2/balloc.c | k = (r - ((char *) bh->b_data)) << 3; |
bh | 348 | fs/ext2/balloc.c | k = find_next_zero_bit ((unsigned long *) bh->b_data, |
bh | 376 | fs/ext2/balloc.c | bh = sb->u.ext2_sb.s_block_bitmap[bitmap_nr]; |
bh | 377 | fs/ext2/balloc.c | r = memscan(bh->b_data, 0, EXT2_BLOCKS_PER_GROUP(sb) >> 3); |
bh | 378 | fs/ext2/balloc.c | j = (r - bh->b_data) << 3; |
bh | 382 | fs/ext2/balloc.c | j = find_first_zero_bit ((unsigned long *) bh->b_data, |
bh | 397 | fs/ext2/balloc.c | for (k = 0; k < 7 && j > 0 && !test_bit (j - 1, bh->b_data); k++, j--); |
bh | 423 | fs/ext2/balloc.c | if (set_bit (j, bh->b_data)) { |
bh | 445 | fs/ext2/balloc.c | if (set_bit (j + k, bh->b_data)) { |
bh | 461 | fs/ext2/balloc.c | mark_buffer_dirty(bh, 1); |
bh | 463 | fs/ext2/balloc.c | ll_rw_block (WRITE, 1, &bh); |
bh | 464 | fs/ext2/balloc.c | wait_on_buffer (bh); |
bh | 474 | fs/ext2/balloc.c | if (!(bh = getblk (sb->s_dev, j, sb->s_blocksize))) { |
bh | 479 | fs/ext2/balloc.c | memset(bh->b_data, 0, sb->s_blocksize); |
bh | 480 | fs/ext2/balloc.c | mark_buffer_uptodate(bh, 1); |
bh | 481 | fs/ext2/balloc.c | mark_buffer_dirty(bh, 1); |
bh | 482 | fs/ext2/balloc.c | brelse (bh); |
bh | 540 | fs/ext2/balloc.c | struct buffer_head * bh; |
bh | 559 | fs/ext2/balloc.c | bh = sb->u.ext2_sb.s_block_bitmap[bitmap_nr]; |
bh | 561 | fs/ext2/balloc.c | if (!test_bit (0, bh->b_data)) |
bh | 566 | fs/ext2/balloc.c | if (!test_bit (j + 1, bh->b_data)) |
bh | 571 | fs/ext2/balloc.c | if (!block_in_use (gdp->bg_block_bitmap, sb, bh->b_data)) |
bh | 576 | fs/ext2/balloc.c | if (!block_in_use (gdp->bg_inode_bitmap, sb, bh->b_data)) |
bh | 582 | fs/ext2/balloc.c | if (!block_in_use (gdp->bg_inode_table + j, sb, bh->b_data)) |
bh | 587 | fs/ext2/balloc.c | x = ext2_count_free (bh, sb->s_blocksize); |
bh | 75 | fs/ext2/dir.c | struct ext2_dir_entry * de, struct buffer_head * bh, |
bh | 86 | fs/ext2/dir.c | else if (dir && ((char *) de - bh->b_data) + de->rec_len > |
bh | 106 | fs/ext2/dir.c | struct buffer_head * bh, * tmp, * bha[16]; |
bh | 116 | fs/ext2/dir.c | bh = NULL; |
bh | 121 | fs/ext2/dir.c | bh = ext2_bread (inode, blk, 0, &err); |
bh | 122 | fs/ext2/dir.c | if (!bh) { |
bh | 157 | fs/ext2/dir.c | (bh->b_data + i); |
bh | 176 | fs/ext2/dir.c | de = (struct ext2_dir_entry *) (bh->b_data + offset); |
bh | 178 | fs/ext2/dir.c | bh, offset)) { |
bh | 183 | fs/ext2/dir.c | brelse (bh); |
bh | 207 | fs/ext2/dir.c | brelse (bh); |
bh | 92 | fs/ext2/file.c | struct buffer_head * bh, *bufferlist[NBUF]; |
bh | 137 | fs/ext2/file.c | bh = ext2_getblk (inode, block, 1, &err); |
bh | 138 | fs/ext2/file.c | if (!bh) { |
bh | 146 | fs/ext2/file.c | if (c != sb->s_blocksize && !buffer_uptodate(bh)) { |
bh | 147 | fs/ext2/file.c | ll_rw_block (READ, 1, &bh); |
bh | 148 | fs/ext2/file.c | wait_on_buffer (bh); |
bh | 149 | fs/ext2/file.c | if (!buffer_uptodate(bh)) { |
bh | 150 | fs/ext2/file.c | brelse (bh); |
bh | 156 | fs/ext2/file.c | memcpy_fromfs (bh->b_data + offset, buf, c); |
bh | 157 | fs/ext2/file.c | update_vm_cache(inode, pos, bh->b_data + offset, c); |
bh | 162 | fs/ext2/file.c | mark_buffer_uptodate(bh, 1); |
bh | 163 | fs/ext2/file.c | mark_buffer_dirty(bh, 0); |
bh | 165 | fs/ext2/file.c | bufferlist[buffercount++] = bh; |
bh | 167 | fs/ext2/file.c | brelse(bh); |
bh | 32 | fs/ext2/fsync.c | struct buffer_head * bh; |
bh | 38 | fs/ext2/fsync.c | bh = get_hash_table (inode->i_dev, *block, blocksize); |
bh | 39 | fs/ext2/fsync.c | if (!bh) |
bh | 42 | fs/ext2/fsync.c | brelse (bh); |
bh | 45 | fs/ext2/fsync.c | if (wait && buffer_req(bh) && !buffer_uptodate(bh)) { |
bh | 46 | fs/ext2/fsync.c | brelse (bh); |
bh | 49 | fs/ext2/fsync.c | if (wait || !buffer_uptodate(bh) || !buffer_dirty(bh)) { |
bh | 50 | fs/ext2/fsync.c | brelse (bh); |
bh | 53 | fs/ext2/fsync.c | ll_rw_block (WRITE, 1, &bh); |
bh | 54 | fs/ext2/fsync.c | bh->b_count--; |
bh | 59 | fs/ext2/fsync.c | struct buffer_head ** bh, int wait) |
bh | 63 | fs/ext2/fsync.c | *bh = NULL; |
bh | 70 | fs/ext2/fsync.c | *bh = bread (inode->i_dev, tmp, blocksize); |
bh | 72 | fs/ext2/fsync.c | brelse (*bh); |
bh | 73 | fs/ext2/fsync.c | *bh = NULL; |
bh | 76 | fs/ext2/fsync.c | if (!*bh) |
bh | 39 | fs/ext2/ialloc.c | struct buffer_head ** bh) |
bh | 60 | fs/ext2/ialloc.c | if (bh) |
bh | 61 | fs/ext2/ialloc.c | *bh = sb->u.ext2_sb.s_group_desc[group_desc]; |
bh | 70 | fs/ext2/ialloc.c | struct buffer_head * bh; |
bh | 73 | fs/ext2/ialloc.c | bh = bread (sb->s_dev, gdp->bg_inode_bitmap, sb->s_blocksize); |
bh | 74 | fs/ext2/ialloc.c | if (!bh) |
bh | 80 | fs/ext2/ialloc.c | sb->u.ext2_sb.s_inode_bitmap[bitmap_nr] = bh; |
bh | 163 | fs/ext2/ialloc.c | struct buffer_head * bh; |
bh | 169 | fs/ext2/ialloc.c | bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize); |
bh | 170 | fs/ext2/ialloc.c | if (!bh) |
bh | 175 | fs/ext2/ialloc.c | raw_inode = ((struct ext2_inode *) bh->b_data) + |
bh | 181 | fs/ext2/ialloc.c | mark_buffer_dirty(bh, 1); |
bh | 183 | fs/ext2/ialloc.c | ll_rw_block (WRITE, 1, &bh); |
bh | 184 | fs/ext2/ialloc.c | wait_on_buffer (bh); |
bh | 186 | fs/ext2/ialloc.c | brelse (bh); |
bh | 192 | fs/ext2/ialloc.c | struct buffer_head * bh; |
bh | 236 | fs/ext2/ialloc.c | bh = sb->u.ext2_sb.s_inode_bitmap[bitmap_nr]; |
bh | 237 | fs/ext2/ialloc.c | if (!clear_bit (bit, bh->b_data)) |
bh | 251 | fs/ext2/ialloc.c | mark_buffer_dirty(bh, 1); |
bh | 253 | fs/ext2/ialloc.c | ll_rw_block (WRITE, 1, &bh); |
bh | 254 | fs/ext2/ialloc.c | wait_on_buffer (bh); |
bh | 273 | fs/ext2/ialloc.c | struct buffer_head * bh; |
bh | 279 | fs/ext2/ialloc.c | bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize); |
bh | 280 | fs/ext2/ialloc.c | if (!bh) { |
bh | 288 | fs/ext2/ialloc.c | raw_inode = ((struct ext2_inode *) bh->b_data) + |
bh | 294 | fs/ext2/ialloc.c | mark_buffer_dirty(bh, 1); |
bh | 295 | fs/ext2/ialloc.c | brelse (bh); |
bh | 311 | fs/ext2/ialloc.c | struct buffer_head * bh; |
bh | 411 | fs/ext2/ialloc.c | bh = sb->u.ext2_sb.s_inode_bitmap[bitmap_nr]; |
bh | 412 | fs/ext2/ialloc.c | if ((j = find_first_zero_bit ((unsigned long *) bh->b_data, |
bh | 415 | fs/ext2/ialloc.c | if (set_bit (j, bh->b_data)) { |
bh | 420 | fs/ext2/ialloc.c | mark_buffer_dirty(bh, 1); |
bh | 422 | fs/ext2/ialloc.c | ll_rw_block (WRITE, 1, &bh); |
bh | 423 | fs/ext2/ialloc.c | wait_on_buffer (bh); |
bh | 44 | fs/ext2/inode.c | static inline int block_bmap (struct buffer_head * bh, int nr) |
bh | 48 | fs/ext2/inode.c | if (!bh) |
bh | 50 | fs/ext2/inode.c | tmp = ((u32 *) bh->b_data)[nr]; |
bh | 51 | fs/ext2/inode.c | brelse (bh); |
bh | 81 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 98 | fs/ext2/inode.c | if (!(bh = getblk (inode->i_sb->s_dev, result, |
bh | 104 | fs/ext2/inode.c | memset(bh->b_data, 0, inode->i_sb->s_blocksize); |
bh | 105 | fs/ext2/inode.c | mark_buffer_uptodate(bh, 1); |
bh | 106 | fs/ext2/inode.c | mark_buffer_dirty(bh, 1); |
bh | 107 | fs/ext2/inode.c | brelse (bh); |
bh | 249 | fs/ext2/inode.c | struct buffer_head * bh, int nr, |
bh | 258 | fs/ext2/inode.c | if (!bh) |
bh | 260 | fs/ext2/inode.c | if (!buffer_uptodate(bh)) { |
bh | 261 | fs/ext2/inode.c | ll_rw_block (READ, 1, &bh); |
bh | 262 | fs/ext2/inode.c | wait_on_buffer (bh); |
bh | 263 | fs/ext2/inode.c | if (!buffer_uptodate(bh)) { |
bh | 264 | fs/ext2/inode.c | brelse (bh); |
bh | 268 | fs/ext2/inode.c | p = (u32 *) bh->b_data + nr; |
bh | 272 | fs/ext2/inode.c | result = getblk (bh->b_dev, tmp, blocksize); |
bh | 274 | fs/ext2/inode.c | brelse (bh); |
bh | 283 | fs/ext2/inode.c | brelse (bh); |
bh | 291 | fs/ext2/inode.c | if (((u32 *) bh->b_data)[tmp]) { |
bh | 292 | fs/ext2/inode.c | goal = ((u32 *)bh->b_data)[tmp]; |
bh | 297 | fs/ext2/inode.c | goal = bh->b_blocknr; |
bh | 301 | fs/ext2/inode.c | brelse (bh); |
bh | 304 | fs/ext2/inode.c | result = getblk (bh->b_dev, tmp, blocksize); |
bh | 311 | fs/ext2/inode.c | mark_buffer_dirty(bh, 1); |
bh | 313 | fs/ext2/inode.c | ll_rw_block (WRITE, 1, &bh); |
bh | 314 | fs/ext2/inode.c | wait_on_buffer (bh); |
bh | 321 | fs/ext2/inode.c | brelse (bh); |
bh | 325 | fs/ext2/inode.c | static int block_getcluster (struct inode * inode, struct buffer_head * bh, |
bh | 336 | fs/ext2/inode.c | if(!bh) return 0; |
bh | 343 | fs/ext2/inode.c | p = (u32 *) bh->b_data + nr + i; |
bh | 353 | fs/ext2/inode.c | p = (u32 *) bh->b_data + nr; |
bh | 354 | fs/ext2/inode.c | result = generate_cluster(bh->b_dev, (int *) p, blocksize); |
bh | 357 | fs/ext2/inode.c | brelse(bh); |
bh | 364 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 401 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_IND_BLOCK, create, b, err); |
bh | 402 | fs/ext2/inode.c | return block_getblk (inode, bh, block, create, |
bh | 407 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_DIND_BLOCK, create, b, err); |
bh | 408 | fs/ext2/inode.c | bh = block_getblk (inode, bh, block >> addr_per_block_bits, |
bh | 410 | fs/ext2/inode.c | return block_getblk (inode, bh, block & (addr_per_block - 1), |
bh | 414 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_TIND_BLOCK, create, b, err); |
bh | 415 | fs/ext2/inode.c | bh = block_getblk (inode, bh, block >> (addr_per_block_bits * 2), |
bh | 417 | fs/ext2/inode.c | bh = block_getblk (inode, bh, (block >> addr_per_block_bits) & (addr_per_block - 1), |
bh | 419 | fs/ext2/inode.c | return block_getblk (inode, bh, block & (addr_per_block - 1), create, |
bh | 425 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 451 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_IND_BLOCK, create, b, &err); |
bh | 452 | fs/ext2/inode.c | return block_getcluster (inode, bh, block, |
bh | 457 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_DIND_BLOCK, create, b, &err); |
bh | 458 | fs/ext2/inode.c | bh = block_getblk (inode, bh, block >> addr_per_block_bits, |
bh | 460 | fs/ext2/inode.c | return block_getcluster (inode, bh, block & (addr_per_block - 1), |
bh | 464 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_TIND_BLOCK, create, b, &err); |
bh | 465 | fs/ext2/inode.c | bh = block_getblk (inode, bh, block >> (addr_per_block_bits * 2), |
bh | 467 | fs/ext2/inode.c | bh = block_getblk (inode, bh, (block >> addr_per_block_bits) & (addr_per_block - 1), |
bh | 469 | fs/ext2/inode.c | return block_getcluster (inode, bh, block & (addr_per_block - 1), |
bh | 476 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 478 | fs/ext2/inode.c | bh = ext2_getblk (inode, block, create, err); |
bh | 479 | fs/ext2/inode.c | if (!bh || buffer_uptodate(bh)) |
bh | 480 | fs/ext2/inode.c | return bh; |
bh | 481 | fs/ext2/inode.c | ll_rw_block (READ, 1, &bh); |
bh | 482 | fs/ext2/inode.c | wait_on_buffer (bh); |
bh | 483 | fs/ext2/inode.c | if (buffer_uptodate(bh)) |
bh | 484 | fs/ext2/inode.c | return bh; |
bh | 485 | fs/ext2/inode.c | brelse (bh); |
bh | 492 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 513 | fs/ext2/inode.c | bh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc]; |
bh | 514 | fs/ext2/inode.c | if (!bh) |
bh | 517 | fs/ext2/inode.c | gdp = (struct ext2_group_desc *) bh->b_data; |
bh | 521 | fs/ext2/inode.c | if (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize))) |
bh | 525 | fs/ext2/inode.c | raw_inode = ((struct ext2_inode *) bh->b_data) + |
bh | 557 | fs/ext2/inode.c | brelse (bh); |
bh | 584 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 604 | fs/ext2/inode.c | bh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc]; |
bh | 605 | fs/ext2/inode.c | if (!bh) |
bh | 608 | fs/ext2/inode.c | gdp = (struct ext2_group_desc *) bh->b_data; |
bh | 612 | fs/ext2/inode.c | if (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize))) |
bh | 616 | fs/ext2/inode.c | raw_inode = ((struct ext2_inode *)bh->b_data) + |
bh | 639 | fs/ext2/inode.c | mark_buffer_dirty(bh, 1); |
bh | 641 | fs/ext2/inode.c | return bh; |
bh | 646 | fs/ext2/inode.c | struct buffer_head * bh; |
bh | 647 | fs/ext2/inode.c | bh = ext2_update_inode (inode); |
bh | 648 | fs/ext2/inode.c | brelse (bh); |
bh | 654 | fs/ext2/inode.c | struct buffer_head *bh; |
bh | 656 | fs/ext2/inode.c | bh = ext2_update_inode (inode); |
bh | 657 | fs/ext2/inode.c | if (bh && buffer_dirty(bh)) |
bh | 659 | fs/ext2/inode.c | ll_rw_block (WRITE, 1, &bh); |
bh | 660 | fs/ext2/inode.c | wait_on_buffer (bh); |
bh | 661 | fs/ext2/inode.c | if (buffer_req(bh) && !buffer_uptodate(bh)) |
bh | 669 | fs/ext2/inode.c | else if (!bh) |
bh | 671 | fs/ext2/inode.c | brelse (bh); |
bh | 94 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 98 | fs/ext2/namei.c | bh = ext2_getblk (dir, block, 0, &err); |
bh | 99 | fs/ext2/namei.c | bh_use[block] = bh; |
bh | 100 | fs/ext2/namei.c | if (bh && !buffer_uptodate(bh)) |
bh | 101 | fs/ext2/namei.c | bh_read[toread++] = bh; |
bh | 105 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 113 | fs/ext2/namei.c | bh = bh_use[block % NAMEI_RA_SIZE]; |
bh | 114 | fs/ext2/namei.c | if (!bh) { |
bh | 121 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 122 | fs/ext2/namei.c | if (!buffer_uptodate(bh)) { |
bh | 129 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 130 | fs/ext2/namei.c | dlimit = bh->b_data + sb->s_blocksize; |
bh | 133 | fs/ext2/namei.c | de, bh, offset)) |
bh | 137 | fs/ext2/namei.c | if (bh_use[i] != bh) |
bh | 141 | fs/ext2/namei.c | return bh; |
bh | 148 | fs/ext2/namei.c | brelse (bh); |
bh | 151 | fs/ext2/namei.c | bh = NULL; |
bh | 153 | fs/ext2/namei.c | bh = ext2_getblk (dir, block + NAMEI_RA_SIZE, 0, &err); |
bh | 154 | fs/ext2/namei.c | bh_use[block % NAMEI_RA_SIZE] = bh; |
bh | 155 | fs/ext2/namei.c | if (bh && !buffer_uptodate(bh)) |
bh | 156 | fs/ext2/namei.c | bh_read[toread++] = bh; |
bh | 170 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 192 | fs/ext2/namei.c | if (!(bh = ext2_find_entry (dir, name, len, &de))) { |
bh | 200 | fs/ext2/namei.c | brelse (bh); |
bh | 226 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 252 | fs/ext2/namei.c | bh = ext2_bread (dir, 0, 0, err); |
bh | 253 | fs/ext2/namei.c | if (!bh) |
bh | 257 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 260 | fs/ext2/namei.c | if ((char *)de >= sb->s_blocksize + bh->b_data) { |
bh | 261 | fs/ext2/namei.c | brelse (bh); |
bh | 262 | fs/ext2/namei.c | bh = NULL; |
bh | 263 | fs/ext2/namei.c | bh = ext2_bread (dir, offset >> EXT2_BLOCK_SIZE_BITS(sb), 1, err); |
bh | 264 | fs/ext2/namei.c | if (!bh) |
bh | 274 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 283 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 286 | fs/ext2/namei.c | if (!ext2_check_dir_entry ("ext2_add_entry", dir, de, bh, |
bh | 289 | fs/ext2/namei.c | brelse (bh); |
bh | 294 | fs/ext2/namei.c | brelse (bh); |
bh | 325 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 328 | fs/ext2/namei.c | return bh; |
bh | 333 | fs/ext2/namei.c | brelse (bh); |
bh | 342 | fs/ext2/namei.c | struct buffer_head * bh) |
bh | 349 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 350 | fs/ext2/namei.c | while (i < bh->b_size) { |
bh | 352 | fs/ext2/namei.c | de, bh, i)) |
bh | 371 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 386 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
bh | 387 | fs/ext2/namei.c | if (!bh) { |
bh | 397 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 399 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 400 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 402 | fs/ext2/namei.c | brelse (bh); |
bh | 412 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 418 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
bh | 419 | fs/ext2/namei.c | if (bh) { |
bh | 420 | fs/ext2/namei.c | brelse (bh); |
bh | 450 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
bh | 451 | fs/ext2/namei.c | if (!bh) { |
bh | 461 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 463 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 464 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 466 | fs/ext2/namei.c | brelse (bh); |
bh | 475 | fs/ext2/namei.c | struct buffer_head * bh, * dir_block; |
bh | 481 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
bh | 482 | fs/ext2/namei.c | if (bh) { |
bh | 483 | fs/ext2/namei.c | brelse (bh); |
bh | 524 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
bh | 525 | fs/ext2/namei.c | if (!bh) { |
bh | 535 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 537 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 538 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 544 | fs/ext2/namei.c | brelse (bh); |
bh | 554 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 561 | fs/ext2/namei.c | !(bh = ext2_bread (inode, 0, 0, &err))) { |
bh | 567 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 579 | fs/ext2/namei.c | if ((void *) de >= (void *) (bh->b_data + sb->s_blocksize)) { |
bh | 580 | fs/ext2/namei.c | brelse (bh); |
bh | 581 | fs/ext2/namei.c | bh = ext2_bread (inode, offset >> EXT2_BLOCK_SIZE_BITS(sb), 1, &err); |
bh | 582 | fs/ext2/namei.c | if (!bh) { |
bh | 589 | fs/ext2/namei.c | de = (struct ext2_dir_entry *) bh->b_data; |
bh | 591 | fs/ext2/namei.c | if (!ext2_check_dir_entry ("empty_dir", inode, de, bh, |
bh | 593 | fs/ext2/namei.c | brelse (bh); |
bh | 597 | fs/ext2/namei.c | brelse (bh); |
bh | 603 | fs/ext2/namei.c | brelse (bh); |
bh | 611 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 618 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
bh | 620 | fs/ext2/namei.c | if (!bh) |
bh | 631 | fs/ext2/namei.c | brelse(bh); |
bh | 662 | fs/ext2/namei.c | retval = ext2_delete_entry (de, bh); |
bh | 668 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 670 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 671 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 686 | fs/ext2/namei.c | brelse (bh); |
bh | 694 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 702 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
bh | 703 | fs/ext2/namei.c | if (!bh) |
bh | 716 | fs/ext2/namei.c | brelse(bh); |
bh | 731 | fs/ext2/namei.c | retval = ext2_delete_entry (de, bh); |
bh | 735 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 737 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 738 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 747 | fs/ext2/namei.c | brelse (bh); |
bh | 758 | fs/ext2/namei.c | struct buffer_head * bh = NULL, * name_block = NULL; |
bh | 803 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
bh | 804 | fs/ext2/namei.c | if (bh) { |
bh | 808 | fs/ext2/namei.c | brelse (bh); |
bh | 812 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
bh | 813 | fs/ext2/namei.c | if (!bh) { |
bh | 823 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 825 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 826 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 828 | fs/ext2/namei.c | brelse (bh); |
bh | 838 | fs/ext2/namei.c | struct buffer_head * bh; |
bh | 856 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
bh | 857 | fs/ext2/namei.c | if (bh) { |
bh | 858 | fs/ext2/namei.c | brelse (bh); |
bh | 863 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
bh | 864 | fs/ext2/namei.c | if (!bh) { |
bh | 872 | fs/ext2/namei.c | mark_buffer_dirty(bh, 1); |
bh | 874 | fs/ext2/namei.c | ll_rw_block (WRITE, 1, &bh); |
bh | 875 | fs/ext2/namei.c | wait_on_buffer (bh); |
bh | 877 | fs/ext2/namei.c | brelse (bh); |
bh | 368 | fs/ext2/super.c | struct buffer_head * bh; |
bh | 388 | fs/ext2/super.c | if (!(bh = bread (dev, sb_block, BLOCK_SIZE))) { |
bh | 399 | fs/ext2/super.c | es = (struct ext2_super_block *) bh->b_data; |
bh | 405 | fs/ext2/super.c | brelse (bh); |
bh | 418 | fs/ext2/super.c | brelse (bh); |
bh | 422 | fs/ext2/super.c | bh = bread (dev, logic_sb_block, sb->s_blocksize); |
bh | 423 | fs/ext2/super.c | if(!bh) { |
bh | 427 | fs/ext2/super.c | es = (struct ext2_super_block *) (((char *)bh->b_data) + offset); |
bh | 432 | fs/ext2/super.c | brelse (bh); |
bh | 454 | fs/ext2/super.c | sb->u.ext2_sb.s_sbh = bh; |
bh | 475 | fs/ext2/super.c | brelse (bh); |
bh | 483 | fs/ext2/super.c | if (sb->s_blocksize != bh->b_size) { |
bh | 486 | fs/ext2/super.c | brelse (bh); |
bh | 497 | fs/ext2/super.c | brelse (bh); |
bh | 507 | fs/ext2/super.c | brelse (bh); |
bh | 516 | fs/ext2/super.c | brelse (bh); |
bh | 525 | fs/ext2/super.c | brelse (bh); |
bh | 542 | fs/ext2/super.c | brelse (bh); |
bh | 557 | fs/ext2/super.c | brelse (bh); |
bh | 570 | fs/ext2/super.c | brelse (bh); |
bh | 597 | fs/ext2/super.c | brelse (bh); |
bh | 58 | fs/ext2/symlink.c | struct buffer_head * bh = NULL; |
bh | 81 | fs/ext2/symlink.c | if (!(bh = ext2_bread (inode, 0, 0, &error))) { |
bh | 86 | fs/ext2/symlink.c | link = bh->b_data; |
bh | 97 | fs/ext2/symlink.c | if (bh) |
bh | 98 | fs/ext2/symlink.c | brelse (bh); |
bh | 104 | fs/ext2/symlink.c | struct buffer_head * bh = NULL; |
bh | 116 | fs/ext2/symlink.c | bh = ext2_bread (inode, 0, 0, &err); |
bh | 117 | fs/ext2/symlink.c | if (!bh) { |
bh | 121 | fs/ext2/symlink.c | link = bh->b_data; |
bh | 135 | fs/ext2/symlink.c | if (bh) |
bh | 136 | fs/ext2/symlink.c | brelse (bh); |
bh | 63 | fs/ext2/truncate.c | struct buffer_head * bh; |
bh | 78 | fs/ext2/truncate.c | bh = get_hash_table (inode->i_dev, tmp, |
bh | 81 | fs/ext2/truncate.c | brelse (bh); |
bh | 84 | fs/ext2/truncate.c | if ((bh && bh->b_count != 1) || tmp != *p) { |
bh | 86 | fs/ext2/truncate.c | brelse (bh); |
bh | 92 | fs/ext2/truncate.c | bforget(bh); |
bh | 113 | fs/ext2/truncate.c | struct buffer_head * bh; |
bh | 146 | fs/ext2/truncate.c | bh = get_hash_table (inode->i_dev, tmp, |
bh | 149 | fs/ext2/truncate.c | brelse (bh); |
bh | 152 | fs/ext2/truncate.c | if ((bh && bh->b_count != 1) || tmp != *ind) { |
bh | 154 | fs/ext2/truncate.c | brelse (bh); |
bh | 159 | fs/ext2/truncate.c | bforget(bh); |
bh | 320 | fs/ext2/truncate.c | struct buffer_head * bh; |
bh | 353 | fs/ext2/truncate.c | bh = ext2_bread (inode, |
bh | 356 | fs/ext2/truncate.c | if (bh) { |
bh | 357 | fs/ext2/truncate.c | memset (bh->b_data + offset, 0, |
bh | 359 | fs/ext2/truncate.c | mark_buffer_dirty (bh, 0); |
bh | 360 | fs/ext2/truncate.c | brelse (bh); |
bh | 87 | fs/fat/buffer.c | struct buffer_head *bh) |
bh | 89 | fs/fat/buffer.c | if (bh != NULL){ |
bh | 91 | fs/fat/buffer.c | brelse (bh); |
bh | 93 | fs/fat/buffer.c | brelse (bh->b_next); |
bh | 97 | fs/fat/buffer.c | kfree (bh); |
bh | 104 | fs/fat/buffer.c | struct buffer_head *bh, |
bh | 108 | fs/fat/buffer.c | bh = bh->b_next; |
bh | 110 | fs/fat/buffer.c | mark_buffer_dirty (bh,dirty_val); |
bh | 115 | fs/fat/buffer.c | struct buffer_head *bh, |
bh | 119 | fs/fat/buffer.c | bh = bh->b_next; |
bh | 121 | fs/fat/buffer.c | mark_buffer_uptodate(bh, val); |
bh | 125 | fs/fat/buffer.c | struct buffer_head *bh) |
bh | 128 | fs/fat/buffer.c | bh = bh->b_next; |
bh | 130 | fs/fat/buffer.c | return buffer_uptodate(bh); |
bh | 137 | fs/fat/buffer.c | struct buffer_head *bh[32]) |
bh | 140 | fs/fat/buffer.c | ll_rw_block(opr,nbreq,bh); |
bh | 145 | fs/fat/buffer.c | tmp[i] = bh[i]->b_next; |
bh | 22 | fs/fat/cache.c | struct buffer_head *bh,*bh2,*c_bh,*c_bh2; |
bh | 32 | fs/fat/cache.c | if (!(bh = bread(sb->s_dev,MSDOS_SB(sb)->fat_start+(first >> |
bh | 38 | fs/fat/cache.c | bh2 = bh; |
bh | 42 | fs/fat/cache.c | brelse(bh); |
bh | 49 | fs/fat/cache.c | next = CF_LE_W(((unsigned short *) bh->b_data)[(first & |
bh | 54 | fs/fat/cache.c | p_first = &((unsigned char *) bh->b_data)[first & (SECTOR_SIZE-1)]; |
bh | 63 | fs/fat/cache.c | ((unsigned short *) bh->b_data)[(first & (SECTOR_SIZE-1)) >> |
bh | 76 | fs/fat/cache.c | mark_buffer_dirty(bh, 1); |
bh | 81 | fs/fat/cache.c | memcpy(c_bh->b_data,bh->b_data,SECTOR_SIZE); |
bh | 83 | fs/fat/cache.c | if (bh != bh2) { |
bh | 97 | fs/fat/cache.c | brelse(bh); |
bh | 98 | fs/fat/cache.c | if (bh != bh2) brelse(bh2); |
bh | 107 | fs/fat/dir.c | struct buffer_head *bh; |
bh | 135 | fs/fat/dir.c | bh = NULL; |
bh | 138 | fs/fat/dir.c | ino = fat_get_entry(inode,&filp->f_pos,&bh,&de); |
bh | 201 | fs/fat/dir.c | ino = fat_get_entry(inode,&filp->f_pos,&bh,&de); |
bh | 296 | fs/fat/dir.c | ino = fat_get_entry(inode,&filp->f_pos,&bh,&de); |
bh | 298 | fs/fat/dir.c | if (bh) brelse(bh); |
bh | 136 | fs/fat/file.c | struct buffer_head *bh; |
bh | 139 | fs/fat/file.c | bh = getblk(inode->i_dev,sector,SECTOR_SIZE); |
bh | 140 | fs/fat/file.c | if (bh == NULL) break; |
bh | 141 | fs/fat/file.c | pre->bhlist[pre->nblist++] = bh; |
bh | 142 | fs/fat/file.c | if (!fat_is_uptodate(sb,bh)) bhreq[nbreq++] = bh; |
bh | 215 | fs/fat/file.c | struct buffer_head *bh = pre.bhlist[pre.nolist]; |
bh | 218 | fs/fat/file.c | if (bh == NULL) break; |
bh | 229 | fs/fat/file.c | wait_on_buffer(bh); |
bh | 230 | fs/fat/file.c | if (!fat_is_uptodate(sb,bh)){ |
bh | 232 | fs/fat/file.c | brelse (bh); |
bh | 236 | fs/fat/file.c | data = bh->b_data + offset; |
bh | 255 | fs/fat/file.c | brelse(bh); |
bh | 279 | fs/fat/file.c | struct buffer_head *bh; |
bh | 316 | fs/fat/file.c | if (!(bh = getblk(inode->i_dev,sector,SECTOR_SIZE))){ |
bh | 320 | fs/fat/file.c | }else if (!(bh = bread(inode->i_dev,sector,SECTOR_SIZE))) { |
bh | 325 | fs/fat/file.c | memcpy_fromfs(bh->b_data+offset,buf,written = size); |
bh | 330 | fs/fat/file.c | to = (char *) bh->b_data+(filp->f_pos & (SECTOR_SIZE-1)); |
bh | 349 | fs/fat/file.c | update_vm_cache(inode, filp->f_pos, bh->b_data + (filp->f_pos & (SECTOR_SIZE-1)), written); |
bh | 355 | fs/fat/file.c | fat_set_uptodate(sb,bh,1); |
bh | 356 | fs/fat/file.c | mark_buffer_dirty(bh, 0); |
bh | 357 | fs/fat/file.c | brelse(bh); |
bh | 191 | fs/fat/inode.c | struct buffer_head *bh; |
bh | 216 | fs/fat/inode.c | bh = bread(sb->s_dev, 0, 1024); |
bh | 218 | fs/fat/inode.c | if (bh == NULL || !fat_is_uptodate(sb,bh)) { |
bh | 219 | fs/fat/inode.c | brelse (bh); |
bh | 225 | fs/fat/inode.c | b = (struct msdos_boot_sector *) bh->b_data; |
bh | 274 | fs/fat/inode.c | brelse(bh); |
bh | 382 | fs/fat/inode.c | struct buffer_head *bh; |
bh | 411 | fs/fat/inode.c | if (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS, |
bh | 417 | fs/fat/inode.c | raw_entry = &((struct msdos_dir_entry *) (bh->b_data)) |
bh | 474 | fs/fat/inode.c | brelse(bh); |
bh | 481 | fs/fat/inode.c | struct buffer_head *bh; |
bh | 509 | fs/fat/inode.c | if (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS, |
bh | 515 | fs/fat/inode.c | raw_entry = &((struct msdos_dir_entry *) (bh->b_data)) |
bh | 536 | fs/fat/inode.c | mark_buffer_dirty(bh, 1); |
bh | 537 | fs/fat/inode.c | brelse(bh); |
bh | 120 | fs/fat/misc.c | struct buffer_head *bh; |
bh | 194 | fs/fat/misc.c | if (!(bh = getblk(inode->i_dev,sector,SECTOR_SIZE))) |
bh | 197 | fs/fat/misc.c | memset(bh->b_data,0,SECTOR_SIZE); |
bh | 198 | fs/fat/misc.c | fat_set_uptodate(sb,bh,1); |
bh | 199 | fs/fat/misc.c | mark_buffer_dirty(bh, 1); |
bh | 200 | fs/fat/misc.c | brelse(bh); |
bh | 283 | fs/fat/misc.c | int fat_get_entry(struct inode *dir, loff_t *pos,struct buffer_head **bh, |
bh | 294 | fs/fat/misc.c | PRINTK (("get_entry sector %d %p\n",sector,*bh)); |
bh | 298 | fs/fat/misc.c | if (*bh) |
bh | 299 | fs/fat/misc.c | brelse(*bh); |
bh | 301 | fs/fat/misc.c | if (!(*bh = bread(dir->i_dev,sector,SECTOR_SIZE))) { |
bh | 306 | fs/fat/misc.c | *de = (struct msdos_dir_entry *) ((*bh)->b_data+(offset & |
bh | 370 | fs/fat/misc.c | struct buffer_head *bh; |
bh | 375 | fs/fat/misc.c | if (!(bh = bread(sb->s_dev,sector,SECTOR_SIZE))) return -EIO; |
bh | 376 | fs/fat/misc.c | data = (struct msdos_dir_entry *) bh->b_data; |
bh | 396 | fs/fat/misc.c | if (!res_bh) brelse(bh); |
bh | 398 | fs/fat/misc.c | *res_bh = bh; |
bh | 404 | fs/fat/misc.c | brelse(bh); |
bh | 4 | fs/fat/msbuffer.h | void fat_brelse (struct super_block *sb, struct buffer_head *bh); |
bh | 6 | fs/fat/msbuffer.h | struct buffer_head *bh, |
bh | 9 | fs/fat/msbuffer.h | struct buffer_head *bh, |
bh | 11 | fs/fat/msbuffer.h | int fat_is_uptodate (struct super_block *sb, struct buffer_head *bh); |
bh | 13 | fs/fat/msbuffer.h | int nbreq, struct buffer_head *bh[32]); |
bh | 232 | fs/hpfs/hpfs_fs.c | struct buffer_head *bh[4]; |
bh | 885 | fs/hpfs/hpfs_fs.c | struct buffer_head *bh; |
bh | 917 | fs/hpfs/hpfs_fs.c | block = map_sector(inode->i_dev, hpfs_bmap(inode, q), &bh); |
bh | 945 | fs/hpfs/hpfs_fs.c | brelse(bh); |
bh | 1016 | fs/hpfs/hpfs_fs.c | struct buffer_head *bh; |
bh | 1032 | fs/hpfs/hpfs_fs.c | fnode = map_fnode(inode->i_dev, inode->i_ino, &bh); |
bh | 1036 | fs/hpfs/hpfs_fs.c | file_secno, &bh); |
bh | 1037 | fs/hpfs/hpfs_fs.c | brelse(bh); |
bh | 1592 | fs/hpfs/hpfs_fs.c | struct buffer_head *bh; |
bh | 1596 | fs/hpfs/hpfs_fs.c | fnode = map_fnode(dev, ino, &bh); |
bh | 1601 | fs/hpfs/hpfs_fs.c | brelse(bh); |
bh | 1674 | fs/hpfs/hpfs_fs.c | struct buffer_head *bh; |
bh | 1676 | fs/hpfs/hpfs_fs.c | if ((*bhp = bh = bread(dev, secno, 512)) != 0) |
bh | 1677 | fs/hpfs/hpfs_fs.c | return bh->b_data; |
bh | 1689 | fs/hpfs/hpfs_fs.c | struct buffer_head *bh; |
bh | 1701 | fs/hpfs/hpfs_fs.c | qbh->bh[0] = bh = breada(dev, secno, 512, 0, UINT_MAX); |
bh | 1702 | fs/hpfs/hpfs_fs.c | if (!bh) |
bh | 1704 | fs/hpfs/hpfs_fs.c | memcpy(data, bh->b_data, 512); |
bh | 1706 | fs/hpfs/hpfs_fs.c | qbh->bh[1] = bh = bread(dev, secno + 1, 512); |
bh | 1707 | fs/hpfs/hpfs_fs.c | if (!bh) |
bh | 1709 | fs/hpfs/hpfs_fs.c | memcpy(data + 512, bh->b_data, 512); |
bh | 1711 | fs/hpfs/hpfs_fs.c | qbh->bh[2] = bh = bread(dev, secno + 2, 512); |
bh | 1712 | fs/hpfs/hpfs_fs.c | if (!bh) |
bh | 1714 | fs/hpfs/hpfs_fs.c | memcpy(data + 2 * 512, bh->b_data, 512); |
bh | 1716 | fs/hpfs/hpfs_fs.c | qbh->bh[3] = bh = bread(dev, secno + 3, 512); |
bh | 1717 | fs/hpfs/hpfs_fs.c | if (!bh) |
bh | 1719 | fs/hpfs/hpfs_fs.c | memcpy(data + 3 * 512, bh->b_data, 512); |
bh | 1724 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[2]); |
bh | 1726 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[1]); |
bh | 1728 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[0]); |
bh | 1740 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[3]); |
bh | 1741 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[2]); |
bh | 1742 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[1]); |
bh | 1743 | fs/hpfs/hpfs_fs.c | brelse(qbh->bh[0]); |
bh | 116 | fs/isofs/dir.c | struct buffer_head *bh; |
bh | 128 | fs/isofs/dir.c | if (!(bh = breada(inode->i_dev, block, bufsize, filp->f_pos, inode->i_size))) |
bh | 139 | fs/isofs/dir.c | brelse(bh); |
bh | 144 | fs/isofs/dir.c | bh = breada(inode->i_dev, block, bufsize, filp->f_pos, inode->i_size); |
bh | 145 | fs/isofs/dir.c | if (!bh) |
bh | 150 | fs/isofs/dir.c | de = (struct iso_directory_record *) (bh->b_data + offset); |
bh | 160 | fs/isofs/dir.c | brelse(bh); |
bh | 167 | fs/isofs/dir.c | bh = breada(inode->i_dev, block, bufsize, filp->f_pos, inode->i_size); |
bh | 168 | fs/isofs/dir.c | if (!bh) |
bh | 180 | fs/isofs/dir.c | brelse(bh); |
bh | 184 | fs/isofs/dir.c | bh = breada(inode->i_dev, block, bufsize, filp->f_pos+de_len, inode->i_size); |
bh | 185 | fs/isofs/dir.c | if (!bh) |
bh | 187 | fs/isofs/dir.c | memcpy(bufsize - offset + (char *) tmpde, bh->b_data, next_offset); |
bh | 256 | fs/isofs/dir.c | brelse(bh); |
bh | 199 | fs/isofs/inode.c | struct buffer_head *bh=NULL; |
bh | 257 | fs/isofs/inode.c | if (!(bh = bread(dev, iso_blknum << (ISOFS_BLOCK_BITS-blocksize_bits), opt.blocksize))) { |
bh | 267 | fs/isofs/inode.c | vdp = (struct iso_volume_descriptor *)bh->b_data; |
bh | 268 | fs/isofs/inode.c | hdp = (struct hs_volume_descriptor *)bh->b_data; |
bh | 294 | fs/isofs/inode.c | brelse(bh); |
bh | 355 | fs/isofs/inode.c | brelse(bh); |
bh | 421 | fs/isofs/inode.c | brelse(bh); |
bh | 457 | fs/isofs/inode.c | struct buffer_head * bh; |
bh | 467 | fs/isofs/inode.c | if (!(bh=bread(inode->i_dev,block, bufsize))) { |
bh | 472 | fs/isofs/inode.c | pnt = ((unsigned char *) bh->b_data |
bh | 485 | fs/isofs/inode.c | brelse(bh); |
bh | 488 | fs/isofs/inode.c | memcpy(cpnt, bh->b_data + offset, frag1); |
bh | 489 | fs/isofs/inode.c | brelse(bh); |
bh | 490 | fs/isofs/inode.c | if (!(bh = bread(inode->i_dev,++block, bufsize))) { |
bh | 496 | fs/isofs/inode.c | memcpy((char *)cpnt+frag1, bh->b_data, offset); |
bh | 598 | fs/isofs/inode.c | brelse(bh); |
bh | 681 | fs/isofs/inode.c | struct buffer_head * bh; |
bh | 686 | fs/isofs/inode.c | if (!(bh = bread(parent->i_dev, block, bufsize))) return -1; |
bh | 689 | fs/isofs/inode.c | de = (struct iso_directory_record *) (bh->b_data + offset); |
bh | 692 | fs/isofs/inode.c | brelse(bh); |
bh | 703 | fs/isofs/inode.c | brelse(bh); |
bh | 711 | fs/isofs/inode.c | brelse(bh); |
bh | 724 | fs/isofs/inode.c | if (!block || !(bh = bread(parent->i_dev,block, bufsize))) |
bh | 731 | fs/isofs/inode.c | de = (struct iso_directory_record *) (bh->b_data + offset); |
bh | 740 | fs/isofs/inode.c | brelse(bh); |
bh | 754 | fs/isofs/inode.c | || !(bh = bread(parent->i_dev,block, bufsize))) |
bh | 774 | fs/isofs/inode.c | memcpy(cpnt, bh->b_data + old_offset, frag1); |
bh | 776 | fs/isofs/inode.c | brelse(bh); |
bh | 785 | fs/isofs/inode.c | if(!(bh = bread(parent->i_dev,block,bufsize))) { |
bh | 789 | fs/isofs/inode.c | memcpy((char *)cpnt+frag1, bh->b_data, offset); |
bh | 811 | fs/isofs/inode.c | brelse(bh); |
bh | 841 | fs/isofs/inode.c | void leak_check_brelse(struct buffer_head * bh){ |
bh | 843 | fs/isofs/inode.c | return brelse(bh); |
bh | 67 | fs/isofs/namei.c | struct buffer_head * bh; |
bh | 86 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,bufsize))) return NULL; |
bh | 89 | fs/isofs/namei.c | de = (struct iso_directory_record *) (bh->b_data + offset); |
bh | 97 | fs/isofs/namei.c | brelse(bh); |
bh | 102 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,bufsize))) |
bh | 118 | fs/isofs/namei.c | memcpy(cpnt, bh->b_data + old_offset, frag1); |
bh | 121 | fs/isofs/namei.c | brelse(bh); |
bh | 124 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,bufsize))) { |
bh | 128 | fs/isofs/namei.c | memcpy((char *)cpnt+frag1, bh->b_data, offset); |
bh | 210 | fs/isofs/namei.c | return bh; |
bh | 216 | fs/isofs/namei.c | brelse(bh); |
bh | 224 | fs/isofs/namei.c | struct buffer_head * bh; |
bh | 257 | fs/isofs/namei.c | bh = isofs_find_entry(dir,lcname,len, &ino, &ino_back); |
bh | 260 | fs/isofs/namei.c | bh = isofs_find_entry(dir,name,len, &ino, &ino_back); |
bh | 262 | fs/isofs/namei.c | if (!bh) { |
bh | 268 | fs/isofs/namei.c | brelse(bh); |
bh | 57 | fs/isofs/rock.c | struct buffer_head * bh; \ |
bh | 68 | fs/isofs/rock.c | bh = bread(DEV->i_dev, block++, ISOFS_BUFFER_SIZE(DEV)); \ |
bh | 69 | fs/isofs/rock.c | if(!bh) {printk("Unable to read continuation Rock Ridge record\n"); \ |
bh | 72 | fs/isofs/rock.c | memcpy(buffer, bh->b_data + offset, 1024 - offset); \ |
bh | 73 | fs/isofs/rock.c | brelse(bh); \ |
bh | 79 | fs/isofs/rock.c | bh = bread(DEV->i_dev, block, ISOFS_BUFFER_SIZE(DEV)); \ |
bh | 80 | fs/isofs/rock.c | if(bh){ \ |
bh | 81 | fs/isofs/rock.c | memcpy(buffer + offset1, bh->b_data + offset, cont_size - offset1); \ |
bh | 82 | fs/isofs/rock.c | brelse(bh); \ |
bh | 408 | fs/isofs/rock.c | struct buffer_head * bh; |
bh | 427 | fs/isofs/rock.c | if (!(bh=bread(inode->i_dev,block, bufsize))) { |
bh | 432 | fs/isofs/rock.c | pnt = ((unsigned char *) bh->b_data) + (inode->i_ino & (bufsize - 1)); |
bh | 443 | fs/isofs/rock.c | memcpy(cpnt, bh->b_data + offset, frag1); |
bh | 444 | fs/isofs/rock.c | brelse(bh); |
bh | 445 | fs/isofs/rock.c | if (!(bh = bread(inode->i_dev,++block, bufsize))) { |
bh | 451 | fs/isofs/rock.c | memcpy((char *)cpnt+frag1, bh->b_data, offset); |
bh | 521 | fs/isofs/rock.c | brelse(bh); |
bh | 22 | fs/minix/bitmap.c | struct buffer_head *bh; |
bh | 25 | fs/minix/bitmap.c | if (!(bh=map[i])) |
bh | 28 | fs/minix/bitmap.c | sum += nibblemap[bh->b_data[j] & 0xf] |
bh | 29 | fs/minix/bitmap.c | + nibblemap[(bh->b_data[j]>>4)&0xf]; |
bh | 36 | fs/minix/bitmap.c | struct buffer_head * bh; |
bh | 48 | fs/minix/bitmap.c | bh = get_hash_table(sb->s_dev,block,BLOCK_SIZE); |
bh | 49 | fs/minix/bitmap.c | if (bh) |
bh | 50 | fs/minix/bitmap.c | clear_bit(BH_Dirty, &bh->b_state); |
bh | 51 | fs/minix/bitmap.c | brelse(bh); |
bh | 55 | fs/minix/bitmap.c | bh = sb->u.minix_sb.s_zmap[zone]; |
bh | 56 | fs/minix/bitmap.c | if (!bh) { |
bh | 60 | fs/minix/bitmap.c | if (!clear_bit(bit,bh->b_data)) |
bh | 63 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 69 | fs/minix/bitmap.c | struct buffer_head * bh; |
bh | 79 | fs/minix/bitmap.c | if ((bh=sb->u.minix_sb.s_zmap[i]) != NULL) |
bh | 80 | fs/minix/bitmap.c | if ((j=find_first_zero_bit(bh->b_data, 8192)) < 8192) |
bh | 82 | fs/minix/bitmap.c | if (i>=64 || !bh || j>=8192) |
bh | 84 | fs/minix/bitmap.c | if (set_bit(j,bh->b_data)) { |
bh | 88 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 93 | fs/minix/bitmap.c | if (!(bh = getblk(sb->s_dev,j,BLOCK_SIZE))) { |
bh | 97 | fs/minix/bitmap.c | memset(bh->b_data, 0, BLOCK_SIZE); |
bh | 98 | fs/minix/bitmap.c | mark_buffer_uptodate(bh, 1); |
bh | 99 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 100 | fs/minix/bitmap.c | brelse(bh); |
bh | 112 | fs/minix/bitmap.c | struct buffer_head *bh; |
bh | 125 | fs/minix/bitmap.c | bh = bread(inode->i_dev, block, BLOCK_SIZE); |
bh | 126 | fs/minix/bitmap.c | if (!bh) { |
bh | 130 | fs/minix/bitmap.c | raw_inode = ((struct minix_inode *)bh->b_data + |
bh | 134 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 135 | fs/minix/bitmap.c | return bh; |
bh | 140 | fs/minix/bitmap.c | struct buffer_head *bh; |
bh | 153 | fs/minix/bitmap.c | bh = bread(inode->i_dev, block, BLOCK_SIZE); |
bh | 154 | fs/minix/bitmap.c | if (!bh) { |
bh | 158 | fs/minix/bitmap.c | raw_inode = ((struct minix2_inode *) bh->b_data + |
bh | 162 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 163 | fs/minix/bitmap.c | return bh; |
bh | 170 | fs/minix/bitmap.c | struct buffer_head *bh; |
bh | 172 | fs/minix/bitmap.c | bh = V1_minix_clear_inode(inode); |
bh | 174 | fs/minix/bitmap.c | bh = V2_minix_clear_inode(inode); |
bh | 175 | fs/minix/bitmap.c | brelse (bh); |
bh | 180 | fs/minix/bitmap.c | struct buffer_head * bh; |
bh | 206 | fs/minix/bitmap.c | if (!(bh=inode->i_sb->u.minix_sb.s_imap[ino >> 13])) { |
bh | 212 | fs/minix/bitmap.c | if (!clear_bit(ino & 8191, bh->b_data)) |
bh | 214 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 221 | fs/minix/bitmap.c | struct buffer_head * bh; |
bh | 231 | fs/minix/bitmap.c | if ((bh = inode->i_sb->u.minix_sb.s_imap[i]) != NULL) |
bh | 232 | fs/minix/bitmap.c | if ((j=find_first_zero_bit(bh->b_data, 8192)) < 8192) |
bh | 234 | fs/minix/bitmap.c | if (!bh || j >= 8192) { |
bh | 238 | fs/minix/bitmap.c | if (set_bit(j,bh->b_data)) { /* shouldn't happen */ |
bh | 243 | fs/minix/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 64 | fs/minix/dir.c | struct buffer_head * bh; |
bh | 75 | fs/minix/dir.c | bh = minix_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); |
bh | 76 | fs/minix/dir.c | if (!bh) { |
bh | 81 | fs/minix/dir.c | de = (struct minix_dir_entry *) (offset + bh->b_data); |
bh | 85 | fs/minix/dir.c | brelse(bh); |
bh | 92 | fs/minix/dir.c | brelse(bh); |
bh | 73 | fs/minix/file.c | struct buffer_head * bh; |
bh | 90 | fs/minix/file.c | bh = minix_getblk(inode,pos/BLOCK_SIZE,1); |
bh | 91 | fs/minix/file.c | if (!bh) { |
bh | 99 | fs/minix/file.c | if (c != BLOCK_SIZE && !buffer_uptodate(bh)) { |
bh | 100 | fs/minix/file.c | ll_rw_block(READ, 1, &bh); |
bh | 101 | fs/minix/file.c | wait_on_buffer(bh); |
bh | 102 | fs/minix/file.c | if (!buffer_uptodate(bh)) { |
bh | 103 | fs/minix/file.c | brelse(bh); |
bh | 109 | fs/minix/file.c | p = (pos % BLOCK_SIZE) + bh->b_data; |
bh | 112 | fs/minix/file.c | mark_buffer_uptodate(bh, 1); |
bh | 113 | fs/minix/file.c | mark_buffer_dirty(bh, 0); |
bh | 114 | fs/minix/file.c | brelse(bh); |
bh | 33 | fs/minix/fsync.c | struct buffer_head * bh; |
bh | 39 | fs/minix/fsync.c | bh = get_hash_table(inode->i_dev, *block, blocksize); |
bh | 40 | fs/minix/fsync.c | if (!bh) |
bh | 43 | fs/minix/fsync.c | brelse (bh); |
bh | 46 | fs/minix/fsync.c | if (wait && buffer_req(bh) && !buffer_uptodate(bh)) { |
bh | 47 | fs/minix/fsync.c | brelse(bh); |
bh | 50 | fs/minix/fsync.c | if (wait || !buffer_uptodate(bh) || !buffer_dirty(bh)) |
bh | 52 | fs/minix/fsync.c | brelse(bh); |
bh | 55 | fs/minix/fsync.c | ll_rw_block(WRITE, 1, &bh); |
bh | 56 | fs/minix/fsync.c | bh->b_count--; |
bh | 61 | fs/minix/fsync.c | struct buffer_head **bh, int wait) |
bh | 66 | fs/minix/fsync.c | *bh = NULL; |
bh | 73 | fs/minix/fsync.c | *bh = bread(inode->i_dev, tmp, blocksize); |
bh | 75 | fs/minix/fsync.c | brelse(*bh); |
bh | 76 | fs/minix/fsync.c | *bh = NULL; |
bh | 79 | fs/minix/fsync.c | if (!*bh) |
bh | 170 | fs/minix/fsync.c | struct buffer_head * bh; |
bh | 176 | fs/minix/fsync.c | bh = get_hash_table(inode->i_dev, *block, blocksize); |
bh | 177 | fs/minix/fsync.c | if (!bh) |
bh | 180 | fs/minix/fsync.c | brelse (bh); |
bh | 183 | fs/minix/fsync.c | if (wait && buffer_req(bh) && !buffer_uptodate(bh)) { |
bh | 184 | fs/minix/fsync.c | brelse(bh); |
bh | 187 | fs/minix/fsync.c | if (wait || !buffer_uptodate(bh) || !buffer_dirty(bh)) |
bh | 189 | fs/minix/fsync.c | brelse(bh); |
bh | 192 | fs/minix/fsync.c | ll_rw_block(WRITE, 1, &bh); |
bh | 193 | fs/minix/fsync.c | bh->b_count--; |
bh | 198 | fs/minix/fsync.c | struct buffer_head **bh, int wait) |
bh | 203 | fs/minix/fsync.c | *bh = NULL; |
bh | 210 | fs/minix/fsync.c | *bh = bread(inode->i_dev, tmp, blocksize); |
bh | 212 | fs/minix/fsync.c | brelse(*bh); |
bh | 213 | fs/minix/fsync.c | *bh = NULL; |
bh | 216 | fs/minix/fsync.c | if (!*bh) |
bh | 128 | fs/minix/inode.c | struct buffer_head *bh; |
bh | 137 | fs/minix/inode.c | bh = minix_bread(dir, 0, 0); |
bh | 138 | fs/minix/inode.c | if (!bh) |
bh | 141 | fs/minix/inode.c | de = (struct minix_dir_entry *) bh->b_data; |
bh | 150 | fs/minix/inode.c | de = (struct minix_dir_entry *) (bh->b_data + dirsize); |
bh | 160 | fs/minix/inode.c | brelse(bh); |
bh | 167 | fs/minix/inode.c | struct buffer_head *bh; |
bh | 180 | fs/minix/inode.c | if (!(bh = bread(dev,1,BLOCK_SIZE))) { |
bh | 187 | fs/minix/inode.c | ms = (struct minix_super_block *) bh->b_data; |
bh | 189 | fs/minix/inode.c | s->u.minix_sb.s_sbh = bh; |
bh | 223 | fs/minix/inode.c | brelse(bh); |
bh | 237 | fs/minix/inode.c | brelse (bh); |
bh | 261 | fs/minix/inode.c | brelse(bh); |
bh | 275 | fs/minix/inode.c | brelse(bh); |
bh | 288 | fs/minix/inode.c | brelse (bh); |
bh | 295 | fs/minix/inode.c | mark_buffer_dirty(bh, 1); |
bh | 327 | fs/minix/inode.c | static int V1_block_bmap(struct buffer_head * bh, int nr) |
bh | 331 | fs/minix/inode.c | if (!bh) |
bh | 333 | fs/minix/inode.c | tmp = ((unsigned short *) bh->b_data)[nr]; |
bh | 334 | fs/minix/inode.c | brelse(bh); |
bh | 373 | fs/minix/inode.c | static int V2_block_bmap(struct buffer_head * bh, int nr) |
bh | 377 | fs/minix/inode.c | if (!bh) |
bh | 379 | fs/minix/inode.c | tmp = ((unsigned long *) bh->b_data)[nr]; |
bh | 380 | fs/minix/inode.c | brelse(bh); |
bh | 477 | fs/minix/inode.c | struct buffer_head * bh, int nr, int create) |
bh | 483 | fs/minix/inode.c | if (!bh) |
bh | 485 | fs/minix/inode.c | if (!buffer_uptodate(bh)) { |
bh | 486 | fs/minix/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 487 | fs/minix/inode.c | wait_on_buffer(bh); |
bh | 488 | fs/minix/inode.c | if (!buffer_uptodate(bh)) { |
bh | 489 | fs/minix/inode.c | brelse(bh); |
bh | 493 | fs/minix/inode.c | p = nr + (unsigned short *) bh->b_data; |
bh | 497 | fs/minix/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
bh | 499 | fs/minix/inode.c | brelse(bh); |
bh | 506 | fs/minix/inode.c | brelse(bh); |
bh | 511 | fs/minix/inode.c | brelse(bh); |
bh | 514 | fs/minix/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
bh | 521 | fs/minix/inode.c | mark_buffer_dirty(bh, 1); |
bh | 522 | fs/minix/inode.c | brelse(bh); |
bh | 529 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 543 | fs/minix/inode.c | bh = V1_inode_getblk(inode,7,create); |
bh | 544 | fs/minix/inode.c | return V1_block_getblk(inode, bh, block, create); |
bh | 547 | fs/minix/inode.c | bh = V1_inode_getblk(inode,8,create); |
bh | 548 | fs/minix/inode.c | bh = V1_block_getblk(inode, bh, (block>>9) & 511, create); |
bh | 549 | fs/minix/inode.c | return V1_block_getblk(inode, bh, block & 511, create); |
bh | 590 | fs/minix/inode.c | struct buffer_head * bh, int nr, int create) |
bh | 596 | fs/minix/inode.c | if (!bh) |
bh | 598 | fs/minix/inode.c | if (!buffer_uptodate(bh)) { |
bh | 599 | fs/minix/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 600 | fs/minix/inode.c | wait_on_buffer(bh); |
bh | 601 | fs/minix/inode.c | if (!buffer_uptodate(bh)) { |
bh | 602 | fs/minix/inode.c | brelse(bh); |
bh | 606 | fs/minix/inode.c | p = nr + (unsigned long *) bh->b_data; |
bh | 610 | fs/minix/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
bh | 612 | fs/minix/inode.c | brelse(bh); |
bh | 619 | fs/minix/inode.c | brelse(bh); |
bh | 624 | fs/minix/inode.c | brelse(bh); |
bh | 627 | fs/minix/inode.c | result = getblk(bh->b_dev, tmp, BLOCK_SIZE); |
bh | 634 | fs/minix/inode.c | mark_buffer_dirty(bh, 1); |
bh | 635 | fs/minix/inode.c | brelse(bh); |
bh | 642 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 656 | fs/minix/inode.c | bh = V2_inode_getblk(inode,7,create); |
bh | 657 | fs/minix/inode.c | return V2_block_getblk(inode, bh, block, create); |
bh | 661 | fs/minix/inode.c | bh = V2_inode_getblk(inode,8,create); |
bh | 662 | fs/minix/inode.c | bh = V2_block_getblk(inode, bh, (block>>8) & 255, create); |
bh | 663 | fs/minix/inode.c | return V2_block_getblk(inode, bh, block & 255, create); |
bh | 666 | fs/minix/inode.c | bh = V2_inode_getblk(inode,9,create); |
bh | 667 | fs/minix/inode.c | bh = V2_block_getblk(inode, bh, (block >> 16) & 255, create); |
bh | 668 | fs/minix/inode.c | bh = V2_block_getblk(inode, bh, (block >> 8) & 255, create); |
bh | 669 | fs/minix/inode.c | return V2_block_getblk(inode, bh, block & 255, create); |
bh | 685 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 687 | fs/minix/inode.c | bh = minix_getblk(inode,block,create); |
bh | 688 | fs/minix/inode.c | if (!bh || buffer_uptodate(bh)) |
bh | 689 | fs/minix/inode.c | return bh; |
bh | 690 | fs/minix/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 691 | fs/minix/inode.c | wait_on_buffer(bh); |
bh | 692 | fs/minix/inode.c | if (buffer_uptodate(bh)) |
bh | 693 | fs/minix/inode.c | return bh; |
bh | 694 | fs/minix/inode.c | brelse(bh); |
bh | 703 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 719 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev,block, BLOCK_SIZE))) { |
bh | 724 | fs/minix/inode.c | raw_inode = ((struct minix_inode *) bh->b_data) + |
bh | 737 | fs/minix/inode.c | brelse(bh); |
bh | 757 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 773 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev,block, BLOCK_SIZE))) { |
bh | 778 | fs/minix/inode.c | raw_inode = ((struct minix2_inode *) bh->b_data) + |
bh | 793 | fs/minix/inode.c | brelse(bh); |
bh | 824 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 838 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) { |
bh | 843 | fs/minix/inode.c | raw_inode = ((struct minix_inode *)bh->b_data) + |
bh | 856 | fs/minix/inode.c | mark_buffer_dirty(bh, 1); |
bh | 857 | fs/minix/inode.c | return bh; |
bh | 865 | fs/minix/inode.c | struct buffer_head * bh; |
bh | 879 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) { |
bh | 884 | fs/minix/inode.c | raw_inode = ((struct minix2_inode *)bh->b_data) + |
bh | 899 | fs/minix/inode.c | mark_buffer_dirty(bh, 1); |
bh | 900 | fs/minix/inode.c | return bh; |
bh | 913 | fs/minix/inode.c | struct buffer_head *bh; |
bh | 915 | fs/minix/inode.c | bh = minix_update_inode(inode); |
bh | 916 | fs/minix/inode.c | brelse(bh); |
bh | 922 | fs/minix/inode.c | struct buffer_head *bh; |
bh | 924 | fs/minix/inode.c | bh = minix_update_inode(inode); |
bh | 925 | fs/minix/inode.c | if (bh && buffer_dirty(bh)) |
bh | 927 | fs/minix/inode.c | ll_rw_block(WRITE, 1, &bh); |
bh | 928 | fs/minix/inode.c | wait_on_buffer(bh); |
bh | 929 | fs/minix/inode.c | if (buffer_req(bh) && !buffer_uptodate(bh)) |
bh | 937 | fs/minix/inode.c | else if (!bh) |
bh | 939 | fs/minix/inode.c | brelse (bh); |
bh | 41 | fs/minix/namei.c | struct buffer_head * bh, unsigned long * offset, |
bh | 46 | fs/minix/namei.c | de = (struct minix_dir_entry *) (bh->b_data + *offset); |
bh | 68 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 82 | fs/minix/namei.c | bh = NULL; |
bh | 85 | fs/minix/namei.c | if (!bh) { |
bh | 86 | fs/minix/namei.c | bh = minix_bread(dir,block,0); |
bh | 87 | fs/minix/namei.c | if (!bh) { |
bh | 92 | fs/minix/namei.c | *res_dir = (struct minix_dir_entry *) (bh->b_data + offset); |
bh | 93 | fs/minix/namei.c | if (minix_match(namelen,name,bh,&offset,info)) |
bh | 94 | fs/minix/namei.c | return bh; |
bh | 95 | fs/minix/namei.c | if (offset < bh->b_size) |
bh | 97 | fs/minix/namei.c | brelse(bh); |
bh | 98 | fs/minix/namei.c | bh = NULL; |
bh | 102 | fs/minix/namei.c | brelse(bh); |
bh | 112 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 121 | fs/minix/namei.c | if (!(bh = minix_find_entry(dir,name,len,&de))) { |
bh | 126 | fs/minix/namei.c | brelse(bh); |
bh | 152 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 170 | fs/minix/namei.c | bh = NULL; |
bh | 173 | fs/minix/namei.c | if (!bh) { |
bh | 174 | fs/minix/namei.c | bh = minix_bread(dir,block,1); |
bh | 175 | fs/minix/namei.c | if (!bh) |
bh | 178 | fs/minix/namei.c | de = (struct minix_dir_entry *) (bh->b_data + offset); |
bh | 180 | fs/minix/namei.c | if (block*bh->b_size + offset > dir->i_size) { |
bh | 182 | fs/minix/namei.c | dir->i_size = block*bh->b_size + offset; |
bh | 187 | fs/minix/namei.c | brelse(bh); |
bh | 196 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 200 | fs/minix/namei.c | if (offset < bh->b_size) |
bh | 202 | fs/minix/namei.c | brelse(bh); |
bh | 203 | fs/minix/namei.c | bh = NULL; |
bh | 207 | fs/minix/namei.c | *res_buf = bh; |
bh | 216 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 230 | fs/minix/namei.c | error = minix_add_entry(dir,name,len, &bh ,&de); |
bh | 239 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 240 | fs/minix/namei.c | brelse(bh); |
bh | 250 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 255 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
bh | 256 | fs/minix/namei.c | if (bh) { |
bh | 257 | fs/minix/namei.c | brelse(bh); |
bh | 287 | fs/minix/namei.c | error = minix_add_entry(dir, name, len, &bh, &de); |
bh | 296 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 297 | fs/minix/namei.c | brelse(bh); |
bh | 307 | fs/minix/namei.c | struct buffer_head * bh, *dir_block; |
bh | 316 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
bh | 317 | fs/minix/namei.c | if (bh) { |
bh | 318 | fs/minix/namei.c | brelse(bh); |
bh | 354 | fs/minix/namei.c | error = minix_add_entry(dir, name, len, &bh, &de); |
bh | 362 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 367 | fs/minix/namei.c | brelse(bh); |
bh | 377 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 385 | fs/minix/namei.c | bh = NULL; |
bh | 391 | fs/minix/namei.c | bh = minix_bread(inode,0,0); |
bh | 392 | fs/minix/namei.c | if (!bh) |
bh | 394 | fs/minix/namei.c | de = (struct minix_dir_entry *) bh->b_data; |
bh | 397 | fs/minix/namei.c | de = (struct minix_dir_entry *) (bh->b_data + info->s_dirsize); |
bh | 401 | fs/minix/namei.c | if (!bh) { |
bh | 402 | fs/minix/namei.c | bh = minix_bread(inode,block,0); |
bh | 403 | fs/minix/namei.c | if (!bh) { |
bh | 408 | fs/minix/namei.c | de = (struct minix_dir_entry *) (bh->b_data + offset); |
bh | 411 | fs/minix/namei.c | brelse(bh); |
bh | 414 | fs/minix/namei.c | if (offset < bh->b_size) |
bh | 416 | fs/minix/namei.c | brelse(bh); |
bh | 417 | fs/minix/namei.c | bh = NULL; |
bh | 421 | fs/minix/namei.c | brelse(bh); |
bh | 424 | fs/minix/namei.c | brelse(bh); |
bh | 434 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 438 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
bh | 440 | fs/minix/namei.c | if (!bh) |
bh | 473 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 483 | fs/minix/namei.c | brelse(bh); |
bh | 491 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 497 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
bh | 498 | fs/minix/namei.c | if (!bh) |
bh | 507 | fs/minix/namei.c | brelse(bh); |
bh | 528 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 536 | fs/minix/namei.c | brelse(bh); |
bh | 546 | fs/minix/namei.c | struct buffer_head * bh = NULL, * name_block = NULL; |
bh | 572 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
bh | 573 | fs/minix/namei.c | if (bh) { |
bh | 577 | fs/minix/namei.c | brelse(bh); |
bh | 581 | fs/minix/namei.c | i = minix_add_entry(dir, name, len, &bh, &de); |
bh | 590 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 591 | fs/minix/namei.c | brelse(bh); |
bh | 601 | fs/minix/namei.c | struct buffer_head * bh; |
bh | 613 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
bh | 614 | fs/minix/namei.c | if (bh) { |
bh | 615 | fs/minix/namei.c | brelse(bh); |
bh | 620 | fs/minix/namei.c | error = minix_add_entry(dir, name, len, &bh, &de); |
bh | 627 | fs/minix/namei.c | mark_buffer_dirty(bh, 1); |
bh | 628 | fs/minix/namei.c | brelse(bh); |
bh | 47 | fs/minix/symlink.c | struct buffer_head * bh; |
bh | 68 | 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 | 77 | fs/minix/symlink.c | brelse(bh); |
bh | 83 | fs/minix/symlink.c | struct buffer_head * bh; |
bh | 93 | fs/minix/symlink.c | bh = minix_bread(inode, 0, 0); |
bh | 95 | fs/minix/symlink.c | if (!bh) |
bh | 98 | fs/minix/symlink.c | while (i<buflen && (c = bh->b_data[i])) { |
bh | 102 | fs/minix/symlink.c | brelse(bh); |
bh | 41 | fs/minix/truncate.c | struct buffer_head * bh; |
bh | 50 | fs/minix/truncate.c | bh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE); |
bh | 52 | fs/minix/truncate.c | brelse(bh); |
bh | 55 | fs/minix/truncate.c | if ((bh && bh->b_count != 1) || tmp != *p) { |
bh | 57 | fs/minix/truncate.c | brelse(bh); |
bh | 62 | fs/minix/truncate.c | if (bh) { |
bh | 63 | fs/minix/truncate.c | mark_buffer_clean(bh); |
bh | 64 | fs/minix/truncate.c | brelse(bh); |
bh | 73 | fs/minix/truncate.c | struct buffer_head * bh; |
bh | 101 | fs/minix/truncate.c | bh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE); |
bh | 103 | fs/minix/truncate.c | brelse(bh); |
bh | 106 | fs/minix/truncate.c | if ((bh && bh->b_count != 1) || tmp != *ind) { |
bh | 108 | fs/minix/truncate.c | brelse(bh); |
bh | 113 | fs/minix/truncate.c | brelse(bh); |
bh | 203 | fs/minix/truncate.c | struct buffer_head * bh; |
bh | 212 | fs/minix/truncate.c | bh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE); |
bh | 214 | fs/minix/truncate.c | brelse(bh); |
bh | 217 | fs/minix/truncate.c | if ((bh && bh->b_count != 1) || tmp != *p) { |
bh | 219 | fs/minix/truncate.c | brelse(bh); |
bh | 224 | fs/minix/truncate.c | if (bh) { |
bh | 225 | fs/minix/truncate.c | mark_buffer_clean(bh); |
bh | 226 | fs/minix/truncate.c | brelse(bh); |
bh | 235 | fs/minix/truncate.c | struct buffer_head * bh; |
bh | 263 | fs/minix/truncate.c | bh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE); |
bh | 265 | fs/minix/truncate.c | brelse(bh); |
bh | 268 | fs/minix/truncate.c | if ((bh && bh->b_count != 1) || tmp != *ind) { |
bh | 270 | fs/minix/truncate.c | brelse(bh); |
bh | 275 | fs/minix/truncate.c | brelse(bh); |
bh | 150 | fs/msdos/namei.c | struct buffer_head **bh,struct msdos_dir_entry **de,int *ino) |
bh | 172 | fs/msdos/namei.c | return fat_scan(dir,msdos_name,bh,de,ino,scantype); |
bh | 182 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 214 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) { |
bh | 219 | fs/msdos/namei.c | if (bh) brelse(bh); |
bh | 260 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 264 | fs/msdos/namei.c | if ((res = fat_scan(dir,NULL,&bh,&de,&ino,SCAN_ANY)) < 0) { |
bh | 268 | fs/msdos/namei.c | if ((res = fat_scan(dir,NULL,&bh,&de,&ino,SCAN_ANY)) < 0) return res; |
bh | 282 | fs/msdos/namei.c | mark_buffer_dirty(bh, 1); |
bh | 285 | fs/msdos/namei.c | brelse(bh); |
bh | 299 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 317 | fs/msdos/namei.c | if (fat_scan(dir,msdos_name,&bh,&de,&ino,SCAN_HID) >= 0) { |
bh | 319 | fs/msdos/namei.c | brelse(bh); |
bh | 323 | fs/msdos/namei.c | if (fat_scan(dir,msdos_name,&bh,&de,&ino,SCAN_NOTHID) >= 0) { |
bh | 325 | fs/msdos/namei.c | brelse(bh); |
bh | 361 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 368 | fs/msdos/namei.c | bh = NULL; |
bh | 369 | fs/msdos/namei.c | while (fat_get_entry(dir,&pos,&bh,&de) > -1) |
bh | 373 | fs/msdos/namei.c | brelse(bh); |
bh | 376 | fs/msdos/namei.c | if (bh) |
bh | 377 | fs/msdos/namei.c | brelse(bh); |
bh | 387 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 391 | fs/msdos/namei.c | bh = NULL; |
bh | 396 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) goto rmdir_done; |
bh | 412 | fs/msdos/namei.c | mark_buffer_dirty(bh, 1); |
bh | 415 | fs/msdos/namei.c | brelse(bh); |
bh | 425 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 439 | fs/msdos/namei.c | if (fat_scan(dir,msdos_name,&bh,&de,&ino,SCAN_ANY) >= 0) { |
bh | 441 | fs/msdos/namei.c | brelse(bh); |
bh | 491 | fs/msdos/namei.c | struct buffer_head *bh; |
bh | 495 | fs/msdos/namei.c | bh = NULL; |
bh | 497 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) |
bh | 516 | fs/msdos/namei.c | mark_buffer_dirty(bh, 1); |
bh | 518 | fs/msdos/namei.c | brelse(bh); |
bh | 34 | fs/sysv/balloc.c | struct buffer_head * bh; |
bh | 58 | fs/sysv/balloc.c | bh = sv_getblk(sb, sb->s_dev, block); |
bh | 59 | fs/sysv/balloc.c | if (!bh) { |
bh | 64 | fs/sysv/balloc.c | bh_data = bh->b_data; |
bh | 86 | fs/sysv/balloc.c | mark_buffer_dirty(bh, 1); |
bh | 87 | fs/sysv/balloc.c | mark_buffer_uptodate(bh, 1); |
bh | 88 | fs/sysv/balloc.c | brelse(bh); |
bh | 95 | fs/sysv/balloc.c | bh = sv_getblk(sb, sb->s_dev, block); |
bh | 96 | fs/sysv/balloc.c | if (!bh) { |
bh | 101 | fs/sysv/balloc.c | memset(bh->b_data, 0, sb->sv_block_size); |
bh | 103 | fs/sysv/balloc.c | mark_buffer_dirty(bh, 1); |
bh | 104 | fs/sysv/balloc.c | mark_buffer_uptodate(bh, 1); |
bh | 105 | fs/sysv/balloc.c | brelse(bh); |
bh | 109 | fs/sysv/balloc.c | bh = sv_get_hash_table(sb, sb->s_dev, block); |
bh | 110 | fs/sysv/balloc.c | if (bh) |
bh | 111 | fs/sysv/balloc.c | mark_buffer_clean(bh); |
bh | 112 | fs/sysv/balloc.c | brelse(bh); |
bh | 131 | fs/sysv/balloc.c | struct buffer_head * bh; |
bh | 160 | fs/sysv/balloc.c | if (!(bh = sv_bread(sb, sb->s_dev, block))) { |
bh | 167 | fs/sysv/balloc.c | bh_data = bh->b_data; |
bh | 189 | fs/sysv/balloc.c | brelse(bh); |
bh | 195 | fs/sysv/balloc.c | brelse(bh); |
bh | 198 | fs/sysv/balloc.c | bh = sv_getblk(sb, sb->s_dev, block); |
bh | 199 | fs/sysv/balloc.c | if (!bh) { |
bh | 204 | fs/sysv/balloc.c | if (bh->b_count != 1) { |
bh | 209 | fs/sysv/balloc.c | memset(bh->b_data, 0, sb->sv_block_size); |
bh | 210 | fs/sysv/balloc.c | mark_buffer_dirty(bh, 1); |
bh | 211 | fs/sysv/balloc.c | mark_buffer_uptodate(bh, 1); |
bh | 212 | fs/sysv/balloc.c | brelse(bh); |
bh | 230 | fs/sysv/balloc.c | struct buffer_head * bh; |
bh | 257 | fs/sysv/balloc.c | if (!(bh = sv_bread(sb, sb->s_dev, block))) { |
bh | 261 | fs/sysv/balloc.c | bh_data = bh->b_data; |
bh | 283 | fs/sysv/balloc.c | brelse(bh); |
bh | 287 | fs/sysv/balloc.c | brelse(bh); |
bh | 301 | fs/sysv/balloc.c | brelse(bh); |
bh | 72 | fs/sysv/dir.c | struct buffer_head * bh; |
bh | 82 | fs/sysv/dir.c | bh = sysv_file_bread(inode, filp->f_pos >> sb->sv_block_size_bits, 0); |
bh | 83 | fs/sysv/dir.c | if (!bh) { |
bh | 87 | fs/sysv/dir.c | bh_data = bh->b_data; |
bh | 104 | fs/sysv/dir.c | brelse(bh); |
bh | 111 | fs/sysv/dir.c | brelse(bh); |
bh | 207 | fs/sysv/file.c | struct buffer_head * bh; |
bh | 231 | fs/sysv/file.c | bh = sysv_getblk (inode, pos >> sb->sv_block_size_bits, 1); |
bh | 232 | fs/sysv/file.c | if (!bh) { |
bh | 240 | fs/sysv/file.c | if (c != sb->sv_block_size && !buffer_uptodate(bh)) { |
bh | 241 | fs/sysv/file.c | ll_rw_block(READ, 1, &bh); |
bh | 242 | fs/sysv/file.c | wait_on_buffer(bh); |
bh | 243 | fs/sysv/file.c | if (!buffer_uptodate(bh)) { |
bh | 244 | fs/sysv/file.c | brelse(bh); |
bh | 251 | fs/sysv/file.c | p = (pos & sb->sv_block_size_1) + bh->b_data; |
bh | 261 | fs/sysv/file.c | mark_buffer_uptodate(bh, 1); |
bh | 262 | fs/sysv/file.c | mark_buffer_dirty(bh, 0); |
bh | 263 | fs/sysv/file.c | brelse(bh); |
bh | 31 | fs/sysv/fsync.c | struct buffer_head * bh; |
bh | 41 | fs/sysv/fsync.c | bh = sv_get_hash_table(sb, inode->i_dev, block); |
bh | 42 | fs/sysv/fsync.c | if (!bh) |
bh | 45 | fs/sysv/fsync.c | brelse (bh); |
bh | 48 | fs/sysv/fsync.c | if (wait && buffer_req(bh) && !buffer_uptodate(bh)) { |
bh | 49 | fs/sysv/fsync.c | brelse(bh); |
bh | 52 | fs/sysv/fsync.c | if (wait || !buffer_uptodate(bh) || !buffer_dirty(bh)) { |
bh | 53 | fs/sysv/fsync.c | brelse(bh); |
bh | 56 | fs/sysv/fsync.c | ll_rw_block(WRITE, 1, &bh); |
bh | 57 | fs/sysv/fsync.c | bh->b_count--; |
bh | 63 | fs/sysv/fsync.c | struct buffer_head * *bh, int wait) |
bh | 68 | fs/sysv/fsync.c | *bh = NULL; |
bh | 77 | fs/sysv/fsync.c | *bh = sv_bread(inode->i_sb, inode->i_dev, block); |
bh | 79 | fs/sysv/fsync.c | brelse(*bh); |
bh | 80 | fs/sysv/fsync.c | *bh = NULL; |
bh | 83 | fs/sysv/fsync.c | if (!*bh) |
bh | 56 | fs/sysv/ialloc.c | struct buffer_head * bh; |
bh | 82 | fs/sysv/ialloc.c | if (!(bh = sv_bread(sb, inode->i_dev, sb->sv_firstinodezone + ((ino-1) >> sb->sv_inodes_per_block_bits)))) { |
bh | 88 | fs/sysv/ialloc.c | raw_inode = (struct sysv_inode *) bh->b_data + ((ino-1) & sb->sv_inodes_per_block_1); |
bh | 97 | fs/sysv/ialloc.c | mark_buffer_dirty(bh, 1); |
bh | 99 | fs/sysv/ialloc.c | brelse(bh); |
bh | 107 | fs/sysv/ialloc.c | struct buffer_head * bh; |
bh | 128 | fs/sysv/ialloc.c | if (!(bh = sv_bread(sb, sb->s_dev, block))) { |
bh | 133 | fs/sysv/ialloc.c | raw_inode = (struct sysv_inode *) bh->b_data + j; |
bh | 138 | fs/sysv/ialloc.c | brelse(bh); |
bh | 180 | fs/sysv/ialloc.c | struct buffer_head * bh; |
bh | 194 | fs/sysv/ialloc.c | if (!(bh = sv_bread(sb, sb->s_dev, block))) { |
bh | 199 | fs/sysv/ialloc.c | raw_inode = (struct sysv_inode *) bh->b_data + j; |
bh | 203 | fs/sysv/ialloc.c | brelse(bh); |
bh | 119 | fs/sysv/inode.c | static const char* detect_xenix (struct super_block *sb, struct buffer_head *bh) |
bh | 123 | fs/sysv/inode.c | sbd = (struct xenix_super_block *) bh->b_data; |
bh | 176 | fs/sysv/inode.c | static const char* detect_sysv4 (struct super_block *sb, struct buffer_head *bh) |
bh | 180 | fs/sysv/inode.c | sbd = (struct sysv4_super_block *) (bh->b_data + BLOCK_SIZE/2); |
bh | 193 | fs/sysv/inode.c | static struct super_block * detected_sysv4 (struct super_block *sb, struct buffer_head *bh) |
bh | 198 | fs/sysv/inode.c | sbd = (struct sysv4_super_block *) (bh->b_data + BLOCK_SIZE/2); |
bh | 200 | fs/sysv/inode.c | sbd = (struct sysv4_super_block *) bh->b_data; |
bh | 214 | fs/sysv/inode.c | sb->sv_bh1 = bh; |
bh | 215 | fs/sysv/inode.c | sb->sv_bh2 = bh; |
bh | 234 | fs/sysv/inode.c | static const char* detect_sysv2 (struct super_block *sb, struct buffer_head *bh) |
bh | 238 | fs/sysv/inode.c | sbd = (struct sysv2_super_block *) (bh->b_data + BLOCK_SIZE/2); |
bh | 251 | fs/sysv/inode.c | static struct super_block * detected_sysv2 (struct super_block *sb, struct buffer_head *bh) |
bh | 256 | fs/sysv/inode.c | sbd = (struct sysv2_super_block *) (bh->b_data + BLOCK_SIZE/2); |
bh | 258 | fs/sysv/inode.c | sbd = (struct sysv2_super_block *) bh->b_data; |
bh | 272 | fs/sysv/inode.c | sb->sv_bh1 = bh; |
bh | 273 | fs/sysv/inode.c | sb->sv_bh2 = bh; |
bh | 292 | fs/sysv/inode.c | static const char* detect_coherent (struct super_block *sb, struct buffer_head *bh) |
bh | 296 | fs/sysv/inode.c | sbd = (struct coh_super_block *) (bh->b_data + BLOCK_SIZE/2); |
bh | 304 | fs/sysv/inode.c | static struct super_block * detected_coherent (struct super_block *sb, struct buffer_head *bh) |
bh | 308 | fs/sysv/inode.c | sbd = (struct coh_super_block *) bh->b_data; |
bh | 320 | fs/sysv/inode.c | sb->sv_bh1 = bh; |
bh | 321 | fs/sysv/inode.c | sb->sv_bh2 = bh; |
bh | 342 | fs/sysv/inode.c | struct buffer_head *bh; |
bh | 360 | fs/sysv/inode.c | if ((bh = bread(dev, 1, BLOCK_SIZE)) != NULL) { |
bh | 361 | fs/sysv/inode.c | if ((found = detect_xenix(sb,bh)) != NULL) |
bh | 363 | fs/sysv/inode.c | brelse(bh); |
bh | 365 | fs/sysv/inode.c | if ((bh = bread(dev, 0, BLOCK_SIZE)) != NULL) { |
bh | 367 | fs/sysv/inode.c | if ((found = detect_sysv4(sb,bh)) != NULL) |
bh | 369 | fs/sysv/inode.c | if ((found = detect_sysv2(sb,bh)) != NULL) |
bh | 372 | fs/sysv/inode.c | if ((found = detect_coherent(sb,bh)) != NULL) |
bh | 374 | fs/sysv/inode.c | brelse(bh); |
bh | 381 | fs/sysv/inode.c | if ((bh = bread(dev, offsets[i], BLOCK_SIZE)) != NULL) { |
bh | 383 | fs/sysv/inode.c | if ((found = detect_sysv4(sb,bh)) != NULL) { |
bh | 387 | fs/sysv/inode.c | if ((found = detect_sysv2(sb,bh)) != NULL) { |
bh | 391 | fs/sysv/inode.c | brelse(bh); |
bh | 407 | fs/sysv/inode.c | if (!detected_xenix(sb,bh,bh)) |
bh | 411 | fs/sysv/inode.c | if (!detected_sysv4(sb,bh)) |
bh | 415 | fs/sysv/inode.c | if (!detected_sysv2(sb,bh)) |
bh | 420 | fs/sysv/inode.c | brelse(bh); |
bh | 430 | fs/sysv/inode.c | unsigned long blocknr = bh->b_blocknr << sb->sv_block_size_ratio_bits; |
bh | 432 | fs/sysv/inode.c | brelse(bh); |
bh | 562 | fs/sysv/inode.c | static int block_bmap(struct super_block * sb, struct buffer_head * bh, int nr, int convert) |
bh | 566 | fs/sysv/inode.c | if (!bh) |
bh | 568 | fs/sysv/inode.c | tmp = ((sysv_zone_t *) bh->b_data) [nr]; |
bh | 571 | fs/sysv/inode.c | brelse(bh); |
bh | 583 | fs/sysv/inode.c | struct buffer_head * bh; |
bh | 593 | fs/sysv/inode.c | bh = bread(inode->i_dev,i,sb->sv_block_size); |
bh | 594 | fs/sysv/inode.c | return block_bmap(sb, bh, block, convert); |
bh | 601 | fs/sysv/inode.c | bh = bread(inode->i_dev,i,sb->sv_block_size); |
bh | 602 | fs/sysv/inode.c | i = block_bmap(sb, bh, block >> sb->sv_ind_per_block_bits, convert); |
bh | 605 | fs/sysv/inode.c | bh = bread(inode->i_dev,i,sb->sv_block_size); |
bh | 606 | fs/sysv/inode.c | return block_bmap(sb, bh, block & sb->sv_ind_per_block_1, convert); |
bh | 613 | fs/sysv/inode.c | bh = bread(inode->i_dev,i,sb->sv_block_size); |
bh | 614 | fs/sysv/inode.c | i = block_bmap(sb, bh, block >> sb->sv_ind_per_block_2_bits, convert); |
bh | 617 | fs/sysv/inode.c | bh = bread(inode->i_dev,i,sb->sv_block_size); |
bh | 618 | fs/sysv/inode.c | i = block_bmap(sb, bh, (block >> sb->sv_ind_per_block_bits) & sb->sv_ind_per_block_1,convert); |
bh | 621 | fs/sysv/inode.c | bh = bread(inode->i_dev,i,sb->sv_block_size); |
bh | 622 | fs/sysv/inode.c | return block_bmap(sb, bh, block & sb->sv_ind_per_block_1, convert); |
bh | 673 | fs/sysv/inode.c | struct buffer_head * bh, int nr, int create) |
bh | 680 | fs/sysv/inode.c | if (!bh) |
bh | 682 | fs/sysv/inode.c | if (!buffer_uptodate(bh)) { |
bh | 683 | fs/sysv/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 684 | fs/sysv/inode.c | wait_on_buffer(bh); |
bh | 685 | fs/sysv/inode.c | if (!buffer_uptodate(bh)) { |
bh | 686 | fs/sysv/inode.c | brelse(bh); |
bh | 691 | fs/sysv/inode.c | p = nr + (sysv_zone_t *) bh->b_data; |
bh | 697 | fs/sysv/inode.c | result = sv_getblk(sb, bh->b_dev, block); |
bh | 699 | fs/sysv/inode.c | brelse(bh); |
bh | 706 | fs/sysv/inode.c | brelse(bh); |
bh | 711 | fs/sysv/inode.c | brelse(bh); |
bh | 714 | fs/sysv/inode.c | result = sv_getblk(sb, bh->b_dev, block); |
bh | 721 | fs/sysv/inode.c | mark_buffer_dirty(bh, 1); |
bh | 722 | fs/sysv/inode.c | brelse(bh); |
bh | 729 | fs/sysv/inode.c | struct buffer_head * bh; |
bh | 735 | fs/sysv/inode.c | bh = inode_getblk(inode,10,create); |
bh | 736 | fs/sysv/inode.c | return block_getblk(inode, bh, block, create); |
bh | 740 | fs/sysv/inode.c | bh = inode_getblk(inode,11,create); |
bh | 741 | fs/sysv/inode.c | bh = block_getblk(inode, bh, block >> sb->sv_ind_per_block_bits, create); |
bh | 742 | fs/sysv/inode.c | return block_getblk(inode, bh, block & sb->sv_ind_per_block_1, create); |
bh | 746 | fs/sysv/inode.c | bh = inode_getblk(inode,12,create); |
bh | 747 | fs/sysv/inode.c | bh = block_getblk(inode, bh, block >> sb->sv_ind_per_block_2_bits, create); |
bh | 748 | fs/sysv/inode.c | bh = block_getblk(inode, bh, (block >> sb->sv_ind_per_block_bits) & sb->sv_ind_per_block_1, create); |
bh | 749 | fs/sysv/inode.c | return block_getblk(inode, bh, block & sb->sv_ind_per_block_1, create); |
bh | 761 | fs/sysv/inode.c | struct buffer_head * bh; |
bh | 763 | fs/sysv/inode.c | bh = sysv_getblk(inode,block,create); |
bh | 764 | fs/sysv/inode.c | if (!bh || buffer_uptodate(bh)) |
bh | 765 | fs/sysv/inode.c | return bh; |
bh | 766 | fs/sysv/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 767 | fs/sysv/inode.c | wait_on_buffer(bh); |
bh | 768 | fs/sysv/inode.c | if (buffer_uptodate(bh)) |
bh | 769 | fs/sysv/inode.c | return bh; |
bh | 770 | fs/sysv/inode.c | brelse(bh); |
bh | 802 | fs/sysv/inode.c | struct buffer_head * bh; |
bh | 817 | fs/sysv/inode.c | if (!(bh = sv_bread(sb,inode->i_dev,block))) { |
bh | 823 | fs/sysv/inode.c | raw_inode = (struct sysv_inode *) bh->b_data + ((ino-1) & sb->sv_inodes_per_block_1); |
bh | 855 | fs/sysv/inode.c | brelse(bh); |
bh | 891 | fs/sysv/inode.c | struct buffer_head * bh; |
bh | 905 | fs/sysv/inode.c | if (!(bh = sv_bread(sb,inode->i_dev,block))) { |
bh | 910 | fs/sysv/inode.c | raw_inode = (struct sysv_inode *) bh->b_data + ((ino-1) & sb->sv_inodes_per_block_1); |
bh | 939 | fs/sysv/inode.c | mark_buffer_dirty(bh, 1); |
bh | 940 | fs/sysv/inode.c | return bh; |
bh | 945 | fs/sysv/inode.c | struct buffer_head *bh; |
bh | 946 | fs/sysv/inode.c | bh = sysv_update_inode(inode); |
bh | 947 | fs/sysv/inode.c | brelse(bh); |
bh | 953 | fs/sysv/inode.c | struct buffer_head *bh; |
bh | 955 | fs/sysv/inode.c | bh = sysv_update_inode(inode); |
bh | 956 | fs/sysv/inode.c | if (bh && buffer_dirty(bh)) { |
bh | 957 | fs/sysv/inode.c | ll_rw_block(WRITE, 1, &bh); |
bh | 958 | fs/sysv/inode.c | wait_on_buffer(bh); |
bh | 959 | fs/sysv/inode.c | if (buffer_req(bh) && !buffer_uptodate(bh)) |
bh | 967 | fs/sysv/inode.c | else if (!bh) |
bh | 969 | fs/sysv/inode.c | brelse (bh); |
bh | 65 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 76 | fs/sysv/namei.c | bh = NULL; |
bh | 79 | fs/sysv/namei.c | if (!bh) { |
bh | 80 | fs/sysv/namei.c | bh = sysv_file_bread(dir,block,0); |
bh | 81 | fs/sysv/namei.c | if (!bh) { |
bh | 88 | fs/sysv/namei.c | *res_dir = (struct sysv_dir_entry *) (bh->b_data + offset) )) |
bh | 89 | fs/sysv/namei.c | return bh; |
bh | 94 | fs/sysv/namei.c | brelse(bh); |
bh | 95 | fs/sysv/namei.c | bh = NULL; |
bh | 98 | fs/sysv/namei.c | brelse(bh); |
bh | 108 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 117 | fs/sysv/namei.c | if (!(bh = sysv_find_entry(dir,name,len,&de))) { |
bh | 122 | fs/sysv/namei.c | brelse(bh); |
bh | 149 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 164 | fs/sysv/namei.c | bh = NULL; |
bh | 167 | fs/sysv/namei.c | if (!bh) { |
bh | 168 | fs/sysv/namei.c | bh = sysv_file_bread(dir,block,1); |
bh | 169 | fs/sysv/namei.c | if (!bh) |
bh | 172 | fs/sysv/namei.c | de = (struct sysv_dir_entry *) (bh->b_data + offset); |
bh | 182 | fs/sysv/namei.c | brelse(bh); |
bh | 190 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 196 | fs/sysv/namei.c | brelse(bh); |
bh | 197 | fs/sysv/namei.c | bh = NULL; |
bh | 200 | fs/sysv/namei.c | *res_buf = bh; |
bh | 209 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 223 | fs/sysv/namei.c | error = sysv_add_entry(dir,name,len, &bh ,&de); |
bh | 232 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 233 | fs/sysv/namei.c | brelse(bh); |
bh | 243 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 248 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
bh | 249 | fs/sysv/namei.c | if (bh) { |
bh | 250 | fs/sysv/namei.c | brelse(bh); |
bh | 280 | fs/sysv/namei.c | error = sysv_add_entry(dir, name, len, &bh, &de); |
bh | 289 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 290 | fs/sysv/namei.c | brelse(bh); |
bh | 300 | fs/sysv/namei.c | struct buffer_head * bh, *dir_block; |
bh | 307 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
bh | 308 | fs/sysv/namei.c | if (bh) { |
bh | 309 | fs/sysv/namei.c | brelse(bh); |
bh | 345 | fs/sysv/namei.c | error = sysv_add_entry(dir, name, len, &bh, &de); |
bh | 353 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 358 | fs/sysv/namei.c | brelse(bh); |
bh | 369 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 375 | fs/sysv/namei.c | bh = NULL; |
bh | 381 | fs/sysv/namei.c | bh = sysv_file_bread(inode,0,0); |
bh | 382 | fs/sysv/namei.c | if (!bh) |
bh | 384 | fs/sysv/namei.c | de = (struct sysv_dir_entry *) (bh->b_data + 0*SYSV_DIRSIZE); |
bh | 387 | fs/sysv/namei.c | de = (struct sysv_dir_entry *) (bh->b_data + 1*SYSV_DIRSIZE); |
bh | 392 | fs/sysv/namei.c | if (!bh) { |
bh | 393 | fs/sysv/namei.c | bh = sysv_file_bread(inode,block,0); |
bh | 394 | fs/sysv/namei.c | if (!bh) { |
bh | 400 | fs/sysv/namei.c | de = (struct sysv_dir_entry *) (bh->b_data + offset); |
bh | 404 | fs/sysv/namei.c | brelse(bh); |
bh | 409 | fs/sysv/namei.c | brelse(bh); |
bh | 410 | fs/sysv/namei.c | bh = NULL; |
bh | 413 | fs/sysv/namei.c | brelse(bh); |
bh | 416 | fs/sysv/namei.c | brelse(bh); |
bh | 426 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 430 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
bh | 432 | fs/sysv/namei.c | if (!bh) |
bh | 464 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 474 | fs/sysv/namei.c | brelse(bh); |
bh | 482 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 488 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
bh | 489 | fs/sysv/namei.c | if (!bh) |
bh | 498 | fs/sysv/namei.c | brelse(bh); |
bh | 518 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 526 | fs/sysv/namei.c | brelse(bh); |
bh | 541 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 567 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
bh | 568 | fs/sysv/namei.c | if (bh) { |
bh | 572 | fs/sysv/namei.c | brelse(bh); |
bh | 576 | fs/sysv/namei.c | i = sysv_add_entry(dir, name, len, &bh, &de); |
bh | 585 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 586 | fs/sysv/namei.c | brelse(bh); |
bh | 596 | fs/sysv/namei.c | struct buffer_head * bh; |
bh | 608 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
bh | 609 | fs/sysv/namei.c | if (bh) { |
bh | 610 | fs/sysv/namei.c | brelse(bh); |
bh | 615 | fs/sysv/namei.c | error = sysv_add_entry(dir, name, len, &bh, &de); |
bh | 622 | fs/sysv/namei.c | mark_buffer_dirty(bh, 1); |
bh | 623 | fs/sysv/namei.c | brelse(bh); |
bh | 53 | fs/sysv/symlink.c | struct buffer_head * bh; |
bh | 74 | fs/sysv/symlink.c | if (!(bh = sysv_file_bread(inode, 0, 0))) { /* is reading 1 block enough ?? */ |
bh | 81 | fs/sysv/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
bh | 83 | fs/sysv/symlink.c | brelse(bh); |
bh | 89 | fs/sysv/symlink.c | struct buffer_head * bh; |
bh | 100 | fs/sysv/symlink.c | bh = sysv_file_bread(inode, 0, 0); |
bh | 102 | fs/sysv/symlink.c | if (!bh) |
bh | 104 | fs/sysv/symlink.c | bh_data = bh->b_data; |
bh | 110 | fs/sysv/symlink.c | brelse(bh); |
bh | 46 | fs/sysv/truncate.c | struct buffer_head * bh; |
bh | 56 | fs/sysv/truncate.c | bh = sv_get_hash_table(sb, inode->i_dev, block); |
bh | 58 | fs/sysv/truncate.c | brelse(bh); |
bh | 61 | fs/sysv/truncate.c | if ((bh && bh->b_count != 1) || (block != *p)) { |
bh | 63 | fs/sysv/truncate.c | brelse(bh); |
bh | 68 | fs/sysv/truncate.c | brelse(bh); |
bh | 82 | fs/sysv/truncate.c | struct buffer_head * bh; |
bh | 113 | fs/sysv/truncate.c | bh = sv_get_hash_table(sb, inode->i_dev, block); |
bh | 115 | fs/sysv/truncate.c | brelse(bh); |
bh | 118 | fs/sysv/truncate.c | if ((bh && bh->b_count != 1) || (tmp != *ind)) { |
bh | 120 | fs/sysv/truncate.c | brelse(bh); |
bh | 125 | fs/sysv/truncate.c | brelse(bh); |
bh | 36 | fs/ufs/ufs_dir.c | struct buffer_head * bh; |
bh | 51 | fs/ufs/ufs_dir.c | bh = NULL; |
bh | 59 | fs/ufs/ufs_dir.c | bh = bread (sb->s_dev, blk, sb->s_blocksize); |
bh | 60 | fs/ufs/ufs_dir.c | if (!bh) { |
bh | 76 | fs/ufs/ufs_dir.c | (bh->b_data + i); |
bh | 95 | fs/ufs/ufs_dir.c | de = (struct direct *) (bh->b_data + offset); |
bh | 99 | fs/ufs/ufs_dir.c | brelse(bh); |
bh | 104 | fs/ufs/ufs_dir.c | bh, offset)) { |
bh | 109 | fs/ufs/ufs_dir.c | brelse (bh); |
bh | 139 | fs/ufs/ufs_dir.c | brelse (bh); |
bh | 23 | fs/ufs/ufs_file.c | struct buffer_head * bh; |
bh | 75 | fs/ufs/ufs_file.c | bh = bread(inode->i_dev, inode->u.ufs_i.ui_ib[0], |
bh | 77 | fs/ufs/ufs_file.c | if (bh == NULL) { |
bh | 82 | fs/ufs/ufs_file.c | phys_block = ((__u32 *)bh->b_data)[block]; |
bh | 83 | fs/ufs/ufs_file.c | brelse(bh); |
bh | 45 | fs/ufs/ufs_inode.c | struct buffer_head * bh; |
bh | 61 | fs/ufs/ufs_inode.c | bh = bread(inode->i_dev, |
bh | 65 | fs/ufs/ufs_inode.c | if (!bh) { |
bh | 71 | fs/ufs/ufs_inode.c | ufsip = (struct ufs_inode *)bh->b_data; |
bh | 200 | fs/ufs/ufs_inode.c | brelse(bh); |
bh | 41 | fs/ufs/ufs_namei.c | struct buffer_head * bh; |
bh | 104 | fs/ufs/ufs_namei.c | bh = bread(dir->i_dev, fragno, dir->i_sb->s_blocksize); |
bh | 105 | fs/ufs/ufs_namei.c | if (bh == NULL) { |
bh | 110 | fs/ufs/ufs_namei.c | d = (struct direct *)(bh->b_data); |
bh | 111 | fs/ufs/ufs_namei.c | while (((char *)d - bh->b_data + d->d_reclen) <= |
bh | 130 | fs/ufs/ufs_namei.c | brelse(bh); |
bh | 141 | fs/ufs/ufs_namei.c | brelse(bh); |
bh | 22 | fs/ufs/ufs_symlink.c | struct buffer_head * bh = NULL; |
bh | 45 | fs/ufs/ufs_symlink.c | bh = bread(inode->i_dev, block, BLOCK_SIZE); |
bh | 46 | fs/ufs/ufs_symlink.c | if (!bh) { |
bh | 53 | fs/ufs/ufs_symlink.c | link = bh->b_data; |
bh | 64 | fs/ufs/ufs_symlink.c | if (bh) |
bh | 65 | fs/ufs/ufs_symlink.c | brelse (bh); |
bh | 80 | fs/ufs/ufs_symlink.c | struct buffer_head * bh; |
bh | 83 | fs/ufs/ufs_symlink.c | bh = NULL; |
bh | 113 | fs/ufs/ufs_symlink.c | bh = bread(inode->i_dev, block, BLOCK_SIZE); |
bh | 114 | fs/ufs/ufs_symlink.c | if (bh == NULL) { |
bh | 122 | fs/ufs/ufs_symlink.c | link = bh->b_data; |
bh | 131 | fs/ufs/ufs_symlink.c | if (bh) { |
bh | 132 | fs/ufs/ufs_symlink.c | brelse (bh); |
bh | 547 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 557 | fs/vfat/namei.c | bh = NULL; |
bh | 559 | fs/vfat/namei.c | ino = fat_get_entry(dir,&curr,&bh,&de); |
bh | 576 | fs/vfat/namei.c | brelse(bh); |
bh | 584 | fs/vfat/namei.c | ino = fat_get_entry(dir,&curr,&bh,&de); |
bh | 589 | fs/vfat/namei.c | ino = fat_get_entry(dir,&curr,&bh,&de); |
bh | 808 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 851 | fs/vfat/namei.c | bh = NULL; |
bh | 862 | fs/vfat/namei.c | bh = NULL; |
bh | 865 | fs/vfat/namei.c | sinfo_out->ino = fat_get_entry(dir,&offset,&bh,&de); |
bh | 871 | fs/vfat/namei.c | mark_buffer_dirty(bh, 1); |
bh | 891 | fs/vfat/namei.c | mark_buffer_dirty(bh, 1); |
bh | 892 | fs/vfat/namei.c | brelse(bh); |
bh | 985 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 998 | fs/vfat/namei.c | bh = NULL; |
bh | 999 | fs/vfat/namei.c | ino = fat_get_entry(dir, &offset, &bh, &de); |
bh | 1002 | fs/vfat/namei.c | if (bh) brelse(bh); |
bh | 1009 | fs/vfat/namei.c | brelse(bh); |
bh | 1038 | fs/vfat/namei.c | struct buffer_head *bh, |
bh | 1061 | fs/vfat/namei.c | mark_buffer_dirty(bh, 1); |
bh | 1087 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 1096 | fs/vfat/namei.c | bh = NULL; |
bh | 1097 | fs/vfat/namei.c | if ((res = fat_get_entry(dir,&offset,&bh,&de)) < 0) return res; |
bh | 1100 | fs/vfat/namei.c | res = vfat_create_a_dotdir(dir, parent, bh, de, res, MSDOS_DOT, 1); |
bh | 1103 | fs/vfat/namei.c | brelse(bh); |
bh | 1108 | fs/vfat/namei.c | if ((res = fat_get_entry(dir,&offset,&bh,&de)) < 0) { |
bh | 1109 | fs/vfat/namei.c | brelse(bh); |
bh | 1114 | fs/vfat/namei.c | res = vfat_create_a_dotdir(dir, parent, bh, de, res, MSDOS_DOTDOT, 0); |
bh | 1116 | fs/vfat/namei.c | brelse(bh); |
bh | 1126 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 1133 | fs/vfat/namei.c | bh = NULL; |
bh | 1134 | fs/vfat/namei.c | while (fat_get_entry(dir,&pos,&bh,&de) > -1) { |
bh | 1141 | fs/vfat/namei.c | brelse(bh); |
bh | 1145 | fs/vfat/namei.c | if (bh) |
bh | 1146 | fs/vfat/namei.c | brelse(bh); |
bh | 1151 | fs/vfat/namei.c | static int vfat_rmdir_free_ino(struct inode *dir,struct buffer_head *bh, |
bh | 1179 | fs/vfat/namei.c | mark_buffer_dirty(bh, 1); |
bh | 1185 | fs/vfat/namei.c | static int vfat_unlink_free_ino(struct inode *dir,struct buffer_head *bh, |
bh | 1202 | fs/vfat/namei.c | mark_buffer_dirty(bh, 1); |
bh | 1209 | fs/vfat/namei.c | struct buffer_head **bh,struct msdos_dir_entry **de, |
bh | 1218 | fs/vfat/namei.c | res = fat_get_entry(dir, &offset, bh, de); |
bh | 1221 | fs/vfat/namei.c | res = vfat_rmdir_free_ino(dir,*bh,*de,res); |
bh | 1223 | fs/vfat/namei.c | res = vfat_unlink_free_ino(dir,*bh,*de,res,nospc); |
bh | 1230 | fs/vfat/namei.c | res = fat_get_entry(dir, &offset, bh, de); |
bh | 1237 | fs/vfat/namei.c | mark_buffer_dirty(*bh, 1); |
bh | 1247 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 1251 | fs/vfat/namei.c | bh = NULL; |
bh | 1258 | fs/vfat/namei.c | res = vfat_remove_entry(dir,&sinfo,&bh,&de,1,0); |
bh | 1268 | fs/vfat/namei.c | brelse(bh); |
bh | 1290 | fs/vfat/namei.c | struct buffer_head *bh; |
bh | 1294 | fs/vfat/namei.c | bh = NULL; |
bh | 1299 | fs/vfat/namei.c | res = vfat_remove_entry(dir,&sinfo,&bh,&de,0,nospc); |
bh | 1308 | fs/vfat/namei.c | brelse(bh); |
bh | 28 | fs/xiafs/bitmap.c | static int find_first_zero(struct buffer_head *bh, int start_bit, int end_bit) |
bh | 39 | fs/xiafs/bitmap.c | bmap=(u_long *)bh->b_data; |
bh | 61 | fs/xiafs/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 65 | fs/xiafs/bitmap.c | static void clear_buf(struct buffer_head * bh) |
bh | 70 | fs/xiafs/bitmap.c | lp=(long *)bh->b_data; |
bh | 71 | fs/xiafs/bitmap.c | for (i= bh->b_size >> 2; i-- > 0; ) |
bh | 172 | fs/xiafs/bitmap.c | struct buffer_head * bh; |
bh | 195 | fs/xiafs/bitmap.c | bh = get__map_zone(sb, bmap_buf, bznr, cache, first_zone, |
bh | 197 | fs/xiafs/bitmap.c | if (!bh) |
bh | 199 | fs/xiafs/bitmap.c | tmp=find_first_zero(bh, start_bit, end_bit); |
bh | 216 | fs/xiafs/bitmap.c | struct buffer_head * bh; |
bh | 228 | fs/xiafs/bitmap.c | bh = get_hash_table(sb->s_dev, d_addr, XIAFS_ZSIZE(sb)); |
bh | 229 | fs/xiafs/bitmap.c | if (bh) |
bh | 230 | fs/xiafs/bitmap.c | mark_buffer_clean(bh); |
bh | 231 | fs/xiafs/bitmap.c | brelse(bh); |
bh | 233 | fs/xiafs/bitmap.c | bh = get_zmap_zone(sb, bit, NULL); |
bh | 234 | fs/xiafs/bitmap.c | if (!bh) |
bh | 237 | fs/xiafs/bitmap.c | if (!clear_bit(offset, bh->b_data)) |
bh | 241 | fs/xiafs/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 247 | fs/xiafs/bitmap.c | struct buffer_head * bh; |
bh | 263 | fs/xiafs/bitmap.c | if (!(bh = getblk(sb->s_dev, tmp, XIAFS_ZSIZE(sb)))) { |
bh | 267 | fs/xiafs/bitmap.c | if (bh->b_count != 1) { |
bh | 271 | fs/xiafs/bitmap.c | clear_buf(bh); |
bh | 272 | fs/xiafs/bitmap.c | mark_buffer_uptodate(bh, 1); |
bh | 273 | fs/xiafs/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 274 | fs/xiafs/bitmap.c | brelse(bh); |
bh | 280 | fs/xiafs/bitmap.c | struct buffer_head * bh; |
bh | 294 | fs/xiafs/bitmap.c | bh = get_imap_zone(sb, ino, NULL); |
bh | 295 | fs/xiafs/bitmap.c | if (!bh) |
bh | 298 | fs/xiafs/bitmap.c | if (!clear_bit(ino & (XIAFS_BITS_PER_Z(sb)-1), bh->b_data)) |
bh | 302 | fs/xiafs/bitmap.c | mark_buffer_dirty(bh, 1); |
bh | 340 | fs/xiafs/bitmap.c | static u_long count_zone(struct buffer_head * bh) |
bh | 346 | fs/xiafs/bitmap.c | for (i=bh->b_size; i-- > 0; ) { |
bh | 347 | fs/xiafs/bitmap.c | tmp=bh->b_data[i]; |
bh | 355 | fs/xiafs/bitmap.c | struct buffer_head * bh; |
bh | 362 | fs/xiafs/bitmap.c | bh=get_imap_zone(sb, i << XIAFS_BITS_PER_Z_BITS(sb), ¬_que); |
bh | 363 | fs/xiafs/bitmap.c | if (bh) { |
bh | 364 | fs/xiafs/bitmap.c | sum += count_zone(bh); |
bh | 374 | fs/xiafs/bitmap.c | struct buffer_head * bh; |
bh | 381 | fs/xiafs/bitmap.c | bh=get_zmap_zone(sb, i << XIAFS_BITS_PER_Z_BITS(sb), ¬_que); |
bh | 382 | fs/xiafs/bitmap.c | if (bh) { |
bh | 383 | fs/xiafs/bitmap.c | sum += count_zone(bh); |
bh | 72 | fs/xiafs/dir.c | struct buffer_head * bh; |
bh | 81 | fs/xiafs/dir.c | bh = xiafs_bread(inode, filp->f_pos >> XIAFS_ZSIZE_BITS(inode->i_sb),0); |
bh | 82 | fs/xiafs/dir.c | if (!bh) { |
bh | 87 | fs/xiafs/dir.c | de = (struct xiafs_direct *) (bh->b_data + i); |
bh | 93 | fs/xiafs/dir.c | de = (struct xiafs_direct *) (offset + bh->b_data); |
bh | 98 | fs/xiafs/dir.c | (char *)de+de->d_rec_len > XIAFS_ZSIZE(inode->i_sb)+bh->b_data || |
bh | 103 | fs/xiafs/dir.c | brelse(bh); |
bh | 112 | fs/xiafs/dir.c | brelse(bh); |
bh | 118 | fs/xiafs/dir.c | de = (struct xiafs_direct *) (offset + bh->b_data); |
bh | 120 | fs/xiafs/dir.c | brelse(bh); |
bh | 197 | fs/xiafs/file.c | struct buffer_head * bh; |
bh | 218 | fs/xiafs/file.c | bh = xiafs_getblk(inode, pos >> XIAFS_ZSIZE_BITS(inode->i_sb), 1); |
bh | 219 | fs/xiafs/file.c | if (!bh) { |
bh | 227 | fs/xiafs/file.c | if (c != XIAFS_ZSIZE(inode->i_sb) && !buffer_uptodate(bh)) { |
bh | 228 | fs/xiafs/file.c | ll_rw_block(READ, 1, &bh); |
bh | 229 | fs/xiafs/file.c | wait_on_buffer(bh); |
bh | 230 | fs/xiafs/file.c | if (!buffer_uptodate(bh)) { |
bh | 231 | fs/xiafs/file.c | brelse(bh); |
bh | 237 | fs/xiafs/file.c | cp = (pos & (XIAFS_ZSIZE(inode->i_sb)-1)) + bh->b_data; |
bh | 247 | fs/xiafs/file.c | mark_buffer_uptodate(bh, 1); |
bh | 248 | fs/xiafs/file.c | mark_buffer_dirty(bh, 0); |
bh | 249 | fs/xiafs/file.c | brelse(bh); |
bh | 31 | fs/xiafs/fsync.c | struct buffer_head * bh; |
bh | 37 | fs/xiafs/fsync.c | bh = get_hash_table(inode->i_dev, *block, blocksize); |
bh | 38 | fs/xiafs/fsync.c | if (!bh) |
bh | 41 | fs/xiafs/fsync.c | brelse (bh); |
bh | 44 | fs/xiafs/fsync.c | if (wait && buffer_req(bh) && !buffer_uptodate(bh)) { |
bh | 45 | fs/xiafs/fsync.c | brelse(bh); |
bh | 48 | fs/xiafs/fsync.c | if (wait || !buffer_uptodate(bh) || !buffer_dirty(bh)) |
bh | 50 | fs/xiafs/fsync.c | brelse(bh); |
bh | 53 | fs/xiafs/fsync.c | ll_rw_block(WRITE, 1, &bh); |
bh | 54 | fs/xiafs/fsync.c | bh->b_count--; |
bh | 59 | fs/xiafs/fsync.c | struct buffer_head **bh, int wait) |
bh | 63 | fs/xiafs/fsync.c | *bh = NULL; |
bh | 70 | fs/xiafs/fsync.c | *bh = bread(inode->i_dev, tmp, blocksize); |
bh | 72 | fs/xiafs/fsync.c | brelse(*bh); |
bh | 73 | fs/xiafs/fsync.c | *bh = NULL; |
bh | 76 | fs/xiafs/fsync.c | if (!*bh) |
bh | 65 | fs/xiafs/inode.c | struct buffer_head *bh; |
bh | 76 | fs/xiafs/inode.c | if (!(bh = bread(dev, 0, BLOCK_SIZE))) { |
bh | 83 | fs/xiafs/inode.c | sp = (struct xiafs_super_block *) bh->b_data; |
bh | 88 | fs/xiafs/inode.c | brelse(bh); |
bh | 100 | fs/xiafs/inode.c | brelse(bh); |
bh | 102 | fs/xiafs/inode.c | bh = bread (dev, 0, s->s_blocksize); |
bh | 103 | fs/xiafs/inode.c | if(!bh) { |
bh | 107 | fs/xiafs/inode.c | sp = (struct xiafs_super_block *) (((char *)bh->b_data) + BLOCK_SIZE) ; |
bh | 117 | fs/xiafs/inode.c | brelse(bh); |
bh | 184 | fs/xiafs/inode.c | static int zone_bmap(struct buffer_head * bh, int nr) |
bh | 188 | fs/xiafs/inode.c | if (!bh) |
bh | 190 | fs/xiafs/inode.c | tmp = ((u_long *) bh->b_data)[nr]; |
bh | 191 | fs/xiafs/inode.c | brelse(bh); |
bh | 274 | fs/xiafs/inode.c | indt_getblk(struct inode * inode, struct buffer_head * bh, |
bh | 281 | fs/xiafs/inode.c | if (!bh) |
bh | 283 | fs/xiafs/inode.c | if (!buffer_uptodate(bh)) { |
bh | 284 | fs/xiafs/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 285 | fs/xiafs/inode.c | wait_on_buffer(bh); |
bh | 286 | fs/xiafs/inode.c | if (!buffer_uptodate(bh)) { |
bh | 287 | fs/xiafs/inode.c | brelse(bh); |
bh | 291 | fs/xiafs/inode.c | lp = nr + (u_long *) bh->b_data; |
bh | 294 | fs/xiafs/inode.c | result = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
bh | 296 | fs/xiafs/inode.c | brelse(bh); |
bh | 303 | fs/xiafs/inode.c | brelse(bh); |
bh | 308 | fs/xiafs/inode.c | brelse(bh); |
bh | 311 | fs/xiafs/inode.c | result = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
bh | 319 | fs/xiafs/inode.c | mark_buffer_dirty(bh, 1); |
bh | 320 | fs/xiafs/inode.c | brelse(bh); |
bh | 326 | fs/xiafs/inode.c | struct buffer_head * bh; |
bh | 344 | fs/xiafs/inode.c | bh = dt_getblk(inode, &(inode->u.xiafs_i.i_ind_zone), create, prev_addr); |
bh | 345 | fs/xiafs/inode.c | bh = indt_getblk(inode, bh, zone, create, prev_addr); |
bh | 346 | fs/xiafs/inode.c | return bh; |
bh | 349 | fs/xiafs/inode.c | bh = dt_getblk(inode, &(inode->u.xiafs_i.i_dind_zone), create, prev_addr); |
bh | 350 | fs/xiafs/inode.c | bh = indt_getblk(inode, bh, zone>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb), |
bh | 352 | fs/xiafs/inode.c | bh = indt_getblk(inode, bh, zone&(XIAFS_ADDRS_PER_Z(inode->i_sb)-1), |
bh | 354 | fs/xiafs/inode.c | return bh; |
bh | 359 | fs/xiafs/inode.c | struct buffer_head * bh; |
bh | 361 | fs/xiafs/inode.c | bh = xiafs_getblk(inode, zone, create); |
bh | 362 | fs/xiafs/inode.c | if (!bh || buffer_uptodate(bh)) |
bh | 363 | fs/xiafs/inode.c | return bh; |
bh | 364 | fs/xiafs/inode.c | ll_rw_block(READ, 1, &bh); |
bh | 365 | fs/xiafs/inode.c | wait_on_buffer(bh); |
bh | 366 | fs/xiafs/inode.c | if (buffer_uptodate(bh)) |
bh | 367 | fs/xiafs/inode.c | return bh; |
bh | 368 | fs/xiafs/inode.c | brelse(bh); |
bh | 374 | fs/xiafs/inode.c | struct buffer_head * bh; |
bh | 389 | fs/xiafs/inode.c | if (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) { |
bh | 393 | fs/xiafs/inode.c | raw_inode = ((struct xiafs_inode *) bh->b_data) + |
bh | 414 | fs/xiafs/inode.c | brelse(bh); |
bh | 431 | fs/xiafs/inode.c | struct buffer_head * bh; |
bh | 451 | fs/xiafs/inode.c | if (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) { |
bh | 456 | fs/xiafs/inode.c | raw_inode = ((struct xiafs_inode *)bh->b_data) + |
bh | 479 | fs/xiafs/inode.c | mark_buffer_dirty(bh, 1); |
bh | 480 | fs/xiafs/inode.c | return bh; |
bh | 486 | fs/xiafs/inode.c | struct buffer_head * bh; |
bh | 487 | fs/xiafs/inode.c | bh = xiafs_update_inode(inode); |
bh | 488 | fs/xiafs/inode.c | brelse (bh); |
bh | 494 | fs/xiafs/inode.c | struct buffer_head *bh; |
bh | 496 | fs/xiafs/inode.c | bh = xiafs_update_inode(inode); |
bh | 497 | fs/xiafs/inode.c | if (bh && buffer_dirty(bh)) |
bh | 499 | fs/xiafs/inode.c | ll_rw_block(WRITE, 1, &bh); |
bh | 500 | fs/xiafs/inode.c | wait_on_buffer(bh); |
bh | 501 | fs/xiafs/inode.c | if (buffer_req(bh) && !buffer_uptodate(bh)) |
bh | 508 | fs/xiafs/inode.c | else if (!bh) |
bh | 510 | fs/xiafs/inode.c | brelse (bh); |
bh | 62 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 77 | fs/xiafs/namei.c | bh = xiafs_bread(inode, i, 0); |
bh | 78 | fs/xiafs/namei.c | if (!bh) |
bh | 80 | fs/xiafs/namei.c | dep_pre=dep=(struct xiafs_direct *)bh->b_data; |
bh | 84 | fs/xiafs/namei.c | brelse(bh); |
bh | 91 | fs/xiafs/namei.c | dep->d_rec_len+(char *)dep > bh->b_data+XIAFS_ZSIZE(inode->i_sb) || |
bh | 94 | fs/xiafs/namei.c | brelse(bh); |
bh | 101 | fs/xiafs/namei.c | return bh; |
bh | 105 | fs/xiafs/namei.c | dep=(struct xiafs_direct *)(bh->b_data + pos); |
bh | 107 | fs/xiafs/namei.c | brelse(bh); |
bh | 121 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 130 | fs/xiafs/namei.c | if (!(bh = xiafs_find_entry(dir, name, len, &dep, NULL))) { |
bh | 135 | fs/xiafs/namei.c | brelse(bh); |
bh | 159 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 172 | fs/xiafs/namei.c | bh = xiafs_bread(dir, pos >> XIAFS_ZSIZE_BITS(dir->i_sb), pos ? 1:0); |
bh | 173 | fs/xiafs/namei.c | if (!bh) |
bh | 175 | fs/xiafs/namei.c | de_pre=de=(struct xiafs_direct *)bh->b_data; |
bh | 180 | fs/xiafs/namei.c | brelse(bh); |
bh | 184 | fs/xiafs/namei.c | de_pre=de=(struct xiafs_direct *)(bh->b_data+12); |
bh | 198 | fs/xiafs/namei.c | (char *)de+de->d_rec_len > bh->b_data+XIAFS_ZSIZE(dir->i_sb) || |
bh | 202 | fs/xiafs/namei.c | brelse(bh); |
bh | 225 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 229 | fs/xiafs/namei.c | return bh; |
bh | 233 | fs/xiafs/namei.c | de=(struct xiafs_direct *)(bh->b_data+offset); |
bh | 235 | fs/xiafs/namei.c | brelse(bh); |
bh | 249 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 263 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
bh | 264 | fs/xiafs/namei.c | if (!bh) { |
bh | 272 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 273 | fs/xiafs/namei.c | brelse(bh); |
bh | 282 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 287 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir,name,len,&de, NULL); |
bh | 288 | fs/xiafs/namei.c | if (bh) { |
bh | 289 | fs/xiafs/namei.c | brelse(bh); |
bh | 320 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
bh | 321 | fs/xiafs/namei.c | if (!bh) { |
bh | 329 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 330 | fs/xiafs/namei.c | brelse(bh); |
bh | 339 | fs/xiafs/namei.c | struct buffer_head * bh, *dir_block; |
bh | 342 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir,name,len,&de, NULL); |
bh | 343 | fs/xiafs/namei.c | if (bh) { |
bh | 344 | fs/xiafs/namei.c | brelse(bh); |
bh | 386 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
bh | 387 | fs/xiafs/namei.c | if (!bh) { |
bh | 394 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 399 | fs/xiafs/namei.c | brelse(bh); |
bh | 409 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 419 | fs/xiafs/namei.c | bh = xiafs_bread(inode, i, 0); |
bh | 421 | fs/xiafs/namei.c | if (!bh) { |
bh | 425 | fs/xiafs/namei.c | de=(struct xiafs_direct *)bh->b_data; |
bh | 429 | fs/xiafs/namei.c | brelse(bh); |
bh | 432 | fs/xiafs/namei.c | de=(struct xiafs_direct *)(12 + bh->b_data); |
bh | 435 | fs/xiafs/namei.c | brelse(bh); |
bh | 442 | fs/xiafs/namei.c | if (!bh) |
bh | 445 | fs/xiafs/namei.c | de=(struct xiafs_direct *)(bh->b_data+offset); |
bh | 448 | fs/xiafs/namei.c | (char *)de+de->d_rec_len > bh->b_data+XIAFS_ZSIZE(inode->i_sb) || |
bh | 452 | fs/xiafs/namei.c | brelse(bh); |
bh | 456 | fs/xiafs/namei.c | brelse(bh); |
bh | 461 | fs/xiafs/namei.c | brelse(bh); |
bh | 490 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 494 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir, name, len, &de, &de_pre); |
bh | 496 | fs/xiafs/namei.c | if (!bh) |
bh | 524 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 534 | fs/xiafs/namei.c | brelse(bh); |
bh | 542 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 548 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir, name, len, &de, &de_pre); |
bh | 549 | fs/xiafs/namei.c | if (!bh) |
bh | 558 | fs/xiafs/namei.c | brelse(bh); |
bh | 572 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 579 | fs/xiafs/namei.c | brelse(bh); |
bh | 590 | fs/xiafs/namei.c | struct buffer_head * bh = NULL, * name_block = NULL; |
bh | 594 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir,name,len, &de, NULL); |
bh | 595 | fs/xiafs/namei.c | if (bh) { |
bh | 596 | fs/xiafs/namei.c | brelse(bh); |
bh | 621 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
bh | 622 | fs/xiafs/namei.c | if (!bh) { |
bh | 630 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 631 | fs/xiafs/namei.c | brelse(bh); |
bh | 641 | fs/xiafs/namei.c | struct buffer_head * bh; |
bh | 653 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir, name, len, &de, NULL); |
bh | 654 | fs/xiafs/namei.c | if (bh) { |
bh | 655 | fs/xiafs/namei.c | brelse(bh); |
bh | 660 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
bh | 661 | fs/xiafs/namei.c | if (!bh) { |
bh | 667 | fs/xiafs/namei.c | mark_buffer_dirty(bh, 1); |
bh | 668 | fs/xiafs/namei.c | brelse(bh); |
bh | 51 | fs/xiafs/symlink.c | struct buffer_head * bh; |
bh | 61 | fs/xiafs/symlink.c | bh = xiafs_bread(inode, 0, 0); |
bh | 67 | fs/xiafs/symlink.c | if (!bh) |
bh | 69 | fs/xiafs/symlink.c | for (i=0; i < buflen && (c=bh->b_data[i]); i++) |
bh | 73 | fs/xiafs/symlink.c | brelse(bh); |
bh | 81 | fs/xiafs/symlink.c | struct buffer_head * bh; |
bh | 106 | fs/xiafs/symlink.c | if (!(bh = xiafs_bread(inode, 0, 0))) { |
bh | 113 | fs/xiafs/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
bh | 115 | fs/xiafs/symlink.c | brelse(bh); |
bh | 41 | fs/xiafs/truncate.c | struct buffer_head * bh; |
bh | 52 | fs/xiafs/truncate.c | bh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
bh | 54 | fs/xiafs/truncate.c | brelse(bh); |
bh | 57 | fs/xiafs/truncate.c | if ((bh && bh->b_count != 1) || tmp != *lp) |
bh | 65 | fs/xiafs/truncate.c | brelse(bh); |
bh | 75 | fs/xiafs/truncate.c | struct buffer_head * bh, * ind_bh; |
bh | 98 | fs/xiafs/truncate.c | bh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
bh | 100 | fs/xiafs/truncate.c | brelse(bh); |
bh | 103 | fs/xiafs/truncate.c | if ((bh && bh->b_count != 1) || tmp != *indp) |
bh | 111 | fs/xiafs/truncate.c | brelse(bh); |
bh | 27 | include/linux/affs_fs.h | struct buffer_head *bh; |
bh | 30 | include/linux/affs_fs.h | bh = bread (dev, sector >> (BLOCK_SIZE_BITS - AFFS_BLOCK_BITS), 1024); |
bh | 31 | include/linux/affs_fs.h | if (!bh) |
bh | 34 | include/linux/affs_fs.h | *start = bh->b_data + ((sector & mask) << AFFS_BLOCK_BITS); |
bh | 35 | include/linux/affs_fs.h | return bh; |
bh | 98 | include/linux/affs_fs.h | extern void leak_check_brelse(struct buffer_head * bh); |
bh | 359 | include/linux/blk.h | if (CURRENT->bh) { \ |
bh | 360 | include/linux/blk.h | if (!buffer_locked(CURRENT->bh)) \ |
bh | 382 | include/linux/blk.h | struct buffer_head * bh; |
bh | 394 | include/linux/blk.h | if ((bh = req->bh) != NULL) { |
bh | 395 | include/linux/blk.h | req->bh = bh->b_reqnext; |
bh | 396 | include/linux/blk.h | bh->b_reqnext = NULL; |
bh | 397 | include/linux/blk.h | mark_buffer_uptodate(bh, uptodate); |
bh | 398 | include/linux/blk.h | unlock_buffer(bh); |
bh | 399 | include/linux/blk.h | if ((bh = req->bh) != NULL) { |
bh | 400 | include/linux/blk.h | req->current_nr_sectors = bh->b_size >> 9; |
bh | 405 | include/linux/blk.h | req->buffer = bh->b_data; |
bh | 31 | include/linux/blkdev.h | struct buffer_head * bh; |
bh | 181 | include/linux/fs.h | static inline int buffer_uptodate(struct buffer_head * bh) |
bh | 183 | include/linux/fs.h | return test_bit(BH_Uptodate, &bh->b_state); |
bh | 186 | include/linux/fs.h | static inline int buffer_dirty(struct buffer_head * bh) |
bh | 188 | include/linux/fs.h | return test_bit(BH_Dirty, &bh->b_state); |
bh | 191 | include/linux/fs.h | static inline int buffer_locked(struct buffer_head * bh) |
bh | 193 | include/linux/fs.h | return test_bit(BH_Lock, &bh->b_state); |
bh | 196 | include/linux/fs.h | static inline int buffer_req(struct buffer_head * bh) |
bh | 198 | include/linux/fs.h | return test_bit(BH_Req, &bh->b_state); |
bh | 201 | include/linux/fs.h | static inline int buffer_touched(struct buffer_head * bh) |
bh | 203 | include/linux/fs.h | return test_bit(BH_Touched, &bh->b_state); |
bh | 206 | include/linux/fs.h | static inline int buffer_has_aged(struct buffer_head * bh) |
bh | 208 | include/linux/fs.h | return test_bit(BH_Has_aged, &bh->b_state); |
bh | 211 | include/linux/fs.h | static inline int buffer_protected(struct buffer_head * bh) |
bh | 213 | include/linux/fs.h | return test_bit(BH_Protected, &bh->b_state); |
bh | 576 | include/linux/fs.h | void mark_buffer_uptodate(struct buffer_head * bh, int on); |
bh | 578 | include/linux/fs.h | extern inline void mark_buffer_clean(struct buffer_head * bh) |
bh | 580 | include/linux/fs.h | if (clear_bit(BH_Dirty, &bh->b_state)) { |
bh | 581 | include/linux/fs.h | if (bh->b_list == BUF_DIRTY) |
bh | 582 | include/linux/fs.h | refile_buffer(bh); |
bh | 586 | include/linux/fs.h | extern inline void mark_buffer_dirty(struct buffer_head * bh, int flag) |
bh | 588 | include/linux/fs.h | if (!set_bit(BH_Dirty, &bh->b_state)) { |
bh | 589 | include/linux/fs.h | set_writetime(bh, flag); |
bh | 590 | include/linux/fs.h | if (bh->b_list != BUF_DIRTY) |
bh | 591 | include/linux/fs.h | refile_buffer(bh); |
bh | 625 | include/linux/fs.h | extern void ll_rw_block(int rw, int nr, struct buffer_head * bh[]); |
bh | 204 | include/linux/iso_fs.h | extern void leak_check_brelse(struct buffer_head * bh); |
bh | 23 | include/linux/locks.h | extern inline void wait_on_buffer(struct buffer_head * bh) |
bh | 25 | include/linux/locks.h | if (test_bit(BH_Lock, &bh->b_state)) |
bh | 26 | include/linux/locks.h | __wait_on_buffer(bh); |
bh | 29 | include/linux/locks.h | extern inline void lock_buffer(struct buffer_head * bh) |
bh | 31 | include/linux/locks.h | if (set_bit(BH_Lock, &bh->b_state)) |
bh | 32 | include/linux/locks.h | __wait_on_buffer(bh); |
bh | 182 | include/linux/msdos_fs.h | extern int fat_get_entry(struct inode *dir,loff_t *pos,struct buffer_head **bh, |
bh | 24 | include/linux/stats206.h | x(bh), x(open), x(ioctl_multisession) |
bh | 36 | kernel/softirq.c | void (**bh)(void); |
bh | 39 | kernel/softirq.c | bh = bh_base; |
bh | 41 | kernel/softirq.c | for (mask = 1, left = ~0 ; left & active ; bh++,mask += mask,left += left) { |
bh | 45 | kernel/softirq.c | fn = *bh; |
bh | 119 | mm/filemap.c | struct buffer_head *tmp, *bh; |
bh | 131 | mm/filemap.c | bh = page->buffers; |
bh | 132 | mm/filemap.c | if (bh) { |
bh | 133 | mm/filemap.c | tmp = bh; |
bh | 140 | mm/filemap.c | } while (tmp != bh); |
bh | 164 | mm/filemap.c | if (bh && try_to_free_buffer(bh, &bh, 6)) |
bh | 808 | mm/filemap.c | struct buffer_head * bh; |
bh | 810 | mm/filemap.c | bh = mem_map[MAP_NR(page)].buffers; |
bh | 811 | mm/filemap.c | if (bh) { |
bh | 813 | mm/filemap.c | struct buffer_head * tmp = bh; |
bh | 817 | mm/filemap.c | } while (tmp != bh); |