From 84c08d2bf63f71678858692ae11e33155550492d Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 23 May 2011 13:26:07 +0200 Subject: [PATCH] --- yaml --- r: 251169 b: refs/heads/master c: 7e69723fef8771a9d57bd27d36281d756130b4b5 h: refs/heads/master i: 251167: 161f10881920265f4e6d0a71796c2da175ed5873 v: v3 --- [refs] | 2 +- trunk/fs/block_dev.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 6574a2fd504a..443a0d603d4d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 95cf3dd9dbe6883a0328724e2110e3fc6465630b +refs/heads/master: 7e69723fef8771a9d57bd27d36281d756130b4b5 diff --git a/trunk/fs/block_dev.c b/trunk/fs/block_dev.c index d7c2e0fddc6f..1f2b19978333 100644 --- a/trunk/fs/block_dev.c +++ b/trunk/fs/block_dev.c @@ -1120,6 +1120,15 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) goto restart; } } + + if (!ret && !bdev->bd_openers) { + bd_set_size(bdev,(loff_t)get_capacity(disk)<<9); + bdi = blk_get_backing_dev_info(bdev); + if (bdi == NULL) + bdi = &default_backing_dev_info; + bdev_inode_switch_bdi(bdev->bd_inode, bdi); + } + /* * If the device is invalidated, rescan partition * if open succeeded or failed with -ENOMEDIUM. @@ -1130,14 +1139,6 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) rescan_partitions(disk, bdev); if (ret) goto out_clear; - - if (!bdev->bd_openers) { - bd_set_size(bdev,(loff_t)get_capacity(disk)<<9); - bdi = blk_get_backing_dev_info(bdev); - if (bdi == NULL) - bdi = &default_backing_dev_info; - bdev_inode_switch_bdi(bdev->bd_inode, bdi); - } } else { struct block_device *whole; whole = bdget_disk(disk, 0);