lkml.org 
[lkml]   [2012]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 3/4] Remove file_update_time from all mkwrite paths
    Date
    The times are now updated at sync time.

    Signed-off-by: Andy Lutomirski <luto@amacapital.net>
    ---
    fs/9p/vfs_file.c | 3 ---
    fs/btrfs/inode.c | 4 +---
    fs/buffer.c | 6 ------
    fs/ceph/addr.c | 3 ---
    fs/ext4/inode.c | 1 -
    fs/gfs2/file.c | 3 ---
    fs/nilfs2/file.c | 1 -
    fs/sysfs/bin.c | 2 --
    mm/filemap.c | 1 -
    mm/memory.c | 3 ---
    10 files changed, 1 insertion(+), 26 deletions(-)

    diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
    index c2483e9..34b84f0 100644
    --- a/fs/9p/vfs_file.c
    +++ b/fs/9p/vfs_file.c
    @@ -610,9 +610,6 @@ v9fs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    p9_debug(P9_DEBUG_VFS, "page %p fid %lx\n",
    page, (unsigned long)filp->private_data);

    - /* Update file times before taking page lock */
    - file_update_time(filp);
    -
    v9inode = V9FS_I(inode);
    /* make sure the cache has finished storing the page */
    v9fs_fscache_wait_on_page_write(inode, page);
    diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
    index 95542a1..6fb8558 100644
    --- a/fs/btrfs/inode.c
    +++ b/fs/btrfs/inode.c
    @@ -6747,10 +6747,8 @@ int btrfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    sb_start_pagefault(inode->i_sb);
    ret = btrfs_delalloc_reserve_space(inode, PAGE_CACHE_SIZE);
    if (!ret) {
    - ret = file_update_time(vma->vm_file);
    reserved = 1;
    - }
    - if (ret) {
    + } else if (ret) {
    if (ret == -ENOMEM)
    ret = VM_FAULT_OOM;
    else /* -ENOSPC, -EIO, etc */
    diff --git a/fs/buffer.c b/fs/buffer.c
    index ec0aca8..a9a8f2a 100644
    --- a/fs/buffer.c
    +++ b/fs/buffer.c
    @@ -2379,12 +2379,6 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,

    sb_start_pagefault(sb);

    - /*
    - * Update file times before taking page lock. We may end up failing the
    - * fault so this update may be superfluous but who really cares...
    - */
    - file_update_time(vma->vm_file);
    -
    ret = __block_page_mkwrite(vma, vmf, get_block);
    sb_end_pagefault(sb);
    return block_page_mkwrite_return(ret);
    diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
    index 6690269..19af339 100644
    --- a/fs/ceph/addr.c
    +++ b/fs/ceph/addr.c
    @@ -1183,9 +1183,6 @@ static int ceph_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    loff_t size, len;
    int ret;

    - /* Update time before taking page lock */
    - file_update_time(vma->vm_file);
    -
    size = i_size_read(inode);
    if (off + PAGE_CACHE_SIZE <= size)
    len = PAGE_CACHE_SIZE;
    diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
    index b3c243b..5ddbc75 100644
    --- a/fs/ext4/inode.c
    +++ b/fs/ext4/inode.c
    @@ -4780,7 +4780,6 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    int retries = 0;

    sb_start_pagefault(inode->i_sb);
    - file_update_time(vma->vm_file);
    /* Delalloc case is easy... */
    if (test_opt(inode->i_sb, DELALLOC) &&
    !ext4_should_journal_data(inode) &&
    diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
    index e056b4c..999b1ed 100644
    --- a/fs/gfs2/file.c
    +++ b/fs/gfs2/file.c
    @@ -398,9 +398,6 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)

    sb_start_pagefault(inode->i_sb);

    - /* Update file times before taking page lock */
    - file_update_time(vma->vm_file);
    -
    ret = gfs2_rs_alloc(ip);
    if (ret)
    return ret;
    diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c
    index 16f35f7..185b8e6 100644
    --- a/fs/nilfs2/file.c
    +++ b/fs/nilfs2/file.c
    @@ -116,7 +116,6 @@ static int nilfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    if (unlikely(ret))
    goto out;

    - file_update_time(vma->vm_file);
    ret = __block_page_mkwrite(vma, vmf, nilfs_get_block);
    if (ret) {
    nilfs_transaction_abort(inode->i_sb);
    diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c
    index 614b2b5..a475983 100644
    --- a/fs/sysfs/bin.c
    +++ b/fs/sysfs/bin.c
    @@ -228,8 +228,6 @@ static int bin_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    ret = 0;
    if (bb->vm_ops->page_mkwrite)
    ret = bb->vm_ops->page_mkwrite(vma, vmf);
    - else
    - file_update_time(file);

    sysfs_put_active(attr_sd);
    return ret;
    diff --git a/mm/filemap.c b/mm/filemap.c
    index 83efee7..feb0540 100644
    --- a/mm/filemap.c
    +++ b/mm/filemap.c
    @@ -1715,7 +1715,6 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
    int ret = VM_FAULT_LOCKED;

    sb_start_pagefault(inode->i_sb);
    - file_update_time(vma->vm_file);
    lock_page(page);
    if (page->mapping != inode->i_mapping) {
    unlock_page(page);
    diff --git a/mm/memory.c b/mm/memory.c
    index 086b901..07a0b0d 100644
    --- a/mm/memory.c
    +++ b/mm/memory.c
    @@ -2658,9 +2658,6 @@ reuse:
    if (!page_mkwrite) {
    wait_on_page_locked(dirty_page);
    set_page_dirty_balance(dirty_page, page_mkwrite);
    - /* file_update_time outside page_lock */
    - if (vma->vm_file)
    - file_update_time(vma->vm_file);
    }
    put_page(dirty_page);
    if (page_mkwrite) {
    --
    1.7.11.7


    \
     
     \ /
      Last update: 2012-12-21 01:01    [W:3.685 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site