diff --git a/[refs] b/[refs] index 052efa7a2eea..9ab45a53733e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 81db4dbf592b486ac2bc7cabfb328ee2a6c4725d +refs/heads/master: bbd465df73f0d8ba41b8a0732766a243d0f5b356 diff --git a/trunk/fs/hpfs/file.c b/trunk/fs/hpfs/file.c index 3027f4dbbab5..e4ba5fe4c3b5 100644 --- a/trunk/fs/hpfs/file.c +++ b/trunk/fs/hpfs/file.c @@ -109,10 +109,14 @@ static void hpfs_write_failed(struct address_space *mapping, loff_t to) { struct inode *inode = mapping->host; + hpfs_lock(inode->i_sb); + if (to > inode->i_size) { truncate_pagecache(inode, to, inode->i_size); hpfs_truncate(inode); } + + hpfs_unlock(inode->i_sb); } static int hpfs_write_begin(struct file *file, struct address_space *mapping,