lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 22 Aug 2013 17:03:22 -0700 From: Andy Lutomirski <luto@...capital.net> To: linux-kernel@...r.kernel.org Cc: linux-ext4@...r.kernel.org, Dave Chinner <david@...morbit.com>, Theodore Ts'o <tytso@....edu>, Dave Hansen <dave.hansen@...ux.intel.com>, xfs@....sgi.com, Jan Kara <jack@...e.cz>, Tim Chen <tim.c.chen@...ux.intel.com>, Christoph Hellwig <hch@...radead.org>, Andy Lutomirski <luto@...capital.net> Subject: [PATCH v4 6/7] btrfs: Defer mmap cmtime updates Signed-off-by: Andy Lutomirski <luto@...capital.net> --- fs/btrfs/extent_io.c | 1 + fs/btrfs/inode.c | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index fe443fe..dc2f851 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3756,6 +3756,7 @@ int extent_writepages(struct extent_io_tree *tree, __extent_writepage, &epd, flush_write_bio); flush_epd_write_bio(&epd); + mapping_flush_cmtime(mapping); return ret; } diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 021694c..fc51380 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -7499,10 +7499,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); + if (!ret) reserved = 1; - } if (ret) { if (ret == -ENOMEM) ret = VM_FAULT_OOM; @@ -8711,22 +8709,24 @@ static struct extent_io_ops btrfs_extent_io_ops = { * For now we're avoiding this by dropping bmap. */ static const struct address_space_operations btrfs_aops = { - .readpage = btrfs_readpage, - .writepage = btrfs_writepage, - .writepages = btrfs_writepages, - .readpages = btrfs_readpages, - .direct_IO = btrfs_direct_IO, - .invalidatepage = btrfs_invalidatepage, - .releasepage = btrfs_releasepage, - .set_page_dirty = btrfs_set_page_dirty, - .error_remove_page = generic_error_remove_page, + .readpage = btrfs_readpage, + .writepage = btrfs_writepage, + .writepages = btrfs_writepages, + .update_cmtime_deferred = generic_update_cmtime_deferred, + .readpages = btrfs_readpages, + .direct_IO = btrfs_direct_IO, + .invalidatepage = btrfs_invalidatepage, + .releasepage = btrfs_releasepage, + .set_page_dirty = btrfs_set_page_dirty, + .error_remove_page = generic_error_remove_page, }; static const struct address_space_operations btrfs_symlink_aops = { - .readpage = btrfs_readpage, - .writepage = btrfs_writepage, - .invalidatepage = btrfs_invalidatepage, - .releasepage = btrfs_releasepage, + .readpage = btrfs_readpage, + .writepage = btrfs_writepage, + .update_cmtime_deferred = generic_update_cmtime_deferred, + .invalidatepage = btrfs_invalidatepage, + .releasepage = btrfs_releasepage, }; static const struct inode_operations btrfs_file_inode_operations = { -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists