Skip to content

Commit fc0e15a

Browse files
Eric Sandeentytso
authored andcommitted
Use zero_user_page() in ext4 where possible
Signed-off-by: Eric Sandeen <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
1 parent f8628a1 commit fc0e15a

File tree

1 file changed

+2
-9
lines changed

1 file changed

+2
-9
lines changed

fs/ext4/inode.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1766,7 +1766,6 @@ int ext4_block_truncate_page(handle_t *handle, struct page *page,
17661766
struct inode *inode = mapping->host;
17671767
struct buffer_head *bh;
17681768
int err = 0;
1769-
void *kaddr;
17701769

17711770
blocksize = inode->i_sb->s_blocksize;
17721771
length = blocksize - (offset & (blocksize - 1));
@@ -1778,10 +1777,7 @@ int ext4_block_truncate_page(handle_t *handle, struct page *page,
17781777
*/
17791778
if (!page_has_buffers(page) && test_opt(inode->i_sb, NOBH) &&
17801779
ext4_should_writeback_data(inode) && PageUptodate(page)) {
1781-
kaddr = kmap_atomic(page, KM_USER0);
1782-
memset(kaddr + offset, 0, length);
1783-
flush_dcache_page(page);
1784-
kunmap_atomic(kaddr, KM_USER0);
1780+
zero_user_page(page, offset, length, KM_USER0);
17851781
set_page_dirty(page);
17861782
goto unlock;
17871783
}
@@ -1834,10 +1830,7 @@ int ext4_block_truncate_page(handle_t *handle, struct page *page,
18341830
goto unlock;
18351831
}
18361832

1837-
kaddr = kmap_atomic(page, KM_USER0);
1838-
memset(kaddr + offset, 0, length);
1839-
flush_dcache_page(page);
1840-
kunmap_atomic(kaddr, KM_USER0);
1833+
zero_user_page(page, offset, length, KM_USER0);
18411834

18421835
BUFFER_TRACE(bh, "zeroed end of block");
18431836

0 commit comments

Comments
 (0)