lkml.org 
[lkml]   [2007]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 8/13] ntfs: use zero_user_page
    Use zero_user_page() instead of open-coding it. 

    Signed-off-by: Nate Diller <nate.diller@gmail.com>

    ---

    diff -urpN -X dontdiff linux-2.6.21-rc6-mm1/fs/ntfs/aops.c linux-2.6.21-rc6-mm1-test/fs/ntfs/aops.c
    --- linux-2.6.21-rc6-mm1/fs/ntfs/aops.c 2007-04-09 10:41:47.000000000 -0700
    +++ linux-2.6.21-rc6-mm1-test/fs/ntfs/aops.c 2007-04-09 18:18:23.000000000 -0700
    @@ -245,8 +241,7 @@ static int ntfs_read_block(struct page *
    rl = NULL;
    nr = i = 0;
    do {
    - u8 *kaddr;
    - int err;
    + int err = 0;

    if (unlikely(buffer_uptodate(bh)))
    continue;
    @@ -254,7 +249,6 @@ static int ntfs_read_block(struct page *
    arr[nr++] = bh;
    continue;
    }
    - err = 0;
    bh->b_bdev = vol->sb->s_bdev;
    /* Is the block within the allowed limits? */
    if (iblock < lblock) {
    @@ -340,10 +334,7 @@ handle_hole:
    bh->b_blocknr = -1UL;
    clear_buffer_mapped(bh);
    handle_zblock:
    - kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + i * blocksize, 0, blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    + zero_user_page(page, i * blocksize, blocksize);
    if (likely(!err))
    set_buffer_uptodate(bh);
    } while (i++, iblock++, (bh = bh->b_this_page) != head);
    @@ -460,10 +451,7 @@ retry_readpage:
    * ok to ignore the compressed flag here.
    */
    if (unlikely(page->index > 0)) {
    - kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr, 0, PAGE_CACHE_SIZE);
    - flush_dcache_page(page);
    - kunmap_atomic(kaddr, KM_USER0);
    + zero_user_page(page, 0, PAGE_CACHE_SIZE);
    goto done;
    }
    if (!NInoAttr(ni))
    @@ -790,14 +778,9 @@ lock_retry_remap:
    * uptodate so it can get discarded by the VM.
    */
    if (err == -ENOENT || lcn == LCN_ENOENT) {
    - u8 *kaddr;
    -
    bh->b_blocknr = -1;
    clear_buffer_dirty(bh);
    - kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh), 0, blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    + zero_user_page(page, bh_offset(bh), blocksize);
    set_buffer_uptodate(bh);
    err = 0;
    continue;
    @@ -1422,10 +1405,7 @@ retry_writepage:
    if (page->index >= (i_size >> PAGE_CACHE_SHIFT)) {
    /* The page straddles i_size. */
    unsigned int ofs = i_size & ~PAGE_CACHE_MASK;
    - kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + ofs, 0, PAGE_CACHE_SIZE - ofs);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    + zero_user_page(page, ofs, PAGE_CACHE_SIZE - ofs);
    }
    /* Handle mst protected attributes. */
    if (NInoMstProtected(ni))
    diff -urpN -X dontdiff linux-2.6.21-rc6-mm1/fs/ntfs/file.c linux-2.6.21-rc6-mm1-test/fs/ntfs/file.c
    --- linux-2.6.21-rc6-mm1/fs/ntfs/file.c 2007-04-09 17:24:03.000000000 -0700
    +++ linux-2.6.21-rc6-mm1-test/fs/ntfs/file.c 2007-04-09 18:18:23.000000000 -0700
    @@ -606,11 +606,8 @@ do_next_page:
    ntfs_submit_bh_for_read(bh);
    *wait_bh++ = bh;
    } else {
    - u8 *kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh), 0,
    + zero_user_page(page, bh_offset(bh),
    blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    set_buffer_uptodate(bh);
    }
    }
    @@ -685,12 +682,8 @@ map_buffer_cached:
    ntfs_submit_bh_for_read(bh);
    *wait_bh++ = bh;
    } else {
    - u8 *kaddr = kmap_atomic(page,
    - KM_USER0);
    - memset(kaddr + bh_offset(bh),
    - 0, blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    + zero_user_page(page, bh_offset(bh),
    + blocksize);
    set_buffer_uptodate(bh);
    }
    }
    @@ -708,11 +701,8 @@ map_buffer_cached:
    */
    if (bh_end <= pos || bh_pos >= end) {
    if (!buffer_uptodate(bh)) {
    - u8 *kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh), 0,
    + zero_user_page(page, bh_offset(bh),
    blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    set_buffer_uptodate(bh);
    }
    mark_buffer_dirty(bh);
    @@ -751,10 +741,7 @@ map_buffer_cached:
    if (!buffer_uptodate(bh))
    set_buffer_uptodate(bh);
    } else if (!buffer_uptodate(bh)) {
    - u8 *kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh), 0, blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    + zero_user_page(page, bh_offset(bh), blocksize);
    set_buffer_uptodate(bh);
    }
    continue;
    @@ -878,11 +865,8 @@ rl_not_mapped_enoent:
    if (!buffer_uptodate(bh))
    set_buffer_uptodate(bh);
    } else if (!buffer_uptodate(bh)) {
    - u8 *kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh), 0,
    + zero_user_page(page, bh_offset(bh),
    blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    set_buffer_uptodate(bh);
    }
    continue;
    @@ -1137,16 +1121,12 @@ rl_not_mapped_enoent:
    * to zero the overflowing region.
    */
    if (unlikely(bh_pos + blocksize > initialized_size)) {
    - u8 *kaddr;
    int ofs = 0;

    if (likely(bh_pos < initialized_size))
    ofs = initialized_size - bh_pos;
    - kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh) + ofs, 0,
    + zero_user_page(page, bh_offset(bh) + ofs,
    blocksize - ofs);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    }
    } else /* if (unlikely(!buffer_uptodate(bh))) */
    err = -EIO;
    @@ -1286,11 +1266,8 @@ rl_not_mapped_enoent:
    if (PageUptodate(page))
    set_buffer_uptodate(bh);
    else {
    - u8 *kaddr = kmap_atomic(page, KM_USER0);
    - memset(kaddr + bh_offset(bh), 0,
    + zero_user_page(page, bh_offset(bh),
    blocksize);
    - kunmap_atomic(kaddr, KM_USER0);
    - flush_dcache_page(page);
    set_buffer_uptodate(bh);
    }
    }
    @@ -1350,9 +1327,7 @@ err_out:
    len = PAGE_CACHE_SIZE;
    if (len > bytes)
    len = bytes;
    - kaddr = kmap_atomic(*pages, KM_USER0);
    - memset(kaddr, 0, len);
    - kunmap_atomic(kaddr, KM_USER0);
    + zero_user_page(*pages, 0, len);
    }
    goto out;
    }
    @@ -1473,9 +1448,7 @@ err_out:
    len = PAGE_CACHE_SIZE;
    if (len > bytes)
    len = bytes;
    - kaddr = kmap_atomic(*pages, KM_USER0);
    - memset(kaddr, 0, len);
    - kunmap_atomic(kaddr, KM_USER0);
    + zero_user_page(*pages, 0, len);
    }
    goto out;
    }
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-04-11 05:45    [W:0.031 / U:0.044 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site