taglinefilesource code
bh50fs/bitmap.cstruct buffer_head * bh;
bh56fs/bitmap.cbh = get_hash_table(dev,block);
bh57fs/bitmap.cif (bh) {
bh58fs/bitmap.cif (bh->b_count != 1) {
bh60fs/bitmap.cdev,block,bh->b_count);
bh63fs/bitmap.cbh->b_dirt=0;
bh64fs/bitmap.cbh->b_uptodate=0;
bh65fs/bitmap.cbrelse(bh);
bh77fs/bitmap.cstruct buffer_head * bh;
bh85fs/bitmap.cif (bh=sb->s_zmap[i])
bh86fs/bitmap.cif ((j=find_first_zero(bh->b_data))<8192)
bh88fs/bitmap.cif (i>=8 || !bh || j>=8192)
bh90fs/bitmap.cif (set_bit(j,bh->b_data))
bh92fs/bitmap.cbh->b_dirt = 1;
bh96fs/bitmap.cif (!(bh=getblk(dev,j)))
bh98fs/bitmap.cif (bh->b_count != 1)
bh100fs/bitmap.cclear_block(bh->b_data);
bh101fs/bitmap.cbh->b_uptodate = 1;
bh102fs/bitmap.cbh->b_dirt = 1;
bh103fs/bitmap.cbrelse(bh);
bh110fs/bitmap.cstruct buffer_head * bh;
bh128fs/bitmap.cif (!(bh=sb->s_imap[inode->i_num>>13]))
bh130fs/bitmap.cif (clear_bit(inode->i_num&8191,bh->b_data))
bh132fs/bitmap.cbh->b_dirt = 1;
bh140fs/bitmap.cstruct buffer_head * bh;
bh149fs/bitmap.cif (bh=sb->s_imap[i])
bh150fs/bitmap.cif ((j=find_first_zero(bh->b_data))<8192)
bh152fs/bitmap.cif (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) {
bh156fs/bitmap.cif (set_bit(j,bh->b_data))
bh158fs/bitmap.cbh->b_dirt = 1;
bh20fs/block_dev.cstruct buffer_head * bh;
bh28fs/block_dev.cbh = getblk(dev,block);
bh30fs/block_dev.cbh = breada(dev,block,block+1,block+2,-1);
bh32fs/block_dev.cif (!bh)
bh34fs/block_dev.cp = offset + bh->b_data;
bh41fs/block_dev.cbh->b_dirt = 1;
bh42fs/block_dev.cbrelse(bh);
bh53fs/block_dev.cstruct buffer_head * bh;
bh60fs/block_dev.cif (!(bh = breada(dev,block,block+1,block+2,-1)))
bh63fs/block_dev.cp = offset + bh->b_data;
bh70fs/block_dev.cbrelse(bh);
bh36fs/buffer.cstatic inline void wait_on_buffer(struct buffer_head * bh)
bh39fs/buffer.cwhile (bh->b_lock)
bh40fs/buffer.csleep_on(&bh->b_wait);
bh47fs/buffer.cstruct buffer_head * bh;
bh50fs/buffer.cbh = start_buffer;
bh51fs/buffer.cfor (i=0 ; i<NR_BUFFERS ; i++,bh++) {
bh52fs/buffer.cwait_on_buffer(bh);
bh53fs/buffer.cif (bh->b_dirt)
bh54fs/buffer.cll_rw_block(WRITE,bh);
bh62fs/buffer.cstruct buffer_head * bh;
bh64fs/buffer.cbh = start_buffer;
bh65fs/buffer.cfor (i=0 ; i<NR_BUFFERS ; i++,bh++) {
bh66fs/buffer.cif (bh->b_dev != dev)
bh68fs/buffer.cwait_on_buffer(bh);
bh69fs/buffer.cif (bh->b_dev == dev && bh->b_dirt)
bh70fs/buffer.cll_rw_block(WRITE,bh);
bh73fs/buffer.cbh = start_buffer;
bh74fs/buffer.cfor (i=0 ; i<NR_BUFFERS ; i++,bh++) {
bh75fs/buffer.cif (bh->b_dev != dev)
bh77fs/buffer.cwait_on_buffer(bh);
bh78fs/buffer.cif (bh->b_dev == dev && bh->b_dirt)
bh79fs/buffer.cll_rw_block(WRITE,bh);
bh87fs/buffer.cstruct buffer_head * bh;
bh89fs/buffer.cbh = start_buffer;
bh90fs/buffer.cfor (i=0 ; i<NR_BUFFERS ; i++,bh++) {
bh91fs/buffer.cif (bh->b_dev != dev)
bh93fs/buffer.cwait_on_buffer(bh);
bh94fs/buffer.cif (bh->b_dev == dev)
bh95fs/buffer.cbh->b_uptodate = bh->b_dirt = 0;
bh131fs/buffer.cstatic inline void remove_from_queues(struct buffer_head * bh)
bh134fs/buffer.cif (bh->b_next)
bh135fs/buffer.cbh->b_next->b_prev = bh->b_prev;
bh136fs/buffer.cif (bh->b_prev)
bh137fs/buffer.cbh->b_prev->b_next = bh->b_next;
bh138fs/buffer.cif (hash(bh->b_dev,bh->b_blocknr) == bh)
bh139fs/buffer.chash(bh->b_dev,bh->b_blocknr) = bh->b_next;
bh141fs/buffer.cif (!(bh->b_prev_free) || !(bh->b_next_free))
bh143fs/buffer.cbh->b_prev_free->b_next_free = bh->b_next_free;
bh144fs/buffer.cbh->b_next_free->b_prev_free = bh->b_prev_free;
bh145fs/buffer.cif (free_list == bh)
bh146fs/buffer.cfree_list = bh->b_next_free;
bh149fs/buffer.cstatic inline void insert_into_queues(struct buffer_head * bh)
bh152fs/buffer.cbh->b_next_free = free_list;
bh153fs/buffer.cbh->b_prev_free = free_list->b_prev_free;
bh154fs/buffer.cfree_list->b_prev_free->b_next_free = bh;
bh155fs/buffer.cfree_list->b_prev_free = bh;
bh157fs/buffer.cbh->b_prev = NULL;
bh158fs/buffer.cbh->b_next = NULL;
bh159fs/buffer.cif (!bh->b_dev)
bh161fs/buffer.cbh->b_next = hash(bh->b_dev,bh->b_blocknr);
bh162fs/buffer.chash(bh->b_dev,bh->b_blocknr) = bh;
bh163fs/buffer.cbh->b_next->b_prev = bh;
bh185fs/buffer.cstruct buffer_head * bh;
bh188fs/buffer.cif (!(bh=find_buffer(dev,block)))
bh190fs/buffer.cbh->b_count++;
bh191fs/buffer.cwait_on_buffer(bh);
bh192fs/buffer.cif (bh->b_dev == dev && bh->b_blocknr == block)
bh193fs/buffer.creturn bh;
bh194fs/buffer.cbh->b_count--;
bh205fs/buffer.c#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock)
bh208fs/buffer.cstruct buffer_head * tmp, * bh;
bh211fs/buffer.cif (bh = get_hash_table(dev,block))
bh212fs/buffer.creturn bh;
bh217fs/buffer.cif (!bh || BADNESS(tmp)<BADNESS(bh)) {
bh218fs/buffer.cbh = tmp;
bh224fs/buffer.cif (!bh) {
bh228fs/buffer.cwait_on_buffer(bh);
bh229fs/buffer.cif (bh->b_count)
bh231fs/buffer.cwhile (bh->b_dirt) {
bh232fs/buffer.csync_dev(bh->b_dev);
bh233fs/buffer.cwait_on_buffer(bh);
bh234fs/buffer.cif (bh->b_count)
bh243fs/buffer.cbh->b_count=1;
bh244fs/buffer.cbh->b_dirt=0;
bh245fs/buffer.cbh->b_uptodate=0;
bh246fs/buffer.cremove_from_queues(bh);
bh247fs/buffer.cbh->b_dev=dev;
bh248fs/buffer.cbh->b_blocknr=block;
bh249fs/buffer.cinsert_into_queues(bh);
bh250fs/buffer.creturn bh;
bh269fs/buffer.cstruct buffer_head * bh;
bh271fs/buffer.cif (!(bh=getblk(dev,block)))
bh273fs/buffer.cif (bh->b_uptodate)
bh274fs/buffer.creturn bh;
bh275fs/buffer.cll_rw_block(READ,bh);
bh276fs/buffer.cwait_on_buffer(bh);
bh277fs/buffer.cif (bh->b_uptodate)
bh278fs/buffer.creturn bh;
bh279fs/buffer.cbrelse(bh);
bh298fs/buffer.cstruct buffer_head * bh[4];
bh303fs/buffer.cif (bh[i] = getblk(dev,b[i]))
bh304fs/buffer.cif (!bh[i]->b_uptodate)
bh305fs/buffer.cll_rw_block(READ,bh[i]);
bh307fs/buffer.cbh[i] = NULL;
bh309fs/buffer.cif (bh[i]) {
bh310fs/buffer.cwait_on_buffer(bh[i]);
bh311fs/buffer.cif (bh[i]->b_uptodate)
bh312fs/buffer.cCOPYBLK((unsigned long) bh[i]->b_data,address);
bh313fs/buffer.cbrelse(bh[i]);
bh325fs/buffer.cstruct buffer_head * bh, *tmp;
bh328fs/buffer.cif (!(bh=getblk(dev,first)))
bh330fs/buffer.cif (!bh->b_uptodate)
bh331fs/buffer.cll_rw_block(READ,bh);
bh336fs/buffer.cll_rw_block(READA,bh);
bh341fs/buffer.cwait_on_buffer(bh);
bh342fs/buffer.cif (bh->b_uptodate)
bh343fs/buffer.creturn bh;
bh344fs/buffer.cbrelse(bh);
bh186fs/exec.cstruct buffer_head * bh;
bh221fs/exec.cif (!(bh = bread(inode->i_dev,inode->i_zone[0]))) {
bh225fs/exec.cex = *((struct exec *) bh->b_data);  /* read exec-header */
bh226fs/exec.cif ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) {
bh235fs/exec.cstrncpy(buf, bh->b_data+2, 1022);
bh236fs/exec.cbrelse(bh);
bh298fs/exec.cbrelse(bh);
bh20fs/file_dev.cstruct buffer_head * bh;
bh26fs/file_dev.cif (!(bh=bread(inode->i_dev,nr)))
bh29fs/file_dev.cbh = NULL;
bh34fs/file_dev.cif (bh) {
bh35fs/file_dev.cchar * p = nr + bh->b_data;
bh38fs/file_dev.cbrelse(bh);
bh52fs/file_dev.cstruct buffer_head * bh;
bh67fs/file_dev.cif (!(bh=bread(inode->i_dev,block)))
bh70fs/file_dev.cp = c + bh->b_data;
bh71fs/file_dev.cbh->b_dirt = 1;
bh82fs/file_dev.cbrelse(bh);
bh74fs/inode.cstruct buffer_head * bh;
bh98fs/inode.cif (!(bh = bread(inode->i_dev,inode->i_zone[7])))
bh100fs/inode.ci = ((unsigned short *) (bh->b_data))[block];
bh103fs/inode.c((unsigned short *) (bh->b_data))[block]=i;
bh104fs/inode.cbh->b_dirt=1;
bh106fs/inode.cbrelse(bh);
bh117fs/inode.cif (!(bh=bread(inode->i_dev,inode->i_zone[8])))
bh119fs/inode.ci = ((unsigned short *)bh->b_data)[block>>9];
bh122fs/inode.c((unsigned short *) (bh->b_data))[block>>9]=i;
bh123fs/inode.cbh->b_dirt=1;
bh125fs/inode.cbrelse(bh);
bh128fs/inode.cif (!(bh=bread(inode->i_dev,i)))
bh130fs/inode.ci = ((unsigned short *)bh->b_data)[block&511];
bh133fs/inode.c((unsigned short *) (bh->b_data))[block&511]=i;
bh134fs/inode.cbh->b_dirt=1;
bh136fs/inode.cbrelse(bh);
bh297fs/inode.cstruct buffer_head * bh;
bh305fs/inode.cif (!(bh=bread(inode->i_dev,block)))
bh308fs/inode.c((struct d_inode *)bh->b_data)
bh310fs/inode.cbrelse(bh);
bh317fs/inode.cstruct buffer_head * bh;
bh329fs/inode.cif (!(bh=bread(inode->i_dev,block)))
bh331fs/inode.c((struct d_inode *)bh->b_data)
bh334fs/inode.cbh->b_dirt=1;
bh336fs/inode.cbrelse(bh);
bh96fs/namei.cstruct buffer_head * bh;
bh129fs/namei.cif (!(bh = bread((*dir)->i_dev,block)))
bh132fs/namei.cde = (struct dir_entry *) bh->b_data;
bh134fs/namei.cif ((char *)de >= BLOCK_SIZE+bh->b_data) {
bh135fs/namei.cbrelse(bh);
bh136fs/namei.cbh = NULL;
bh138fs/namei.c!(bh = bread((*dir)->i_dev,block))) {
bh142fs/namei.cde = (struct dir_entry *) bh->b_data;
bh146fs/namei.creturn bh;
bh151fs/namei.cbrelse(bh);
bh169fs/namei.cstruct buffer_head * bh;
bh184fs/namei.cif (!(bh = bread(dir->i_dev,block)))
bh187fs/namei.cde = (struct dir_entry *) bh->b_data;
bh189fs/namei.cif ((char *)de >= BLOCK_SIZE+bh->b_data) {
bh190fs/namei.cbrelse(bh);
bh191fs/namei.cbh = NULL;
bh195fs/namei.cif (!(bh = bread(dir->i_dev,block))) {
bh199fs/namei.cde = (struct dir_entry *) bh->b_data;
bh211fs/namei.cbh->b_dirt = 1;
bh213fs/namei.creturn bh;
bh218fs/namei.cbrelse(bh);
bh233fs/namei.cstruct buffer_head * bh;
bh259fs/namei.cif (!(bh = find_entry(&inode,thisname,namelen,&de))) {
bh265fs/namei.cbrelse(bh);
bh308fs/namei.cstruct buffer_head * bh;
bh315fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh316fs/namei.cif (!bh) {
bh322fs/namei.cbrelse(bh);
bh343fs/namei.cstruct buffer_head * bh;
bh360fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh361fs/namei.cif (!bh) {
bh378fs/namei.cbh = add_entry(dir,basename,namelen,&de);
bh379fs/namei.cif (!bh) {
bh386fs/namei.cbh->b_dirt = 1;
bh387fs/namei.cbrelse(bh);
bh394fs/namei.cbrelse(bh);
bh417fs/namei.cstruct buffer_head * bh;
bh432fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh433fs/namei.cif (bh) {
bh434fs/namei.cbrelse(bh);
bh448fs/namei.cbh = add_entry(dir,basename,namelen,&de);
bh449fs/namei.cif (!bh) {
bh456fs/namei.cbh->b_dirt = 1;
bh459fs/namei.cbrelse(bh);
bh468fs/namei.cstruct buffer_head * bh, *dir_block;
bh483fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh484fs/namei.cif (bh) {
bh485fs/namei.cbrelse(bh);
bh522fs/namei.cbh = add_entry(dir,basename,namelen,&de);
bh523fs/namei.cif (!bh) {
bh531fs/namei.cbh->b_dirt = 1;
bh536fs/namei.cbrelse(bh);
bh547fs/namei.cstruct buffer_head * bh;
bh552fs/namei.c!(bh=bread(inode->i_dev,inode->i_zone[0]))) {
bh556fs/namei.cde = (struct dir_entry *) bh->b_data;
bh565fs/namei.cif ((void *) de >= (void *) (bh->b_data+BLOCK_SIZE)) {
bh566fs/namei.cbrelse(bh);
bh572fs/namei.cif (!(bh=bread(inode->i_dev,block)))
bh574fs/namei.cde = (struct dir_entry *) bh->b_data;
bh577fs/namei.cbrelse(bh);
bh583fs/namei.cbrelse(bh);
bh592fs/namei.cstruct buffer_head * bh;
bh607fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh608fs/namei.cif (!bh) {
bh614fs/namei.cbrelse(bh);
bh621fs/namei.cbrelse(bh);
bh627fs/namei.cbrelse(bh);
bh633fs/namei.cbrelse(bh);
bh639fs/namei.cbrelse(bh);
bh645fs/namei.cbrelse(bh);
bh651fs/namei.cbh->b_dirt = 1;
bh652fs/namei.cbrelse(bh);
bh668fs/namei.cstruct buffer_head * bh;
bh681fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh682fs/namei.cif (!bh) {
bh688fs/namei.cbrelse(bh);
bh696fs/namei.cbrelse(bh);
bh702fs/namei.cbrelse(bh);
bh711fs/namei.cbh->b_dirt = 1;
bh712fs/namei.cbrelse(bh);
bh725fs/namei.cstruct buffer_head * bh;
bh756fs/namei.cbh = find_entry(&dir,basename,namelen,&de);
bh757fs/namei.cif (bh) {
bh758fs/namei.cbrelse(bh);
bh763fs/namei.cbh = add_entry(dir,basename,namelen,&de);
bh764fs/namei.cif (!bh) {
bh770fs/namei.cbh->b_dirt = 1;
bh771fs/namei.cbrelse(bh);
bh103fs/super.cstruct buffer_head * bh;
bh124fs/super.cif (!(bh = bread(dev,1))) {
bh130fs/super.c*((struct d_super_block *) bh->b_data);
bh131fs/super.cbrelse(bh);
bh13fs/truncate.cstruct buffer_head * bh;
bh19fs/truncate.cif (bh=bread(dev,block)) {
bh20fs/truncate.cp = (unsigned short *) bh->b_data;
bh24fs/truncate.cbrelse(bh);
bh31fs/truncate.cstruct buffer_head * bh;
bh37fs/truncate.cif (bh=bread(dev,block)) {
bh38fs/truncate.cp = (unsigned short *) bh->b_data;
bh42fs/truncate.cbrelse(bh);
bh187include/linux/fs.hextern void ll_rw_block(int rw, struct buffer_head * bh);
bh31kernel/blk_drv/blk.hstruct buffer_head * bh;
bh101kernel/blk_drv/blk.hextern inline void unlock_buffer(struct buffer_head * bh)
bh103kernel/blk_drv/blk.hif (!bh->b_lock)
bh105kernel/blk_drv/blk.hbh->b_lock=0;
bh106kernel/blk_drv/blk.hwake_up(&bh->b_wait);
bh112kernel/blk_drv/blk.hif (CURRENT->bh) {
bh113kernel/blk_drv/blk.hCURRENT->bh->b_uptodate = uptodate;
bh114kernel/blk_drv/blk.hunlock_buffer(CURRENT->bh);
bh119kernel/blk_drv/blk.hCURRENT->bh->b_blocknr);
bh133kernel/blk_drv/blk.hif (CURRENT->bh) { \
bh134kernel/blk_drv/blk.hif (!CURRENT->bh->b_lock) \
bh77kernel/blk_drv/hd.cstruct buffer_head * bh;
bh137kernel/blk_drv/hd.cif (!(bh = bread(0x300 + drive*5,0))) {
bh142kernel/blk_drv/hd.cif (bh->b_data[510] != 0x55 || (unsigned char)
bh143kernel/blk_drv/hd.cbh->b_data[511] != 0xAA) {
bh147kernel/blk_drv/hd.cp = 0x1BE + (void *)bh->b_data;
bh152kernel/blk_drv/hd.cbrelse(bh);
bh42kernel/blk_drv/ll_rw_blk.cstatic inline void lock_buffer(struct buffer_head * bh)
bh45kernel/blk_drv/ll_rw_blk.cwhile (bh->b_lock)
bh46kernel/blk_drv/ll_rw_blk.csleep_on(&bh->b_wait);
bh47kernel/blk_drv/ll_rw_blk.cbh->b_lock=1;
bh51kernel/blk_drv/ll_rw_blk.cstatic inline void unlock_buffer(struct buffer_head * bh)
bh53kernel/blk_drv/ll_rw_blk.cif (!bh->b_lock)
bh55kernel/blk_drv/ll_rw_blk.cbh->b_lock = 0;
bh56kernel/blk_drv/ll_rw_blk.cwake_up(&bh->b_wait);
bh70kernel/blk_drv/ll_rw_blk.cif (req->bh)
bh71kernel/blk_drv/ll_rw_blk.creq->bh->b_dirt = 0;
bh88kernel/blk_drv/ll_rw_blk.cstatic void make_request(int major,int rw, struct buffer_head * bh)
bh96kernel/blk_drv/ll_rw_blk.cif (bh->b_lock)
bh105kernel/blk_drv/ll_rw_blk.clock_buffer(bh);
bh106kernel/blk_drv/ll_rw_blk.cif ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) {
bh107kernel/blk_drv/ll_rw_blk.cunlock_buffer(bh);
bh126kernel/blk_drv/ll_rw_blk.cunlock_buffer(bh);
bh133kernel/blk_drv/ll_rw_blk.creq->dev = bh->b_dev;
bh136kernel/blk_drv/ll_rw_blk.creq->sector = bh->b_blocknr<<1;
bh138kernel/blk_drv/ll_rw_blk.creq->buffer = bh->b_data;
bh140kernel/blk_drv/ll_rw_blk.creq->bh = bh;
bh145kernel/blk_drv/ll_rw_blk.cvoid ll_rw_block(int rw, struct buffer_head * bh)
bh149kernel/blk_drv/ll_rw_blk.cif ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV ||
bh154kernel/blk_drv/ll_rw_blk.cmake_request(major,rw,bh);
bh73kernel/blk_drv/ramdisk.cstruct buffer_head *bh;
bh86kernel/blk_drv/ramdisk.cbh = breada(ROOT_DEV,block+1,block,block+2,-1);
bh87kernel/blk_drv/ramdisk.cif (!bh) {
bh91kernel/blk_drv/ramdisk.c*((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data);
bh92kernel/blk_drv/ramdisk.cbrelse(bh);
bh107kernel/blk_drv/ramdisk.cbh = breada(ROOT_DEV, block, block+1, block+2, -1);
bh109kernel/blk_drv/ramdisk.cbh = bread(ROOT_DEV, block);
bh110kernel/blk_drv/ramdisk.cif (!bh) {
bh115kernel/blk_drv/ramdisk.c(void) memcpy(cp, bh->b_data, BLOCK_SIZE);
bh116kernel/blk_drv/ramdisk.cbrelse(bh);