mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-14 19:53:03 +00:00
Use zero_user_page() in ext4 where possible
Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
f8628a14a2
commit
fc0e15a667
1 changed files with 2 additions and 9 deletions
|
@ -1766,7 +1766,6 @@ int ext4_block_truncate_page(handle_t *handle, struct page *page,
|
||||||
struct inode *inode = mapping->host;
|
struct inode *inode = mapping->host;
|
||||||
struct buffer_head *bh;
|
struct buffer_head *bh;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
void *kaddr;
|
|
||||||
|
|
||||||
blocksize = inode->i_sb->s_blocksize;
|
blocksize = inode->i_sb->s_blocksize;
|
||||||
length = blocksize - (offset & (blocksize - 1));
|
length = blocksize - (offset & (blocksize - 1));
|
||||||
|
@ -1778,10 +1777,7 @@ int ext4_block_truncate_page(handle_t *handle, struct page *page,
|
||||||
*/
|
*/
|
||||||
if (!page_has_buffers(page) && test_opt(inode->i_sb, NOBH) &&
|
if (!page_has_buffers(page) && test_opt(inode->i_sb, NOBH) &&
|
||||||
ext4_should_writeback_data(inode) && PageUptodate(page)) {
|
ext4_should_writeback_data(inode) && PageUptodate(page)) {
|
||||||
kaddr = kmap_atomic(page, KM_USER0);
|
zero_user_page(page, offset, length, KM_USER0);
|
||||||
memset(kaddr + offset, 0, length);
|
|
||||||
flush_dcache_page(page);
|
|
||||||
kunmap_atomic(kaddr, KM_USER0);
|
|
||||||
set_page_dirty(page);
|
set_page_dirty(page);
|
||||||
goto unlock;
|
goto unlock;
|
||||||
}
|
}
|
||||||
|
@ -1834,10 +1830,7 @@ int ext4_block_truncate_page(handle_t *handle, struct page *page,
|
||||||
goto unlock;
|
goto unlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
kaddr = kmap_atomic(page, KM_USER0);
|
zero_user_page(page, offset, length, KM_USER0);
|
||||||
memset(kaddr + offset, 0, length);
|
|
||||||
flush_dcache_page(page);
|
|
||||||
kunmap_atomic(kaddr, KM_USER0);
|
|
||||||
|
|
||||||
BUFFER_TRACE(bh, "zeroed end of block");
|
BUFFER_TRACE(bh, "zeroed end of block");
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue