|
@@ -1032,7 +1032,9 @@ void bd_set_size(struct block_device *bdev, loff_t size)
|
|
{
|
|
{
|
|
unsigned bsize = bdev_logical_block_size(bdev);
|
|
unsigned bsize = bdev_logical_block_size(bdev);
|
|
|
|
|
|
- bdev->bd_inode->i_size = size;
|
|
|
|
|
|
+ mutex_lock(&bdev->bd_inode->i_mutex);
|
|
|
|
+ i_size_write(bdev->bd_inode, size);
|
|
|
|
+ mutex_unlock(&bdev->bd_inode->i_mutex);
|
|
while (bsize < PAGE_CACHE_SIZE) {
|
|
while (bsize < PAGE_CACHE_SIZE) {
|
|
if (size & bsize)
|
|
if (size & bsize)
|
|
break;
|
|
break;
|