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 */ |