mm: move vmtruncate_range to truncate.c
You would expect to find vmtruncate_range() next to vmtruncate() in mm/truncate.c: move it there. Signed-off-by: Hugh Dickins <hughd@google.com> Acked-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4d258b25d9
commit
5b8ba10198
24
mm/memory.c
24
mm/memory.c
@ -2798,30 +2798,6 @@ void unmap_mapping_range(struct address_space *mapping,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(unmap_mapping_range);
|
EXPORT_SYMBOL(unmap_mapping_range);
|
||||||
|
|
||||||
int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end)
|
|
||||||
{
|
|
||||||
struct address_space *mapping = inode->i_mapping;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the underlying filesystem is not going to provide
|
|
||||||
* a way to truncate a range of blocks (punch a hole) -
|
|
||||||
* we should return failure right now.
|
|
||||||
*/
|
|
||||||
if (!inode->i_op->truncate_range)
|
|
||||||
return -ENOSYS;
|
|
||||||
|
|
||||||
mutex_lock(&inode->i_mutex);
|
|
||||||
down_write(&inode->i_alloc_sem);
|
|
||||||
unmap_mapping_range(mapping, offset, (end - offset), 1);
|
|
||||||
truncate_inode_pages_range(mapping, offset, end);
|
|
||||||
unmap_mapping_range(mapping, offset, (end - offset), 1);
|
|
||||||
inode->i_op->truncate_range(inode, offset, end);
|
|
||||||
up_write(&inode->i_alloc_sem);
|
|
||||||
mutex_unlock(&inode->i_mutex);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We enter with non-exclusive mmap_sem (to exclude vma changes,
|
* We enter with non-exclusive mmap_sem (to exclude vma changes,
|
||||||
* but allow concurrent faults), and pte mapped but not yet locked.
|
* but allow concurrent faults), and pte mapped but not yet locked.
|
||||||
|
@ -603,3 +603,27 @@ int vmtruncate(struct inode *inode, loff_t offset)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(vmtruncate);
|
EXPORT_SYMBOL(vmtruncate);
|
||||||
|
|
||||||
|
int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end)
|
||||||
|
{
|
||||||
|
struct address_space *mapping = inode->i_mapping;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the underlying filesystem is not going to provide
|
||||||
|
* a way to truncate a range of blocks (punch a hole) -
|
||||||
|
* we should return failure right now.
|
||||||
|
*/
|
||||||
|
if (!inode->i_op->truncate_range)
|
||||||
|
return -ENOSYS;
|
||||||
|
|
||||||
|
mutex_lock(&inode->i_mutex);
|
||||||
|
down_write(&inode->i_alloc_sem);
|
||||||
|
unmap_mapping_range(mapping, offset, (end - offset), 1);
|
||||||
|
truncate_inode_pages_range(mapping, offset, end);
|
||||||
|
unmap_mapping_range(mapping, offset, (end - offset), 1);
|
||||||
|
inode->i_op->truncate_range(inode, offset, end);
|
||||||
|
up_write(&inode->i_alloc_sem);
|
||||||
|
mutex_unlock(&inode->i_mutex);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user