Lines Matching refs:bh

51 typedef void (bh_end_io_t)(struct buffer_head *bh, int uptodate);
85 static inline void set_buffer_##name(struct buffer_head *bh) \
87 set_bit(BH_##bit, &(bh)->b_state); \
89 static inline void clear_buffer_##name(struct buffer_head *bh) \
91 clear_bit(BH_##bit, &(bh)->b_state); \
93 static inline int buffer_##name(const struct buffer_head *bh) \
95 return test_bit(BH_##bit, &(bh)->b_state); \
102 static inline int test_set_buffer_##name(struct buffer_head *bh) \
104 return test_and_set_bit(BH_##bit, &(bh)->b_state); \
106 static inline int test_clear_buffer_##name(struct buffer_head *bh) \
108 return test_and_clear_bit(BH_##bit, &(bh)->b_state); \
134 #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) argument
151 void mark_buffer_dirty(struct buffer_head *bh);
153 void touch_buffer(struct buffer_head *bh);
154 void set_bh_page(struct buffer_head *bh,
161 void end_buffer_read_sync(struct buffer_head *bh, int uptodate);
162 void end_buffer_write_sync(struct buffer_head *bh, int uptodate);
163 void end_buffer_async_write(struct buffer_head *bh, int uptodate);
166 void mark_buffer_dirty_inode(struct buffer_head *bh, struct inode *inode);
173 void mark_buffer_async_write(struct buffer_head *bh);
175 wait_queue_head_t *bh_waitq_head(struct buffer_head *bh);
187 void free_buffer_head(struct buffer_head * bh);
188 void unlock_buffer(struct buffer_head *bh);
189 void __lock_buffer(struct buffer_head *bh);
190 void ll_rw_block(int, int, struct buffer_head * bh[]);
191 int sync_dirty_buffer(struct buffer_head *bh);
192 int __sync_dirty_buffer(struct buffer_head *bh, int rw);
193 void write_dirty_buffer(struct buffer_head *bh, int rw);
194 int _submit_bh(int rw, struct buffer_head *bh, unsigned long bio_flags);
198 int bh_uptodate_or_lock(struct buffer_head *bh);
199 int bh_submit_read(struct buffer_head *bh);
273 static inline void get_bh(struct buffer_head *bh) in get_bh() argument
275 atomic_inc(&bh->b_count); in get_bh()
278 static inline void put_bh(struct buffer_head *bh) in put_bh() argument
281 atomic_dec(&bh->b_count); in put_bh()
284 static inline void brelse(struct buffer_head *bh) in brelse() argument
286 if (bh) in brelse()
287 __brelse(bh); in brelse()
290 static inline void bforget(struct buffer_head *bh) in bforget() argument
292 if (bh) in bforget()
293 __bforget(bh); in bforget()
334 map_bh(struct buffer_head *bh, struct super_block *sb, sector_t block) in map_bh() argument
336 set_buffer_mapped(bh); in map_bh()
337 bh->b_bdev = sb->s_bdev; in map_bh()
338 bh->b_blocknr = block; in map_bh()
339 bh->b_size = sb->s_blocksize; in map_bh()
342 static inline void wait_on_buffer(struct buffer_head *bh) in wait_on_buffer() argument
345 if (buffer_locked(bh)) in wait_on_buffer()
346 __wait_on_buffer(bh); in wait_on_buffer()
349 static inline int trylock_buffer(struct buffer_head *bh) in trylock_buffer() argument
351 return likely(!test_and_set_bit_lock(BH_Lock, &bh->b_state)); in trylock_buffer()
354 static inline void lock_buffer(struct buffer_head *bh) in lock_buffer() argument
357 if (!trylock_buffer(bh)) in lock_buffer()
358 __lock_buffer(bh); in lock_buffer()