summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-02-18 04:49:23 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-02-18 04:49:23 -0800
commit53b15b863e95defe1487a67e6ca5502a0b4d3e5f (patch)
treebcf6b67cfcf94a307eb1e43db26048f987521169
parenteaaec5b5db3d64efec42ce7c28c484f8e2cf8b8f (diff)
[PATCH] bd_set_size i_size handling
We need to hold i_sem while running i_size_write(). But that seems like a lot of fuss and deadlock potential. So just write the dang thing.
-rw-r--r--fs/block_dev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 97ef9c120146..3ec47cccec98 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -525,7 +525,8 @@ EXPORT_SYMBOL(check_disk_change);
static void bd_set_size(struct block_device *bdev, loff_t size)
{
unsigned bsize = bdev_hardsect_size(bdev);
- i_size_write(bdev->bd_inode, size);
+
+ bdev->bd_inode->i_size = size;
while (bsize < PAGE_CACHE_SIZE) {
if (size & bsize)
break;