aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/memory.c')
-rw-r--r--mm/memory.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 3944fec38012..7a11ddd5060f 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1784,13 +1784,13 @@ int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end)
1784 if (!inode->i_op || !inode->i_op->truncate_range) 1784 if (!inode->i_op || !inode->i_op->truncate_range)
1785 return -ENOSYS; 1785 return -ENOSYS;
1786 1786
1787 down(&inode->i_sem); 1787 mutex_lock(&inode->i_mutex);
1788 down_write(&inode->i_alloc_sem); 1788 down_write(&inode->i_alloc_sem);
1789 unmap_mapping_range(mapping, offset, (end - offset), 1); 1789 unmap_mapping_range(mapping, offset, (end - offset), 1);
1790 truncate_inode_pages_range(mapping, offset, end); 1790 truncate_inode_pages_range(mapping, offset, end);
1791 inode->i_op->truncate_range(inode, offset, end); 1791 inode->i_op->truncate_range(inode, offset, end);
1792 up_write(&inode->i_alloc_sem); 1792 up_write(&inode->i_alloc_sem);
1793 up(&inode->i_sem); 1793 mutex_unlock(&inode->i_mutex);
1794 1794
1795 return 0; 1795 return 0;
1796} 1796}