diff options
| -rw-r--r-- | drivers/s390/block/dcssblk.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c index 413460cc3dd8..63f26a135fe5 100644 --- a/drivers/s390/block/dcssblk.c +++ b/drivers/s390/block/dcssblk.c | |||
| @@ -31,8 +31,8 @@ | |||
| 31 | #define PRINT_WARN(x...) printk(KERN_WARNING DCSSBLK_NAME " warning: " x) | 31 | #define PRINT_WARN(x...) printk(KERN_WARNING DCSSBLK_NAME " warning: " x) |
| 32 | #define PRINT_ERR(x...) printk(KERN_ERR DCSSBLK_NAME " error: " x) | 32 | #define PRINT_ERR(x...) printk(KERN_ERR DCSSBLK_NAME " error: " x) |
| 33 | 33 | ||
| 34 | static int dcssblk_open(struct inode *inode, struct file *filp); | 34 | static int dcssblk_open(struct block_device *bdev, fmode_t mode); |
| 35 | static int dcssblk_release(struct inode *inode, struct file *filp); | 35 | static int dcssblk_release(struct gendisk *disk, fmode_t mode); |
| 36 | static int dcssblk_make_request(struct request_queue *q, struct bio *bio); | 36 | static int dcssblk_make_request(struct request_queue *q, struct bio *bio); |
| 37 | static int dcssblk_direct_access(struct block_device *bdev, sector_t secnum, | 37 | static int dcssblk_direct_access(struct block_device *bdev, sector_t secnum, |
| 38 | void **kaddr, unsigned long *pfn); | 38 | void **kaddr, unsigned long *pfn); |
| @@ -42,8 +42,8 @@ static char dcssblk_segments[DCSSBLK_PARM_LEN] = "\0"; | |||
| 42 | static int dcssblk_major; | 42 | static int dcssblk_major; |
| 43 | static struct block_device_operations dcssblk_devops = { | 43 | static struct block_device_operations dcssblk_devops = { |
| 44 | .owner = THIS_MODULE, | 44 | .owner = THIS_MODULE, |
| 45 | .__open = dcssblk_open, | 45 | .open = dcssblk_open, |
| 46 | .__release = dcssblk_release, | 46 | .release = dcssblk_release, |
| 47 | .direct_access = dcssblk_direct_access, | 47 | .direct_access = dcssblk_direct_access, |
| 48 | }; | 48 | }; |
| 49 | 49 | ||
| @@ -776,32 +776,31 @@ out_buf: | |||
| 776 | } | 776 | } |
| 777 | 777 | ||
| 778 | static int | 778 | static int |
| 779 | dcssblk_open(struct inode *inode, struct file *filp) | 779 | dcssblk_open(struct block_device *bdev, fmode_t mode) |
| 780 | { | 780 | { |
| 781 | struct dcssblk_dev_info *dev_info; | 781 | struct dcssblk_dev_info *dev_info; |
| 782 | int rc; | 782 | int rc; |
| 783 | 783 | ||
| 784 | dev_info = inode->i_bdev->bd_disk->private_data; | 784 | dev_info = bdev->bd_disk->private_data; |
| 785 | if (NULL == dev_info) { | 785 | if (NULL == dev_info) { |
| 786 | rc = -ENODEV; | 786 | rc = -ENODEV; |
| 787 | goto out; | 787 | goto out; |
| 788 | } | 788 | } |
| 789 | atomic_inc(&dev_info->use_count); | 789 | atomic_inc(&dev_info->use_count); |
| 790 | inode->i_bdev->bd_block_size = 4096; | 790 | bdev->bd_block_size = 4096; |
| 791 | rc = 0; | 791 | rc = 0; |
| 792 | out: | 792 | out: |
| 793 | return rc; | 793 | return rc; |
| 794 | } | 794 | } |
| 795 | 795 | ||
| 796 | static int | 796 | static int |
| 797 | dcssblk_release(struct inode *inode, struct file *filp) | 797 | dcssblk_release(struct gendisk *disk, fmode_t mode) |
| 798 | { | 798 | { |
| 799 | struct dcssblk_dev_info *dev_info; | 799 | struct dcssblk_dev_info *dev_info = disk->private_data; |
| 800 | struct segment_info *entry; | 800 | struct segment_info *entry; |
| 801 | int rc; | 801 | int rc; |
| 802 | 802 | ||
| 803 | dev_info = inode->i_bdev->bd_disk->private_data; | 803 | if (!dev_info) { |
| 804 | if (NULL == dev_info) { | ||
| 805 | rc = -ENODEV; | 804 | rc = -ENODEV; |
| 806 | goto out; | 805 | goto out; |
| 807 | } | 806 | } |
