2019-06-27 03:07:11

by Yang Bin

[permalink] [raw]
Subject: [PATCH] sub sd_rgrps When clear rgrp

From: " Yang Bin "<[email protected]>

When clear rgrp,sub sd_rgrps after erased from rindex_tree

Signed-off-by: Yang Bin <[email protected]>
---
fs/gfs2/rgrp.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 15d6e32..a4b2e83
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -730,6 +730,7 @@ void gfs2_clear_rgrpd(struct gfs2_sbd *sdp)
gl = rgd->rd_gl;

rb_erase(n, &sdp->sd_rindex_tree);
+ sdp->sd_rgrps--;

if (gl) {
glock_clear_object(gl, rgd);
--
1.8.3.1


2019-06-27 13:58:48

by Andreas Grünbacher

[permalink] [raw]
Subject: Re: [PATCH] sub sd_rgrps When clear rgrp

Hi Yang Bin,

Am Do., 27. Juni 2019 um 05:08 Uhr schrieb Yang Bin <[email protected]>:
> From: " Yang Bin "<[email protected]>
>
> When clear rgrp,sub sd_rgrps after erased from rindex_tree

this patch isn't incorrect, but all it does it ensure that sd_rgrps
reaches zero before we destroy a struct gfs2_sbd. However, sd_rgrps is
only ever used when a filesystem is active, and while that is the
case, it can never decrease. It will grow when the filesystem is grown
though.

So what are you trying to achieve with this patch?

> Signed-off-by: Yang Bin <[email protected]>
> ---
> fs/gfs2/rgrp.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
> index 15d6e32..a4b2e83
> --- a/fs/gfs2/rgrp.c
> +++ b/fs/gfs2/rgrp.c
> @@ -730,6 +730,7 @@ void gfs2_clear_rgrpd(struct gfs2_sbd *sdp)
> gl = rgd->rd_gl;
>
> rb_erase(n, &sdp->sd_rindex_tree);
> + sdp->sd_rgrps--;
>
> if (gl) {
> glock_clear_object(gl, rgd);
> --
> 1.8.3.1
>

Thanks,
Andreas