block_wait_queue_running(q);  
void generic_make_request(struct bio *bio){	request_queue_t *q;	sector_t maxsector;	int ret, nr_sectors = bio_sectors(bio);	might_sleep();	/* Test device or partition size, when known. */	maxsector = bio->bi_bdev->bd_inode->i_size >> 9;	if (maxsector) {		sector_t sector = bio->bi_sector;		if (maxsector < nr_sectors || maxsector - nr_sectors < sector) {			/*			 * This may well happen - the kernel calls bread()			 * without checking the size of the device, e.g., when			 * mounting a device.			 */			handle_bad_sector(bio);			goto end_io;		}	}	/*	 * Resolve the mapping until finished. (drivers are	 * still free to implement/resolve their own stacking	 * by explicitly returning 0)	 *	 * NOTE: we don't repeat the blk_size check for each new device.	 * Stacking drivers are expected to know what they are doing.	 */	do {		char b[BDEVNAME_SIZE];		q = bdev_get_queue(bio->bi_bdev);		if (!q) {			printk(KERN_ERR			       "generic_make_request: Trying to access "				"nonexistent block-device %s (%Lu)\n",				bdevname(bio->bi_bdev, b),				(long long) bio->bi_sector);end_io:			bio_endio(bio, bio->bi_size, -EIO);			break;		}		if (unlikely(bio_sectors(bio) > q->max_hw_sectors)) {			printk("bio too big device %s (%u > %u)\n", 				bdevname(bio->bi_bdev, b),				bio_sectors(bio),				q->max_hw_sectors);			goto end_io;		}		if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))			goto end_io;		block_wait_queue_running(q);		/*		 * If this device has partitions, remap block n		 * of partition p to block n+start(p) of the disk.		 */		blk_partition_remap(bio);		ret = q->make_request_fn(q, bio);	} while (ret);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/cb98fc8bb9c141009e2bda99c0db39d387e142cf/ll_rw_blk.c/clean/drivers/block/ll_rw_blk.c