Merge tag 'printk-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/printk...
[linux-2.6-microblaze.git] / block / ioctl.c
index 24beec9..eb0491e 100644 (file)
@@ -16,6 +16,7 @@
 static int blkpg_do_ioctl(struct block_device *bdev,
                          struct blkpg_partition __user *upart, int op)
 {
+       struct gendisk *disk = bdev->bd_disk;
        struct blkpg_partition p;
        long long start, length;
 
@@ -30,7 +31,7 @@ static int blkpg_do_ioctl(struct block_device *bdev,
                return -EINVAL;
 
        if (op == BLKPG_DEL_PARTITION)
-               return bdev_del_partition(bdev, p.pno);
+               return bdev_del_partition(disk, p.pno);
 
        start = p.start >> SECTOR_SHIFT;
        length = p.length >> SECTOR_SHIFT;
@@ -40,9 +41,9 @@ static int blkpg_do_ioctl(struct block_device *bdev,
                /* check if partition is aligned to blocksize */
                if (p.start & (bdev_logical_block_size(bdev) - 1))
                        return -EINVAL;
-               return bdev_add_partition(bdev, p.pno, start, length);
+               return bdev_add_partition(disk, p.pno, start, length);
        case BLKPG_RESIZE_PARTITION:
-               return bdev_resize_partition(bdev, p.pno, start, length);
+               return bdev_resize_partition(disk, p.pno, start, length);
        default:
                return -EINVAL;
        }
@@ -469,6 +470,8 @@ static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode,
                                BLKDEV_DISCARD_SECURE);
        case BLKZEROOUT:
                return blk_ioctl_zeroout(bdev, mode, arg);
+       case BLKGETDISKSEQ:
+               return put_u64(argp, bdev->bd_disk->diskseq);
        case BLKREPORTZONE:
                return blkdev_report_zones_ioctl(bdev, mode, cmd, arg);
        case BLKRESETZONE:
@@ -504,7 +507,7 @@ static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode,
        case BLKFRASET:
                if(!capable(CAP_SYS_ADMIN))
                        return -EACCES;
-               bdev->bd_bdi->ra_pages = (arg * 512) / PAGE_SIZE;
+               bdev->bd_disk->bdi->ra_pages = (arg * 512) / PAGE_SIZE;
                return 0;
        case BLKRRPART:
                return blkdev_reread_part(bdev, mode);
@@ -554,7 +557,8 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
        case BLKFRAGET:
                if (!argp)
                        return -EINVAL;
-               return put_long(argp, (bdev->bd_bdi->ra_pages*PAGE_SIZE) / 512);
+               return put_long(argp,
+                       (bdev->bd_disk->bdi->ra_pages * PAGE_SIZE) / 512);
        case BLKGETSIZE:
                size = i_size_read(bdev->bd_inode);
                if ((size >> 9) > ~0UL)
@@ -626,7 +630,7 @@ long compat_blkdev_ioctl(struct file *file, unsigned cmd, unsigned long arg)
                if (!argp)
                        return -EINVAL;
                return compat_put_long(argp,
-                              (bdev->bd_bdi->ra_pages * PAGE_SIZE) / 512);
+                       (bdev->bd_disk->bdi->ra_pages * PAGE_SIZE) / 512);
        case BLKGETSIZE:
                size = i_size_read(bdev->bd_inode);
                if ((size >> 9) > ~0UL)