block: remove i_bdev
[linux-2.6-microblaze.git] / drivers / block / loop.c
index 22e5941..26c7aaf 100644 (file)
@@ -251,12 +251,8 @@ loop_validate_block_size(unsigned short bsize)
  */
 static void loop_set_size(struct loop_device *lo, loff_t size)
 {
-       struct block_device *bdev = lo->lo_device;
-
-       bd_set_nr_sectors(bdev, size);
-
-       if (!set_capacity_revalidate_and_notify(lo->lo_disk, size, false))
-               kobject_uevent(&disk_to_dev(bdev->bd_disk)->kobj, KOBJ_CHANGE);
+       if (!set_capacity_and_notify(lo->lo_disk, size))
+               kobject_uevent(&disk_to_dev(lo->lo_disk)->kobj, KOBJ_CHANGE);
 }
 
 static inline int
@@ -679,10 +675,10 @@ static int loop_validate_file(struct file *file, struct block_device *bdev)
        while (is_loop_device(f)) {
                struct loop_device *l;
 
-               if (f->f_mapping->host->i_bdev == bdev)
+               if (f->f_mapping->host->i_rdev == bdev->bd_dev)
                        return -EBADF;
 
-               l = f->f_mapping->host->i_bdev->bd_disk->private_data;
+               l = I_BDEV(f->f_mapping->host)->bd_disk->private_data;
                if (l->lo_state != Lo_bound) {
                        return -EINVAL;
                }
@@ -889,9 +885,7 @@ static void loop_config_discard(struct loop_device *lo)
         * file-backed loop devices: discarded regions read back as zero.
         */
        if (S_ISBLK(inode->i_mode) && !lo->lo_encrypt_key_size) {
-               struct request_queue *backingq;
-
-               backingq = bdev_get_queue(inode->i_bdev);
+               struct request_queue *backingq = bdev_get_queue(I_BDEV(inode));
 
                max_discard_sectors = backingq->limits.max_write_zeroes_sectors;
                granularity = backingq->limits.discard_granularity ?:
@@ -1168,9 +1162,6 @@ static int loop_configure(struct loop_device *lo, fmode_t mode,
        size = get_loop_size(lo, file);
        loop_set_size(lo, size);
 
-       set_blocksize(bdev, S_ISBLK(inode->i_mode) ?
-                     block_size(inode->i_bdev) : PAGE_SIZE);
-
        lo->lo_state = Lo_bound;
        if (part_shift)
                lo->lo_flags |= LO_FLAGS_PARTSCAN;