forked from Minki/linux
[GFS2] Fix page_mkwrite truncation race path
There was a bug in the truncation/invalidation race path for ->page_mkwrite for gfs2. It ought to return 0 so that the effect is the same as if the page was truncated at any of the other points at which the page_lock is dropped. This will result in the restart of the whole page fault path. If it was due to a real truncation (as opposed to an invalidate because we let a glock go) then the ->fault path will pick that up when it gets called again. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
3e5cd0877e
commit
b7fe2e391e
@ -394,6 +394,7 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct page *page)
|
||||
last_index = ip->i_inode.i_size >> PAGE_CACHE_SHIFT;
|
||||
if (page->index > last_index)
|
||||
goto out_unlock_page;
|
||||
ret = 0;
|
||||
if (!PageUptodate(page) || page->mapping != ip->i_inode.i_mapping)
|
||||
goto out_unlock_page;
|
||||
if (gfs2_is_stuffed(ip)) {
|
||||
|
Loading…
Reference in New Issue
Block a user