diff options
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r-- | fs/reiserfs/inode.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 9fcbfe316977..1272d11399fb 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -2148,13 +2148,8 @@ int reiserfs_truncate_file(struct inode *p_s_inode, int update_timestamps) | |||
2148 | length = offset & (blocksize - 1); | 2148 | length = offset & (blocksize - 1); |
2149 | /* if we are not on a block boundary */ | 2149 | /* if we are not on a block boundary */ |
2150 | if (length) { | 2150 | if (length) { |
2151 | char *kaddr; | ||
2152 | |||
2153 | length = blocksize - length; | 2151 | length = blocksize - length; |
2154 | kaddr = kmap_atomic(page, KM_USER0); | 2152 | zero_user_page(page, offset, length, KM_USER0); |
2155 | memset(kaddr + offset, 0, length); | ||
2156 | flush_dcache_page(page); | ||
2157 | kunmap_atomic(kaddr, KM_USER0); | ||
2158 | if (buffer_mapped(bh) && bh->b_blocknr != 0) { | 2153 | if (buffer_mapped(bh) && bh->b_blocknr != 0) { |
2159 | mark_buffer_dirty(bh); | 2154 | mark_buffer_dirty(bh); |
2160 | } | 2155 | } |
@@ -2370,7 +2365,6 @@ static int reiserfs_write_full_page(struct page *page, | |||
2370 | ** last byte in the file | 2365 | ** last byte in the file |
2371 | */ | 2366 | */ |
2372 | if (page->index >= end_index) { | 2367 | if (page->index >= end_index) { |
2373 | char *kaddr; | ||
2374 | unsigned last_offset; | 2368 | unsigned last_offset; |
2375 | 2369 | ||
2376 | last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1); | 2370 | last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1); |
@@ -2379,10 +2373,7 @@ static int reiserfs_write_full_page(struct page *page, | |||
2379 | unlock_page(page); | 2373 | unlock_page(page); |
2380 | return 0; | 2374 | return 0; |
2381 | } | 2375 | } |
2382 | kaddr = kmap_atomic(page, KM_USER0); | 2376 | zero_user_page(page, last_offset, PAGE_CACHE_SIZE - last_offset, KM_USER0); |
2383 | memset(kaddr + last_offset, 0, PAGE_CACHE_SIZE - last_offset); | ||
2384 | flush_dcache_page(page); | ||
2385 | kunmap_atomic(kaddr, KM_USER0); | ||
2386 | } | 2377 | } |
2387 | bh = head; | 2378 | bh = head; |
2388 | block = page->index << (PAGE_CACHE_SHIFT - s->s_blocksize_bits); | 2379 | block = page->index << (PAGE_CACHE_SHIFT - s->s_blocksize_bits); |