Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 293579
Collapse All | Expand All

(-)cowloop-3.1/src/cowloop.c (-8 / +8 lines)
Lines 967-978 cowlo_request(request_queue_t *q) Link Here
967
967
968
	DEBUGP(DCOW "cowloop - request function called....\n");
968
	DEBUGP(DCOW "cowloop - request function called....\n");
969
969
970
	while((req = elv_next_request(q)) != NULL) {
970
	while((req = blk_peek_request(q)) != NULL) {
971
		DEBUGP(DCOW "cowloop - got next request\n");
971
		DEBUGP(DCOW "cowloop - got next request\n");
972
972
973
		if (! blk_fs_request(req)) {
973
		if (! blk_fs_request(req)) {
974
               		 /* this is not a normal file system request */
974
               		 /* this is not a normal file system request */
975
                	end_request(req, 0);
975
                	__blk_end_request_cur(req, -EIO);
976
                	continue;
976
                	continue;
977
        	}
977
        	}
978
		cowdev = req->rq_disk->private_data;
978
		cowdev = req->rq_disk->private_data;
Lines 988-994 cowlo_request(request_queue_t *q) Link Here
988
		*/
988
		*/
989
		if (!cowdev->pid) {
989
		if (!cowdev->pid) {
990
			printk(KERN_ERR"cowloop - no thread available\n");
990
			printk(KERN_ERR"cowloop - no thread available\n");
991
			end_request(req, 0);	/* request failed */
991
			__blk_end_request_cur(req, -EIO);	/* request failed */
992
			cowdev->iobusy	= 0;
992
			cowdev->iobusy	= 0;
993
			continue;
993
			continue;
994
		}
994
		}
Lines 1058-1064 cowlo_daemon(struct cowloop_device *cowd Link Here
1058
		*/
1058
		*/
1059
		spin_lock_irq(&cowdev->rqlock);
1059
		spin_lock_irq(&cowdev->rqlock);
1060
	
1060
	
1061
		end_request(cowdev->req, rv);
1061
		__blk_end_request_cur(cowdev->req, rv);
1062
		cowdev->iobusy = 0;
1062
		cowdev->iobusy = 0;
1063
1063
1064
		/*
1064
		/*
Lines 1090-1097 cowlo_do_request(struct request *req) Link Here
1090
	/*
1090
	/*
1091
	** calculate some variables which are needed later on
1091
	** calculate some variables which are needed later on
1092
	*/
1092
	*/
1093
	len     =          req->current_nr_sectors << 9;
1093
	len     =          blk_rq_cur_sectors(req) << 9;
1094
	offset  = (loff_t) req->sector             << 9;
1094
	offset  = (loff_t) blk_rq_pos(req)         << 9;
1095
1095
1096
	DEBUGP(DCOW"cowloop - req cmd=%d offset=%lld len=%lu addr=%p\n",
1096
	DEBUGP(DCOW"cowloop - req cmd=%d offset=%lld len=%lu addr=%p\n",
1097
				*(req->cmd), offset, len, req->buffer);
1097
				*(req->cmd), offset, len, req->buffer);
Lines 1918-1924 cowlo_openpair(char *rdof, char *cowf, i Link Here
1918
		return -EINVAL;
1918
		return -EINVAL;
1919
	}
1919
	}
1920
1920
1921
	blk_queue_hardsect_size(cowdev->rqueue, cowdev->blocksz);
1921
	blk_queue_logical_block_size(cowdev->rqueue, cowdev->blocksz);
1922
	cowdev->gd->queue = cowdev->rqueue;
1922
	cowdev->gd->queue = cowdev->rqueue;
1923
1923
1924
	/*
1924
	/*
Lines 2132-2138 cowlo_openrdo(struct cowloop_device *cow Link Here
2132
2132
2133
2133
2134
		if (cowdev->belowq)
2134
		if (cowdev->belowq)
2135
			cowdev->blocksz = cowdev->belowq->hardsect_size;
2135
			cowdev->blocksz = queue_logical_block_size(cowdev->belowq);
2136
2136
2137
		if (cowdev->blocksz == 0)
2137
		if (cowdev->blocksz == 0)
2138
			cowdev->blocksz = BLOCK_SIZE; /* default 2^10 */
2138
			cowdev->blocksz = BLOCK_SIZE; /* default 2^10 */

Return to bug 293579