ia64/xen-unstable

changeset 195:7542fa654c67

bitkeeper revision 1.56 (3e4fa8f8qFVqiOGx5RWgOayKOHE4qQ)

blkdev.h, ll_rw_blk.c:
Make block-device layer a bit more robust for non-existsent devices.
author kaf24@labyrinth.cl.cam.ac.uk
date Sun Feb 16 15:06:32 2003 +0000 (2003-02-16)
parents 0dab1361ac2b
children a7df51f8cb0a
files xen-2.4.16/drivers/block/ll_rw_blk.c xen-2.4.16/include/xeno/blkdev.h
line diff
     1.1 --- a/xen-2.4.16/drivers/block/ll_rw_blk.c	Sun Feb 16 14:06:41 2003 +0000
     1.2 +++ b/xen-2.4.16/drivers/block/ll_rw_blk.c	Sun Feb 16 15:06:32 2003 +0000
     1.3 @@ -1122,7 +1122,7 @@ void generic_make_request (int rw, struc
     1.4  	 */
     1.5  	do {
     1.6  		q = blk_get_queue(bh->b_rdev);
     1.7 -		if (!q) {
     1.8 +		if (!q || !q->make_request_fn) {
     1.9  			printk(KERN_ERR
    1.10  			       "generic_make_request: Trying to access "
    1.11  			       "nonexistent block-device %s (%ld)\n",
     2.1 --- a/xen-2.4.16/include/xeno/blkdev.h	Sun Feb 16 14:06:41 2003 +0000
     2.2 +++ b/xen-2.4.16/include/xeno/blkdev.h	Sun Feb 16 15:06:32 2003 +0000
     2.3 @@ -123,11 +123,15 @@ static inline void mark_buffer_clean(str
     2.4  
     2.5  static inline void buffer_IO_error(struct buffer_head * bh)
     2.6  {
     2.7 -        mark_buffer_clean(bh);
     2.8 -        /*
     2.9 -         * b_end_io has to clear the BH_Uptodate bitflag in the error case!
    2.10 -         */
    2.11 -        bh->b_end_io(bh, 0);
    2.12 +    extern void end_block_io_op(struct buffer_head *bh);
    2.13 +
    2.14 +    mark_buffer_clean(bh);
    2.15 +    /*
    2.16 +     * b_end_io has to clear the BH_Uptodate bitflag in the error case!
    2.17 +     */
    2.18 +    bh->b_end_io(bh, 0);
    2.19 +    /* XXX KAF */
    2.20 +    end_block_io_op(bh);
    2.21  }
    2.22  
    2.23  /**** XXX END OF BUFFER_HEAD STUFF XXXX ****/