Lines Matching refs:bh

49 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); \
110 static __always_inline int test_clear_buffer_##name(struct buffer_head *bh) \
112 return test_and_clear_bit(BH_##bit, &(bh)->b_state); \
138 #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) argument
155 void mark_buffer_dirty(struct buffer_head *bh);
156 void mark_buffer_write_io_error(struct buffer_head *bh);
157 void touch_buffer(struct buffer_head *bh);
158 void set_bh_page(struct buffer_head *bh,
165 void end_buffer_read_sync(struct buffer_head *bh, int uptodate);
166 void end_buffer_write_sync(struct buffer_head *bh, int uptodate);
167 void end_buffer_async_write(struct buffer_head *bh, int uptodate);
170 void mark_buffer_dirty_inode(struct buffer_head *bh, struct inode *inode);
177 static inline void clean_bdev_bh_alias(struct buffer_head *bh) in clean_bdev_bh_alias() argument
179 clean_bdev_aliases(bh->b_bdev, bh->b_blocknr, 1); in clean_bdev_bh_alias()
182 void mark_buffer_async_write(struct buffer_head *bh);
184 wait_queue_head_t *bh_waitq_head(struct buffer_head *bh);
200 void free_buffer_head(struct buffer_head * bh);
201 void unlock_buffer(struct buffer_head *bh);
202 void __lock_buffer(struct buffer_head *bh);
203 void ll_rw_block(int, int, int, struct buffer_head * bh[]);
204 int sync_dirty_buffer(struct buffer_head *bh);
205 int __sync_dirty_buffer(struct buffer_head *bh, int op_flags);
206 void write_dirty_buffer(struct buffer_head *bh, int op_flags);
210 int bh_uptodate_or_lock(struct buffer_head *bh);
211 int bh_submit_read(struct buffer_head *bh);
277 static inline void get_bh(struct buffer_head *bh) in get_bh() argument
279 atomic_inc(&bh->b_count); in get_bh()
282 static inline void put_bh(struct buffer_head *bh) in put_bh() argument
285 atomic_dec(&bh->b_count); in put_bh()
288 static inline void brelse(struct buffer_head *bh) in brelse() argument
290 if (bh) in brelse()
291 __brelse(bh); in brelse()
294 static inline void bforget(struct buffer_head *bh) in bforget() argument
296 if (bh) in bforget()
297 __bforget(bh); in bforget()
344 map_bh(struct buffer_head *bh, struct super_block *sb, sector_t block) in map_bh() argument
346 set_buffer_mapped(bh); in map_bh()
347 bh->b_bdev = sb->s_bdev; in map_bh()
348 bh->b_blocknr = block; in map_bh()
349 bh->b_size = sb->s_blocksize; in map_bh()
352 static inline void wait_on_buffer(struct buffer_head *bh) in wait_on_buffer() argument
355 if (buffer_locked(bh)) in wait_on_buffer()
356 __wait_on_buffer(bh); in wait_on_buffer()
359 static inline int trylock_buffer(struct buffer_head *bh) in trylock_buffer() argument
361 return likely(!test_and_set_bit_lock(BH_Lock, &bh->b_state)); in trylock_buffer()
364 static inline void lock_buffer(struct buffer_head *bh) in lock_buffer() argument
367 if (!trylock_buffer(bh)) in lock_buffer()
368 __lock_buffer(bh); in lock_buffer()