Home
last modified time | relevance | path

Searched refs:bh (Results 1 – 25 of 326) sorted by relevance

12345678910>>...14

/Linux-v4.19/fs/
Dbuffer.c51 static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,
56 inline void touch_buffer(struct buffer_head *bh) in touch_buffer() argument
58 trace_block_touch_buffer(bh); in touch_buffer()
59 mark_page_accessed(bh->b_page); in touch_buffer()
63 void __lock_buffer(struct buffer_head *bh) in __lock_buffer() argument
65 wait_on_bit_lock_io(&bh->b_state, BH_Lock, TASK_UNINTERRUPTIBLE); in __lock_buffer()
69 void unlock_buffer(struct buffer_head *bh) in unlock_buffer() argument
71 clear_bit_unlock(BH_Lock, &bh->b_state); in unlock_buffer()
73 wake_up_bit(&bh->b_state, BH_Lock); in unlock_buffer()
85 struct buffer_head *head, *bh; in buffer_check_dirty_writeback() local
[all …]
/Linux-v4.19/fs/ocfs2/
Dbuffer_head_io.c54 int ocfs2_write_block(struct ocfs2_super *osb, struct buffer_head *bh, in ocfs2_write_block() argument
59 trace_ocfs2_write_block((unsigned long long)bh->b_blocknr, ci); in ocfs2_write_block()
61 BUG_ON(bh->b_blocknr < OCFS2_SUPER_BLOCK_BLKNO); in ocfs2_write_block()
62 BUG_ON(buffer_jbd(bh)); in ocfs2_write_block()
75 lock_buffer(bh); in ocfs2_write_block()
76 set_buffer_uptodate(bh); in ocfs2_write_block()
79 clear_buffer_dirty(bh); in ocfs2_write_block()
81 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_block()
82 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_block()
83 submit_bh(REQ_OP_WRITE, 0, bh); in ocfs2_write_block()
[all …]
/Linux-v4.19/fs/gfs2/
Dmeta_io.c38 struct buffer_head *bh, *head; in gfs2_aspace_writepage() local
46 bh = head; in gfs2_aspace_writepage()
49 if (!buffer_mapped(bh)) in gfs2_aspace_writepage()
59 lock_buffer(bh); in gfs2_aspace_writepage()
60 } else if (!trylock_buffer(bh)) { in gfs2_aspace_writepage()
64 if (test_clear_buffer_dirty(bh)) { in gfs2_aspace_writepage()
65 mark_buffer_async_write(bh); in gfs2_aspace_writepage()
67 unlock_buffer(bh); in gfs2_aspace_writepage()
69 } while ((bh = bh->b_this_page) != head); in gfs2_aspace_writepage()
79 struct buffer_head *next = bh->b_this_page; in gfs2_aspace_writepage()
[all …]
/Linux-v4.19/fs/hpfs/
Dbuffer.c40 struct buffer_head *bh; in hpfs_prefetch_sectors() local
49 bh = sb_find_get_block(s, secno); in hpfs_prefetch_sectors()
50 if (bh) { in hpfs_prefetch_sectors()
51 if (buffer_uptodate(bh)) { in hpfs_prefetch_sectors()
52 brelse(bh); in hpfs_prefetch_sectors()
55 brelse(bh); in hpfs_prefetch_sectors()
74 struct buffer_head *bh; in hpfs_map_sector() local
82 *bhp = bh = sb_bread(s, hpfs_search_hotfix_map(s, secno)); in hpfs_map_sector()
83 if (bh != NULL) in hpfs_map_sector()
84 return bh->b_data; in hpfs_map_sector()
[all …]
Danode.c16 struct buffer_head *bh) in hpfs_bplus_lookup() argument
28 brelse(bh); in hpfs_bplus_lookup()
29 if (!(anode = hpfs_map_anode(s, a, &bh))) return -1; in hpfs_bplus_lookup()
34 brelse(bh); in hpfs_bplus_lookup()
42 brelse(bh); in hpfs_bplus_lookup()
51 brelse(bh); in hpfs_bplus_lookup()
55 brelse(bh); in hpfs_bplus_lookup()
68 struct buffer_head *bh, *bh1, *bh2; in hpfs_add_sector_to_btree() local
73 if (!(fnode = hpfs_map_fnode(s, node, &bh))) return -1; in hpfs_add_sector_to_btree()
76 if (!(anode = hpfs_map_anode(s, node, &bh))) return -1; in hpfs_add_sector_to_btree()
[all …]
/Linux-v4.19/fs/nilfs2/
Dgcinode.c62 struct buffer_head *bh; in nilfs_gccache_submit_read_data() local
65 bh = nilfs_grab_buffer(inode, inode->i_mapping, blkoff, 0); in nilfs_gccache_submit_read_data()
66 if (unlikely(!bh)) in nilfs_gccache_submit_read_data()
69 if (buffer_uptodate(bh)) in nilfs_gccache_submit_read_data()
77 brelse(bh); in nilfs_gccache_submit_read_data()
82 lock_buffer(bh); in nilfs_gccache_submit_read_data()
83 if (buffer_uptodate(bh)) { in nilfs_gccache_submit_read_data()
84 unlock_buffer(bh); in nilfs_gccache_submit_read_data()
88 if (!buffer_mapped(bh)) { in nilfs_gccache_submit_read_data()
89 bh->b_bdev = inode->i_sb->s_bdev; in nilfs_gccache_submit_read_data()
[all …]
Dbtnode.c33 struct buffer_head *bh; in nilfs_btnode_create_block() local
35 bh = nilfs_grab_buffer(inode, btnc, blocknr, BIT(BH_NILFS_Node)); in nilfs_btnode_create_block()
36 if (unlikely(!bh)) in nilfs_btnode_create_block()
39 if (unlikely(buffer_mapped(bh) || buffer_uptodate(bh) || in nilfs_btnode_create_block()
40 buffer_dirty(bh))) { in nilfs_btnode_create_block()
41 brelse(bh); in nilfs_btnode_create_block()
44 memset(bh->b_data, 0, i_blocksize(inode)); in nilfs_btnode_create_block()
45 bh->b_bdev = inode->i_sb->s_bdev; in nilfs_btnode_create_block()
46 bh->b_blocknr = blocknr; in nilfs_btnode_create_block()
47 set_buffer_mapped(bh); in nilfs_btnode_create_block()
[all …]
Dpage.c34 struct buffer_head *bh; in __nilfs_get_page_block() local
40 bh = nilfs_page_get_nth_block(page, block - first_block); in __nilfs_get_page_block()
42 touch_buffer(bh); in __nilfs_get_page_block()
43 wait_on_buffer(bh); in __nilfs_get_page_block()
44 return bh; in __nilfs_get_page_block()
55 struct buffer_head *bh; in nilfs_grab_buffer() local
61 bh = __nilfs_get_page_block(page, blkoff, index, blkbits, b_state); in nilfs_grab_buffer()
62 if (unlikely(!bh)) { in nilfs_grab_buffer()
67 return bh; in nilfs_grab_buffer()
75 void nilfs_forget_buffer(struct buffer_head *bh) in nilfs_forget_buffer() argument
[all …]
Dmdt.c31 struct buffer_head *bh, in nilfs_mdt_insert_new_block() argument
42 bh->b_blocknr = 0; in nilfs_mdt_insert_new_block()
44 ret = nilfs_bmap_insert(ii->i_bmap, block, (unsigned long)bh); in nilfs_mdt_insert_new_block()
48 set_buffer_mapped(bh); in nilfs_mdt_insert_new_block()
50 kaddr = kmap_atomic(bh->b_page); in nilfs_mdt_insert_new_block()
51 memset(kaddr + bh_offset(bh), 0, i_blocksize(inode)); in nilfs_mdt_insert_new_block()
53 init_block(inode, bh, kaddr); in nilfs_mdt_insert_new_block()
54 flush_dcache_page(bh->b_page); in nilfs_mdt_insert_new_block()
57 set_buffer_uptodate(bh); in nilfs_mdt_insert_new_block()
58 mark_buffer_dirty(bh); in nilfs_mdt_insert_new_block()
[all …]
/Linux-v4.19/fs/squashfs/
Dblock.c50 struct buffer_head *bh; in get_block_length() local
52 bh = sb_bread(sb, *cur_index); in get_block_length()
53 if (bh == NULL) in get_block_length()
57 *length = (unsigned char) bh->b_data[*offset]; in get_block_length()
58 put_bh(bh); in get_block_length()
59 bh = sb_bread(sb, ++(*cur_index)); in get_block_length()
60 if (bh == NULL) in get_block_length()
62 *length |= (unsigned char) bh->b_data[0] << 8; in get_block_length()
65 *length = (unsigned char) bh->b_data[*offset] | in get_block_length()
66 (unsigned char) bh->b_data[*offset + 1] << 8; in get_block_length()
[all …]
/Linux-v4.19/include/linux/
Dbuffer_head.h52 typedef void (bh_end_io_t)(struct buffer_head *bh, int uptodate);
88 static __always_inline void set_buffer_##name(struct buffer_head *bh) \
90 if (!test_bit(BH_##bit, &(bh)->b_state)) \
91 set_bit(BH_##bit, &(bh)->b_state); \
93 static __always_inline void clear_buffer_##name(struct buffer_head *bh) \
95 clear_bit(BH_##bit, &(bh)->b_state); \
97 static __always_inline int buffer_##name(const struct buffer_head *bh) \
99 return test_bit(BH_##bit, &(bh)->b_state); \
106 static __always_inline int test_set_buffer_##name(struct buffer_head *bh) \
108 return test_and_set_bit(BH_##bit, &(bh)->b_state); \
[all …]
/Linux-v4.19/fs/omfs/
Ddir.c38 struct buffer_head *bh; in omfs_scan_list() local
44 bh = omfs_bread(dir->i_sb, block); in omfs_scan_list()
45 if (!bh) { in omfs_scan_list()
50 oi = (struct omfs_inode *) bh->b_data; in omfs_scan_list()
52 brelse(bh); in omfs_scan_list()
57 return bh; in omfs_scan_list()
61 brelse(bh); in omfs_scan_list()
70 struct buffer_head *bh; in omfs_find_entry() local
74 bh = omfs_get_bucket(dir, name, namelen, &ofs); in omfs_find_entry()
75 if (!bh) in omfs_find_entry()
[all …]
/Linux-v4.19/fs/affs/
Dfile.c51 struct buffer_head *bh; in affs_grow_extcache() local
100 bh = affs_bread(sb, key); in affs_grow_extcache()
101 if (!bh) in affs_grow_extcache()
103 key = be32_to_cpu(AFFS_TAIL(sb, bh)->extension); in affs_grow_extcache()
104 affs_brelse(bh); in affs_grow_extcache()
118 affs_alloc_extblock(struct inode *inode, struct buffer_head *bh, u32 ext) in affs_alloc_extblock() argument
124 blocknr = affs_alloc_block(inode, bh->b_blocknr); in affs_alloc_extblock()
142 tmp = be32_to_cpu(AFFS_TAIL(sb, bh)->extension); in affs_alloc_extblock()
145 AFFS_TAIL(sb, bh)->extension = cpu_to_be32(blocknr); in affs_alloc_extblock()
146 affs_adjust_checksum(bh, blocknr - tmp); in affs_alloc_extblock()
[all …]
Damigaffs.c26 affs_insert_hash(struct inode *dir, struct buffer_head *bh) in affs_insert_hash() argument
33 ino = bh->b_blocknr; in affs_insert_hash()
34 offset = affs_hash_name(sb, AFFS_TAIL(sb, bh)->name + 1, AFFS_TAIL(sb, bh)->name[0]); in affs_insert_hash()
50 AFFS_TAIL(sb, bh)->parent = cpu_to_be32(dir->i_ino); in affs_insert_hash()
51 AFFS_TAIL(sb, bh)->hash_chain = 0; in affs_insert_hash()
52 affs_fix_checksum(sb, bh); in affs_insert_hash()
78 struct buffer_head *bh; in affs_remove_hash() local
89 bh = affs_bread(sb, dir->i_ino); in affs_remove_hash()
90 if (!bh) in affs_remove_hash()
94 hash_ino = be32_to_cpu(AFFS_HEAD(bh)->table[offset]); in affs_remove_hash()
[all …]
/Linux-v4.19/fs/ext2/
Dxattr.c68 #define HDR(bh) ((struct ext2_xattr_header *)((bh)->b_data)) argument
70 #define FIRST_ENTRY(bh) ENTRY(HDR(bh)+1) argument
80 # define ea_bdebug(bh, f...) do { \ argument
82 bh->b_bdev, (unsigned long) bh->b_blocknr); \
151 struct buffer_head *bh = NULL; in ext2_xattr_get() local
172 bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl); in ext2_xattr_get()
174 if (!bh) in ext2_xattr_get()
176 ea_bdebug(bh, "b_count=%d, refcount=%d", in ext2_xattr_get()
177 atomic_read(&(bh->b_count)), le32_to_cpu(HDR(bh)->h_refcount)); in ext2_xattr_get()
178 end = bh->b_data + bh->b_size; in ext2_xattr_get()
[all …]
/Linux-v4.19/fs/ext4/
Dext4_jbd2.c138 struct buffer_head *bh, in ext4_journal_abort_handle() argument
146 if (bh) in ext4_journal_abort_handle()
147 BUFFER_TRACE(bh, "abort"); in ext4_journal_abort_handle()
162 handle_t *handle, struct buffer_head *bh) in __ext4_journal_get_write_access() argument
169 err = jbd2_journal_get_write_access(handle, bh); in __ext4_journal_get_write_access()
171 ext4_journal_abort_handle(where, line, __func__, bh, in __ext4_journal_get_write_access()
191 struct buffer_head *bh, ext4_fsblk_t blocknr) in __ext4_forget() argument
198 BUFFER_TRACE(bh, "enter"); in __ext4_forget()
202 bh, is_metadata, inode->i_mode, in __ext4_forget()
207 bforget(bh); in __ext4_forget()
[all …]
Dmmp.c42 static int write_mmp_block(struct super_block *sb, struct buffer_head *bh) in write_mmp_block() argument
44 struct mmp_struct *mmp = (struct mmp_struct *)(bh->b_data); in write_mmp_block()
52 lock_buffer(bh); in write_mmp_block()
53 bh->b_end_io = end_buffer_write_sync; in write_mmp_block()
54 get_bh(bh); in write_mmp_block()
55 submit_bh(REQ_OP_WRITE, REQ_SYNC | REQ_META | REQ_PRIO, bh); in write_mmp_block()
56 wait_on_buffer(bh); in write_mmp_block()
58 if (unlikely(!buffer_uptodate(bh))) in write_mmp_block()
68 static int read_mmp_block(struct super_block *sb, struct buffer_head **bh, in read_mmp_block() argument
74 if (*bh) in read_mmp_block()
[all …]
Dpage-io.c55 static void buffer_io_error(struct buffer_head *bh) in buffer_io_error() argument
58 bh->b_bdev, in buffer_io_error()
59 (unsigned long long)bh->b_blocknr); in buffer_io_error()
72 struct buffer_head *bh, *head; in ext4_finish_bio() local
93 bh = head = page_buffers(page); in ext4_finish_bio()
101 if (bh_offset(bh) < bio_start || in ext4_finish_bio()
102 bh_offset(bh) + bh->b_size > bio_end) { in ext4_finish_bio()
103 if (buffer_async_write(bh)) in ext4_finish_bio()
107 clear_buffer_async_write(bh); in ext4_finish_bio()
109 buffer_io_error(bh); in ext4_finish_bio()
[all …]
Dindirect.c34 struct buffer_head *bh; member
37 static inline void add_chain(Indirect *p, struct buffer_head *bh, __le32 *v) in add_chain() argument
40 p->bh = bh; in add_chain()
150 struct buffer_head *bh; in ext4_get_branch() local
159 bh = sb_getblk(sb, le32_to_cpu(p->key)); in ext4_get_branch()
160 if (unlikely(!bh)) { in ext4_get_branch()
165 if (!bh_uptodate_or_lock(bh)) { in ext4_get_branch()
166 if (bh_submit_read(bh) < 0) { in ext4_get_branch()
167 put_bh(bh); in ext4_get_branch()
171 if (ext4_check_indirect_blockref(inode, bh)) { in ext4_get_branch()
[all …]
/Linux-v4.19/fs/reiserfs/
Dprints.c148 static int scnprintf_block_head(char *buf, size_t size, struct buffer_head *bh) in scnprintf_block_head() argument
152 B_LEVEL(bh), B_NR_ITEMS(bh), B_FREE_SPACE(bh)); in scnprintf_block_head()
155 static int scnprintf_buffer_head(char *buf, size_t size, struct buffer_head *bh) in scnprintf_buffer_head() argument
159 bh->b_bdev, bh->b_size, in scnprintf_buffer_head()
160 (unsigned long long)bh->b_blocknr, in scnprintf_buffer_head()
161 atomic_read(&(bh->b_count)), in scnprintf_buffer_head()
162 bh->b_state, bh->b_page, in scnprintf_buffer_head()
163 buffer_uptodate(bh) ? "UPTODATE" : "!UPTODATE", in scnprintf_buffer_head()
164 buffer_dirty(bh) ? "DIRTY" : "CLEAN", in scnprintf_buffer_head()
165 buffer_locked(bh) ? "LOCKED" : "UNLOCKED"); in scnprintf_buffer_head()
[all …]
/Linux-v4.19/fs/jbd2/
Dcommit.c32 static void journal_end_buffer_io_sync(struct buffer_head *bh, int uptodate) in journal_end_buffer_io_sync() argument
34 struct buffer_head *orig_bh = bh->b_private; in journal_end_buffer_io_sync()
36 BUFFER_TRACE(bh, ""); in journal_end_buffer_io_sync()
38 set_buffer_uptodate(bh); in journal_end_buffer_io_sync()
40 clear_buffer_uptodate(bh); in journal_end_buffer_io_sync()
46 unlock_buffer(bh); in journal_end_buffer_io_sync()
63 static void release_buffer_page(struct buffer_head *bh) in release_buffer_page() argument
67 if (buffer_dirty(bh)) in release_buffer_page()
69 if (atomic_read(&bh->b_count) != 1) in release_buffer_page()
71 page = bh->b_page; in release_buffer_page()
[all …]
/Linux-v4.19/arch/sh/kernel/
Dprocess_64.c43 unsigned long long ah, al, bh, bl, ch, cl; in show_regs() local
50 bh = (regs->regs[18]) >> 32; in show_regs()
55 ah, al, bh, bl, ch, cl); in show_regs()
59 asm volatile ("getcon " __TEA ", %0" : "=r" (bh)); in show_regs()
61 bh = (bh) >> 32; in show_regs()
68 ah, al, bh, bl, ch, cl); in show_regs()
72 bh = (regs->regs[1]) >> 32; in show_regs()
77 ah, al, bh, bl, ch, cl); in show_regs()
81 bh = (regs->regs[4]) >> 32; in show_regs()
86 ah, al, bh, bl, ch, cl); in show_regs()
[all …]
/Linux-v4.19/fs/minix/
Ditree_common.c7 struct buffer_head *bh; member
12 static inline void add_chain(Indirect *p, struct buffer_head *bh, block_t *v) in add_chain() argument
15 p->bh = bh; in add_chain()
25 static inline block_t *block_end(struct buffer_head *bh) in block_end() argument
27 return (block_t *)((char*)bh->b_data + bh->b_size); in block_end()
38 struct buffer_head *bh; in get_branch() local
46 bh = sb_bread(sb, block_to_cpu(p->key)); in get_branch()
47 if (!bh) in get_branch()
52 add_chain(++p, bh, (block_t *)bh->b_data + *++offsets); in get_branch()
61 brelse(bh); in get_branch()
[all …]
Dbitmap.c46 struct buffer_head *bh; in minix_free_block() local
61 bh = sbi->s_zmap[zone]; in minix_free_block()
63 if (!minix_test_and_clear_bit(bit, bh->b_data)) in minix_free_block()
67 mark_buffer_dirty(bh); in minix_free_block()
78 struct buffer_head *bh = sbi->s_zmap[i]; in minix_new_block() local
82 j = minix_find_first_zero_bit(bh->b_data, bits_per_zone); in minix_new_block()
84 minix_set_bit(j, bh->b_data); in minix_new_block()
86 mark_buffer_dirty(bh); in minix_new_block()
107 minix_V1_raw_inode(struct super_block *sb, ino_t ino, struct buffer_head **bh) in minix_V1_raw_inode() argument
121 *bh = sb_bread(sb, block); in minix_V1_raw_inode()
[all …]
/Linux-v4.19/fs/sysv/
Dballoc.c31 static inline sysv_zone_t *get_chunk(struct super_block *sb, struct buffer_head *bh) in get_chunk() argument
33 char *bh_data = bh->b_data; in get_chunk()
46 struct buffer_head * bh; in sysv_free_block() local
78 bh = sb_getblk(sb, block); in sysv_free_block()
79 if (!bh) { in sysv_free_block()
84 memset(bh->b_data, 0, sb->s_blocksize); in sysv_free_block()
85 *(__fs16*)bh->b_data = cpu_to_fs16(sbi, count); in sysv_free_block()
86 memcpy(get_chunk(sb,bh), blocks, count * sizeof(sysv_zone_t)); in sysv_free_block()
87 mark_buffer_dirty(bh); in sysv_free_block()
88 set_buffer_uptodate(bh); in sysv_free_block()
[all …]

12345678910>>...14