提交 9c538837 编写于 作者: S Steven Whitehouse 提交者: Steven Whitehouse

Fix a minor bug in the previous patch

The logic requires that we mark the glock dirty in page_mkwrite
otherwise we might not flush correctly in the case that no
allocation was required in the process of dirying the page.
Also we need to set the shared write flag early for the same
reason.
Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
上级 6bac243f
......@@ -355,6 +355,9 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct page *page)
if (ret)
goto out;
set_bit(GLF_DIRTY, &ip->i_gl->gl_flags);
set_bit(GIF_SW_PAGED, &ip->i_flags);
ret = gfs2_write_alloc_required(ip, pos, PAGE_CACHE_SIZE, &alloc_required);
if (ret || !alloc_required)
goto out_unlock;
......@@ -395,8 +398,6 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct page *page)
goto out_unlock_page;
}
ret = gfs2_allocate_page_backing(page);
if (!ret)
set_bit(GIF_SW_PAGED, &ip->i_flags);
out_unlock_page:
unlock_page(page);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册