X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fbuffer_head.h;h=6d70bd5393e67e8b238f68e0f5ee19c153ee0987;hb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;hp=99cb4139354bf8f8d7b04b39d7fe846d69c78c9a;hpb=c449269f45c2cdf53af08c8d0af37472f66539d9;p=linux-2.6.git diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 99cb41393..6d70bd539 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h @@ -170,6 +170,7 @@ struct buffer_head *__bread(struct block_device *, sector_t block, int size); struct buffer_head *alloc_buffer_head(int gfp_flags); void free_buffer_head(struct buffer_head * bh); void FASTCALL(unlock_buffer(struct buffer_head *bh)); +void FASTCALL(__lock_buffer(struct buffer_head *bh)); void ll_rw_block(int, int, struct buffer_head * bh[]); void sync_dirty_buffer(struct buffer_head *bh); void submit_bh(int, struct buffer_head *); @@ -279,8 +280,8 @@ static inline void wait_on_buffer(struct buffer_head *bh) static inline void lock_buffer(struct buffer_head *bh) { - while (test_set_buffer_locked(bh)) - __wait_on_buffer(bh); + if (test_set_buffer_locked(bh)) + __lock_buffer(bh); } #endif /* _LINUX_BUFFER_HEAD_H */