Skip to content

Commit 4e999af

Browse files
author
Al Viro
committed
[PATCH] switch tape_block
Signed-off-by: Al Viro <[email protected]>
1 parent 46d7432 commit 4e999af

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

drivers/s390/char/tape_block.c

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,18 @@
4343
/*
4444
* file operation structure for tape block frontend
4545
*/
46-
static int tapeblock_open(struct inode *, struct file *);
47-
static int tapeblock_release(struct inode *, struct file *);
48-
static int tapeblock_ioctl(struct inode *, struct file *, unsigned int,
46+
static int tapeblock_open(struct block_device *, fmode_t);
47+
static int tapeblock_release(struct gendisk *, fmode_t);
48+
static int tapeblock_ioctl(struct block_device *, fmode_t, unsigned int,
4949
unsigned long);
5050
static int tapeblock_medium_changed(struct gendisk *);
5151
static int tapeblock_revalidate_disk(struct gendisk *);
5252

5353
static struct block_device_operations tapeblock_fops = {
5454
.owner = THIS_MODULE,
55-
.__open = tapeblock_open,
56-
.__release = tapeblock_release,
57-
.__ioctl = tapeblock_ioctl,
55+
.open = tapeblock_open,
56+
.release = tapeblock_release,
57+
.locked_ioctl = tapeblock_ioctl,
5858
.media_changed = tapeblock_medium_changed,
5959
.revalidate_disk = tapeblock_revalidate_disk,
6060
};
@@ -364,13 +364,12 @@ tapeblock_medium_changed(struct gendisk *disk)
364364
* Block frontend tape device open function.
365365
*/
366366
static int
367-
tapeblock_open(struct inode *inode, struct file *filp)
367+
tapeblock_open(struct block_device *bdev, fmode_t mode)
368368
{
369-
struct gendisk * disk;
369+
struct gendisk * disk = bdev->bd_disk;
370370
struct tape_device * device;
371371
int rc;
372372

373-
disk = inode->i_bdev->bd_disk;
374373
device = tape_get_device_reference(disk->private_data);
375374

376375
if (device->required_tapemarks) {
@@ -410,9 +409,8 @@ tapeblock_open(struct inode *inode, struct file *filp)
410409
* we just get the pointer here and release the reference.
411410
*/
412411
static int
413-
tapeblock_release(struct inode *inode, struct file *filp)
412+
tapeblock_release(struct gendisk *disk, fmode_t mode)
414413
{
415-
struct gendisk *disk = inode->i_bdev->bd_disk;
416414
struct tape_device *device = disk->private_data;
417415

418416
tape_state_set(device, TS_IN_USE);
@@ -427,22 +425,21 @@ tapeblock_release(struct inode *inode, struct file *filp)
427425
*/
428426
static int
429427
tapeblock_ioctl(
430-
struct inode * inode,
431-
struct file * file,
428+
struct block_device * bdev,
429+
fmode_t mode,
432430
unsigned int command,
433431
unsigned long arg
434432
) {
435433
int rc;
436434
int minor;
437-
struct gendisk *disk;
435+
struct gendisk *disk = bdev->bd_disk;
438436
struct tape_device *device;
439437

440438
rc = 0;
441-
disk = inode->i_bdev->bd_disk;
442439
BUG_ON(!disk);
443440
device = disk->private_data;
444441
BUG_ON(!device);
445-
minor = iminor(inode);
442+
minor = MINOR(bdev->bd_dev);
446443

447444
DBF_LH(6, "tapeblock_ioctl(0x%0x)\n", command);
448445
DBF_LH(6, "device = %d:%d\n", tapeblock_major, minor);

0 commit comments

Comments
 (0)