[Cluster-devel] [GFS2 PATCH] GFS2: dirty inode correctly in gfs2_write_end for jdata

Andreas Gruenbacher agruenba at redhat.com
Tue Jul 3 18:21:49 UTC 2018


On 18 June 2018 at 18:24, Bob Peterson <rpeterso at redhat.com> wrote:
> Hi,
>
> I'm going over some old upstream patches I have squirreled away.
> Here's one:
> ---
> In patch 0c9018097f, function gfs2_write_end was changed so that it
> marked inodes dirty if they had new buffers queued to the current
> transaction. Unfortunately, it was only done for ordered data files.
> The check was never done for jdata files, so the inode was never
> properly marked dirty. This patch adds the additional check so that
> jdata files are also marked dirty.

I'd be much happier if this came with a test case.

> Signed-off-by: Bob Peterson <rpeterso at redhat.com>
> ---
>  fs/gfs2/aops.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
> index 35f5ee23566d..9e24494fc5be 100644
> --- a/fs/gfs2/aops.c
> +++ b/fs/gfs2/aops.c
> @@ -900,7 +900,7 @@ static int gfs2_write_end(struct file *file, struct address_space *mapping,
>
>         ret = generic_write_end(file, mapping, pos, len, copied, page, fsdata);
>         page = NULL;
> -       if (tr->tr_num_buf_new)
> +       if (tr->tr_num_buf_new || tr->tr_num_databuf_new)
>                 __mark_inode_dirty(inode, I_DIRTY_DATASYNC);
>         else
>                 gfs2_trans_add_meta(ip->i_gl, dibh);
>

Thanks,
Andreas




More information about the Cluster-devel mailing list