3131#define PRINT_WARN (x ...) printk(KERN_WARNING DCSSBLK_NAME " warning: " x)
3232#define PRINT_ERR (x ...) printk(KERN_ERR DCSSBLK_NAME " error: " x)
3333
34- static int dcssblk_open (struct inode * inode , struct file * filp );
35- static int dcssblk_release (struct inode * inode , struct file * filp );
34+ static int dcssblk_open (struct block_device * bdev , fmode_t mode );
35+ static int dcssblk_release (struct gendisk * disk , fmode_t mode );
3636static int dcssblk_make_request (struct request_queue * q , struct bio * bio );
3737static int dcssblk_direct_access (struct block_device * bdev , sector_t secnum ,
3838 void * * kaddr , unsigned long * pfn );
@@ -42,8 +42,8 @@ static char dcssblk_segments[DCSSBLK_PARM_LEN] = "\0";
4242static int dcssblk_major ;
4343static struct block_device_operations dcssblk_devops = {
4444 .owner = THIS_MODULE ,
45- .__open = dcssblk_open ,
46- .__release = dcssblk_release ,
45+ .open = dcssblk_open ,
46+ .release = dcssblk_release ,
4747 .direct_access = dcssblk_direct_access ,
4848};
4949
@@ -776,32 +776,31 @@ dcssblk_remove_store(struct device *dev, struct device_attribute *attr, const ch
776776}
777777
778778static int
779- dcssblk_open (struct inode * inode , struct file * filp )
779+ dcssblk_open (struct block_device * bdev , fmode_t mode )
780780{
781781 struct dcssblk_dev_info * dev_info ;
782782 int rc ;
783783
784- dev_info = inode -> i_bdev -> bd_disk -> private_data ;
784+ dev_info = bdev -> bd_disk -> private_data ;
785785 if (NULL == dev_info ) {
786786 rc = - ENODEV ;
787787 goto out ;
788788 }
789789 atomic_inc (& dev_info -> use_count );
790- inode -> i_bdev -> bd_block_size = 4096 ;
790+ bdev -> bd_block_size = 4096 ;
791791 rc = 0 ;
792792out :
793793 return rc ;
794794}
795795
796796static int
797- dcssblk_release (struct inode * inode , struct file * filp )
797+ dcssblk_release (struct gendisk * disk , fmode_t mode )
798798{
799- struct dcssblk_dev_info * dev_info ;
799+ struct dcssblk_dev_info * dev_info = disk -> private_data ;
800800 struct segment_info * entry ;
801801 int rc ;
802802
803- dev_info = inode -> i_bdev -> bd_disk -> private_data ;
804- if (NULL == dev_info ) {
803+ if (!dev_info ) {
805804 rc = - ENODEV ;
806805 goto out ;
807806 }
0 commit comments