queuedata
parent
75cc431d17
commit
73c774101c
8
sftl.c
8
sftl.c
|
@ -75,7 +75,7 @@ static void sftl_transfer(struct sftl_dev *dev, sector_t sector,
|
|||
|
||||
if ((offset + nblocks) > dev->size)
|
||||
{
|
||||
INFO("Beyond-end write (%ld %ld)\n", offset, nblocks);
|
||||
INFO("Beyond-end write (starting sector = %ld, count = %ld)\n", offset, nblocks);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,8 @@ static void sftl_request(struct request_queue *q)
|
|||
__blk_end_request_all(req, -EIO);
|
||||
continue;
|
||||
}
|
||||
//sbd_transfer(&Device, blk_rq_pos(req), blk_rq_cur_sectors(req), req->buffer, rq_data_dir(req));
|
||||
sftl_transfer((struct sftl_dev *)q->queuedata, blk_rq_pos(req),
|
||||
blk_rq_cur_sectors(req), req->buffer, rq_data_dir(req));
|
||||
if (!__blk_end_request_cur(req, 0))
|
||||
{
|
||||
req = blk_fetch_request(q);
|
||||
|
@ -217,6 +218,7 @@ static struct sftl_dev *add_device(char *devname)
|
|||
dev->queue = blk_init_queue(sftl_request, &dev->spinlock);
|
||||
if (dev->queue == NULL)
|
||||
goto devinit_err;
|
||||
dev->queue->queuedata = dev;
|
||||
blk_queue_logical_block_size(dev->queue, clust_sz);
|
||||
|
||||
/* Allocate index for the new disk */
|
||||
|
@ -237,7 +239,7 @@ static struct sftl_dev *add_device(char *devname)
|
|||
dev->gd->first_minor = index*16;
|
||||
dev->gd->fops = &sftl_ops;
|
||||
dev->gd->private_data = dev;
|
||||
sprintf(dev->gd->disk_name, "sftl%d", index);
|
||||
snprintf(dev->gd->disk_name, 32, "sftl%d", index);
|
||||
set_capacity(dev->gd, dev->size);
|
||||
dev->gd->queue = dev->queue;
|
||||
add_disk(dev->gd);
|
||||
|
|
Loading…
Reference in New Issue