[PATCH] switch dcssblk
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
57a7c0bca0
commit
46d74326e6
|
@ -31,8 +31,8 @@
|
||||||
#define PRINT_WARN(x...) printk(KERN_WARNING DCSSBLK_NAME " warning: " x)
|
#define PRINT_WARN(x...) printk(KERN_WARNING DCSSBLK_NAME " warning: " x)
|
||||||
#define PRINT_ERR(x...) printk(KERN_ERR DCSSBLK_NAME " error: " x)
|
#define PRINT_ERR(x...) printk(KERN_ERR DCSSBLK_NAME " error: " x)
|
||||||
|
|
||||||
static int dcssblk_open(struct inode *inode, struct file *filp);
|
static int dcssblk_open(struct block_device *bdev, fmode_t mode);
|
||||||
static int dcssblk_release(struct inode *inode, struct file *filp);
|
static int dcssblk_release(struct gendisk *disk, fmode_t mode);
|
||||||
static int dcssblk_make_request(struct request_queue *q, struct bio *bio);
|
static int dcssblk_make_request(struct request_queue *q, struct bio *bio);
|
||||||
static int dcssblk_direct_access(struct block_device *bdev, sector_t secnum,
|
static int dcssblk_direct_access(struct block_device *bdev, sector_t secnum,
|
||||||
void **kaddr, unsigned long *pfn);
|
void **kaddr, unsigned long *pfn);
|
||||||
|
@ -42,8 +42,8 @@ static char dcssblk_segments[DCSSBLK_PARM_LEN] = "\0";
|
||||||
static int dcssblk_major;
|
static int dcssblk_major;
|
||||||
static struct block_device_operations dcssblk_devops = {
|
static struct block_device_operations dcssblk_devops = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.__open = dcssblk_open,
|
.open = dcssblk_open,
|
||||||
.__release = dcssblk_release,
|
.release = dcssblk_release,
|
||||||
.direct_access = dcssblk_direct_access,
|
.direct_access = dcssblk_direct_access,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -776,32 +776,31 @@ out_buf:
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dcssblk_open(struct inode *inode, struct file *filp)
|
dcssblk_open(struct block_device *bdev, fmode_t mode)
|
||||||
{
|
{
|
||||||
struct dcssblk_dev_info *dev_info;
|
struct dcssblk_dev_info *dev_info;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
dev_info = inode->i_bdev->bd_disk->private_data;
|
dev_info = bdev->bd_disk->private_data;
|
||||||
if (NULL == dev_info) {
|
if (NULL == dev_info) {
|
||||||
rc = -ENODEV;
|
rc = -ENODEV;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
atomic_inc(&dev_info->use_count);
|
atomic_inc(&dev_info->use_count);
|
||||||
inode->i_bdev->bd_block_size = 4096;
|
bdev->bd_block_size = 4096;
|
||||||
rc = 0;
|
rc = 0;
|
||||||
out:
|
out:
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dcssblk_release(struct inode *inode, struct file *filp)
|
dcssblk_release(struct gendisk *disk, fmode_t mode)
|
||||||
{
|
{
|
||||||
struct dcssblk_dev_info *dev_info;
|
struct dcssblk_dev_info *dev_info = disk->private_data;
|
||||||
struct segment_info *entry;
|
struct segment_info *entry;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
dev_info = inode->i_bdev->bd_disk->private_data;
|
if (!dev_info) {
|
||||||
if (NULL == dev_info) {
|
|
||||||
rc = -ENODEV;
|
rc = -ENODEV;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue