All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Jan Kara <jack@suse.cz>
Cc: LKML <linux-kernel@vger.kernel.org>,
	linux-fsdevel@vger.kernel.org, Al Viro <viro@ZenIV.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	dchinner@redhat.com, sandeen@redhat.com,
	Kamal Mostafa <kamal@canonical.com>
Subject: Re: [PATCH 01/19] mm: Make default vm_ops provide ->page_mkwrite handler
Date: Fri, 23 Mar 2012 15:45:02 -0700	[thread overview]
Message-ID: <20120323154502.8072a755.akpm@linux-foundation.org> (raw)
In-Reply-To: <1330963277-26336-2-git-send-email-jack@suse.cz>

On Mon,  5 Mar 2012 17:00:59 +0100
Jan Kara <jack@suse.cz> wrote:

> --- a/mm/filemap.c
> +++ b/mm/filemap.c
> @@ -1759,8 +1759,28 @@ page_not_uptodate:
>  }
>  EXPORT_SYMBOL(filemap_fault);
>  
> +int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
> +{
> +	struct page *page = vmf->page;
> +	struct inode *inode = vma->vm_file->f_path.dentry->d_inode;
> +	int ret = VM_FAULT_LOCKED;
> +
> +	file_update_time(vma->vm_file);
> +	lock_page(page);
> +	if ((page->mapping != inode->i_mapping) ||
> +	    (page_offset(page) > i_size_read(inode))) {

Would benefit from a comment explaining how the page can come to be
outside i_size, and why we fail in that case.

I don't think i_mutex is held here, so this test is rather meaningless
and racy anyway?

> +		unlock_page(page);
> +		ret = VM_FAULT_NOPAGE;
> +		goto out;
> +	}
> +out:
> +	return ret;
> +}
> +EXPORT_SYMBOL(filemap_page_mkwrite);

  reply	other threads:[~2012-03-23 22:45 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-05 16:00 [Cluster-devel] [PATCH 00/19] Fix filesystem freezing deadlocks Jan Kara
2012-03-05 16:01 ` [Ocfs2-devel] " Jan Kara
2012-03-05 16:00 ` Jan Kara
2012-03-05 16:00 ` Jan Kara
2012-03-05 16:00 ` Jan Kara
2012-03-05 16:00 ` [PATCH 01/19] mm: Make default vm_ops provide ->page_mkwrite handler Jan Kara
2012-03-23 22:45   ` Andrew Morton [this message]
2012-03-27  7:55     ` Jan Kara
2012-03-27 21:38       ` Andrew Morton
2012-03-27 22:08         ` Jan Kara
2012-03-27 22:45           ` Dave Chinner
2012-03-28  9:48             ` Jan Kara
2012-03-05 16:01 ` [PATCH 02/19] fs: Push mnt_want_write() outside of i_mutex Jan Kara
2012-03-05 16:01   ` [Ocfs2-devel] " Jan Kara
2012-03-05 16:01 ` [PATCH 03/19] fat: " Jan Kara
2012-03-05 16:01 ` [PATCH 04/19] btrfs: " Jan Kara
2012-03-05 16:01 ` [PATCH 05/19] nfsd: " Jan Kara
2012-03-05 16:01   ` Jan Kara
2012-03-05 16:01 ` [PATCH 06/19] fs: Improve filesystem freezing handling Jan Kara
2012-03-05 16:01 ` [PATCH 07/19] fs: Add freezing handling to mnt_want_write() / mnt_drop_write() Jan Kara
2012-03-05 16:01 ` [PATCH 08/19] fs: Skip atime update on frozen filesystem Jan Kara
2012-03-05 16:01 ` [PATCH 09/19] fs: Protect write paths by sb_start_write - sb_end_write Jan Kara
2012-03-05 16:01 ` [PATCH 10/19] ext4: Convert to new freezing mechanism Jan Kara
2012-03-07 22:32   ` Kamal Mostafa
2012-03-08  9:05     ` Jan Kara
2012-03-05 16:01 ` [PATCH 11/19] xfs: Convert to new freezing code Jan Kara
2012-03-05 16:01   ` Jan Kara
2012-03-08 23:20   ` Dave Chinner
2012-03-08 23:20     ` Dave Chinner
2012-03-09  8:23     ` Jan Kara
2012-03-09  8:23       ` Jan Kara
2012-03-09 14:22     ` Jan Kara
2012-03-09 14:22       ` Jan Kara
2012-03-11 22:45       ` Dave Chinner
2012-03-11 22:45         ` Dave Chinner
2012-03-12 17:55         ` Jan Kara
2012-03-12 17:55           ` Jan Kara
2012-03-12 23:48           ` Dave Chinner
2012-03-12 23:48             ` Dave Chinner
2012-03-13 21:30             ` Jan Kara
2012-03-13 21:30               ` Jan Kara
2012-03-14  3:00               ` Dave Chinner
2012-03-14  3:00                 ` Dave Chinner
2012-03-05 16:01 ` [PATCH 12/19] ocfs2: Convert to new freezing mechanism Jan Kara
2012-03-05 16:01   ` [Ocfs2-devel] " Jan Kara
2012-03-05 16:01 ` [Cluster-devel] [PATCH 13/19] gfs2: " Jan Kara
2012-03-05 16:01   ` Jan Kara
2012-03-05 16:01   ` Jan Kara
     [not found] ` <1330963277-26336-1-git-send-email-jack-AlSwsSmVLrQ@public.gmane.org>
2012-03-05 16:01   ` [PATCH 14/19] fuse: " Jan Kara
2012-03-05 16:01     ` Jan Kara
2012-03-05 16:01 ` [PATCH 15/19] ntfs: " Jan Kara
2012-03-05 16:01 ` [PATCH 16/19] nilfs2: " Jan Kara
2012-03-05 16:01 ` [PATCH 17/19] btrfs: " Jan Kara
2012-03-05 16:01 ` [PATCH 18/19] fs: Remove old " Jan Kara
2012-03-05 16:01 ` [PATCH 19/19] fs: Refuse to freeze filesystem with open but unlinked files Jan Kara
2012-03-11 20:22 ` [PATCH 00/19] Fix filesystem freezing deadlocks Kamal Mostafa
2012-03-11 20:23   ` [Ocfs2-devel] " Kamal Mostafa
2012-03-11 20:22   ` Kamal Mostafa
  -- strict thread matches above, loose matches on Subject: below --
2012-03-28 23:43 [Cluster-devel] [PATCH 00/19 v4] " Jan Kara
2012-03-28 23:43 ` [PATCH 01/19] mm: Make default vm_ops provide ->page_mkwrite handler Jan Kara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120323154502.8072a755.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=dchinner@redhat.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=kamal@canonical.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sandeen@redhat.com \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.