[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 17/20] filemap: consistently use ->f_mapping over ->i_mapping



On Wed, Nov 18, 2020 at 09:47:57AM +0100, Christoph Hellwig wrote:
> @@ -2887,13 +2887,13 @@ EXPORT_SYMBOL(filemap_map_pages);
>  vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
>  {
>       struct page *page = vmf->page;
> -     struct inode *inode = file_inode(vmf->vma->vm_file);
> +     struct inode *inode = vmf->vma->vm_file->f_mapping->host;
>       vm_fault_t ret = VM_FAULT_LOCKED;
>  
>       sb_start_pagefault(inode->i_sb);
>       file_update_time(vmf->vma->vm_file);
>       lock_page(page);
> -     if (page->mapping != inode->i_mapping) {
> +     if (page->mapping != vmf->vma->vm_file->f_mapping) {

Bit messy.  I'd do:

        struct address_space *mapping = vmf->vma->vm_file->f_mapping;

        sb_start_pagefault(mapping->host->i_sb);

        if (page->mapping != mapping)

        sb_end_pagefault(mapping->host->i_sb);




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.