From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nate Diller Subject: [PATCH 4/13] ext3: use zero_user_page Date: Tue, 10 Apr 2007 20:36:00 -0700 Message-ID: <20070411033600.11000.20151.patchbomb.py@localhost> References: <20070411033600.11000.38285.patchbomb.py@localhost> Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: Andrew Morton , Alexander Viro Return-path: Received: from py-out-1112.google.com ([64.233.166.178]:15843 "EHLO py-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753945AbXDKDiV (ORCPT ); Tue, 10 Apr 2007 23:38:21 -0400 Received: by py-out-1112.google.com with SMTP id a29so46479pyi for ; Tue, 10 Apr 2007 20:38:20 -0700 (PDT) In-Reply-To: <20070411033600.11000.38285.patchbomb.py@localhost> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller --- diff -urpN -X dontdiff linux-2.6.21-rc6-mm1/fs/ext3/inode.c linux-2.6.21-rc6-mm1-test/fs/ext3/inode.c --- linux-2.6.21-rc6-mm1/fs/ext3/inode.c 2007-04-09 17:24:03.000000000 -0700 +++ linux-2.6.21-rc6-mm1-test/fs/ext3/inode.c 2007-04-09 18:18:23.000000000 -0700 @@ -1767,7 +1767,6 @@ static int ext3_block_truncate_page(hand struct inode *inode = mapping->host; struct buffer_head *bh; int err = 0; - void *kaddr; blocksize = inode->i_sb->s_blocksize; length = blocksize - (offset & (blocksize - 1)); @@ -1779,10 +1778,7 @@ static int ext3_block_truncate_page(hand */ if (!page_has_buffers(page) && test_opt(inode->i_sb, NOBH) && ext3_should_writeback_data(inode) && PageUptodate(page)) { - kaddr = kmap_atomic(page, KM_USER0); - memset(kaddr + offset, 0, length); - flush_dcache_page(page); - kunmap_atomic(kaddr, KM_USER0); + zero_user_page(page, offset, length); set_page_dirty(page); goto unlock; } @@ -1835,11 +1831,7 @@ static int ext3_block_truncate_page(hand goto unlock; } - kaddr = kmap_atomic(page, KM_USER0); - memset(kaddr + offset, 0, length); - flush_dcache_page(page); - kunmap_atomic(kaddr, KM_USER0); - + zero_user_page(page, offset, length); BUFFER_TRACE(bh, "zeroed end of block"); err = 0;