Lines Matching refs:bh
70 struct buffer_head *bh; in getblk() local
71 int bufsize = sizeof(*bh) + kdev->k_ctx->fs->blocksize - in getblk()
72 sizeof(bh->b_data); in getblk()
74 bh = e2fsck_allocate_memory(kdev->k_ctx, bufsize, "block buffer"); in getblk()
75 if (!bh) in getblk()
85 bh->b_ctx = kdev->k_ctx; in getblk()
87 bh->b_io = kdev->k_ctx->fs->io; in getblk()
89 bh->b_io = kdev->k_ctx->journal_io; in getblk()
90 bh->b_size = blocksize; in getblk()
91 bh->b_blocknr = blocknr; in getblk()
93 return bh; in getblk()
111 struct buffer_head *bh; in ll_rw_block() local
114 bh = *bhp++; in ll_rw_block()
115 if (rw == READ && !bh->b_uptodate) { in ll_rw_block()
117 bh->b_blocknr, (void *) bh); in ll_rw_block()
118 retval = io_channel_read_blk64(bh->b_io, in ll_rw_block()
119 bh->b_blocknr, in ll_rw_block()
120 1, bh->b_data); in ll_rw_block()
122 com_err(bh->b_ctx->device_name, retval, in ll_rw_block()
124 bh->b_blocknr); in ll_rw_block()
125 bh->b_err = (int) retval; in ll_rw_block()
128 bh->b_uptodate = 1; in ll_rw_block()
129 } else if (rw == WRITE && bh->b_dirty) { in ll_rw_block()
131 bh->b_blocknr, in ll_rw_block()
132 (void *) bh); in ll_rw_block()
133 retval = io_channel_write_blk64(bh->b_io, in ll_rw_block()
134 bh->b_blocknr, in ll_rw_block()
135 1, bh->b_data); in ll_rw_block()
137 com_err(bh->b_ctx->device_name, retval, in ll_rw_block()
139 bh->b_blocknr); in ll_rw_block()
140 bh->b_err = (int) retval; in ll_rw_block()
143 bh->b_dirty = 0; in ll_rw_block()
144 bh->b_uptodate = 1; in ll_rw_block()
148 bh->b_blocknr); in ll_rw_block()
153 void mark_buffer_dirty(struct buffer_head *bh) in mark_buffer_dirty() argument
155 bh->b_dirty = 1; in mark_buffer_dirty()
158 static void mark_buffer_clean(struct buffer_head * bh) in mark_buffer_clean() argument
160 bh->b_dirty = 0; in mark_buffer_clean()
163 void brelse(struct buffer_head *bh) in brelse() argument
165 if (bh->b_dirty) in brelse()
166 ll_rw_block(WRITE, 1, &bh); in brelse()
168 bh->b_blocknr, (void *) bh, --bh_count); in brelse()
169 ext2fs_free_mem(&bh); in brelse()
172 int buffer_uptodate(struct buffer_head *bh) in buffer_uptodate() argument
174 return bh->b_uptodate; in buffer_uptodate()
177 void mark_buffer_uptodate(struct buffer_head *bh, int val) in mark_buffer_uptodate() argument
179 bh->b_uptodate = val; in mark_buffer_uptodate()
182 void wait_on_buffer(struct buffer_head *bh) in wait_on_buffer() argument
184 if (!bh->b_uptodate) in wait_on_buffer()
185 ll_rw_block(READ, 1, &bh); in wait_on_buffer()
233 struct buffer_head *bh; in e2fsck_get_journal() local
397 bh = getblk(dev_journal, start, ctx->fs->blocksize); in e2fsck_get_journal()
398 if (!bh) { in e2fsck_get_journal()
402 ll_rw_block(READ, 1, &bh); in e2fsck_get_journal()
403 if ((retval = bh->b_err) != 0) { in e2fsck_get_journal()
404 brelse(bh); in e2fsck_get_journal()
407 memcpy(&jsuper, start ? bh->b_data : bh->b_data + 1024, in e2fsck_get_journal()
409 brelse(bh); in e2fsck_get_journal()
433 if (!(bh = getblk(dev_journal, start, journal->j_blocksize))) { in e2fsck_get_journal()
438 journal->j_sb_buffer = bh; in e2fsck_get_journal()
439 journal->j_superblock = (journal_superblock_t *)bh->b_data; in e2fsck_get_journal()