Hi,

Now in the -nmw git tree. Thanks,

Steve.

On Fri, 2009-07-10 at 18:13 -0500, Benjamin Marzinski wrote:
> ince both linked and unlinked inodes are counted by rgd->rd_dinodes, It
> makes no sense to count them with the used data blocks (first check that
> I changed), it makes sense to count them with the linked inodes (second
> check), and it makes no sense to care if there are more unlinked inodes
> than linked ones. This fixes these errors.
> 
> Signed-off-by: Benjamin Marzinski <[email protected]>
> ---
>  fs/gfs2/rgrp.c |   14 +++-----------
>  1 file changed, 3 insertions(+), 11 deletions(-)
> 
> Index: gfs2-2.6-nmw/fs/gfs2/rgrp.c
> ===================================================================
> --- gfs2-2.6-nmw.orig/fs/gfs2/rgrp.c
> +++ gfs2-2.6-nmw/fs/gfs2/rgrp.c
> @@ -285,27 +285,19 @@ void gfs2_rgrp_verify(struct gfs2_rgrpd 
>       }
>  
>       tmp = rgd->rd_data - rgd->rd_free - rgd->rd_dinodes;
> -     if (count[1] + count[2] != tmp) {
> +     if (count[1] != tmp) {
>               if (gfs2_consist_rgrpd(rgd))
>                       fs_err(sdp, "used data mismatch:  %u != %u\n",
>                              count[1], tmp);
>               return;
>       }
>  
> -     if (count[3] != rgd->rd_dinodes) {
> +     if (count[2] + count[3] != rgd->rd_dinodes) {
>               if (gfs2_consist_rgrpd(rgd))
>                       fs_err(sdp, "used metadata mismatch:  %u != %u\n",
> -                            count[3], rgd->rd_dinodes);
> +                            count[2] + count[3], rgd->rd_dinodes);
>               return;
>       }
> -
> -     if (count[2] > count[3]) {
> -             if (gfs2_consist_rgrpd(rgd))
> -                     fs_err(sdp, "unlinked inodes > inodes:  %u\n",
> -                            count[2]);
> -             return;
> -     }
> -
>  }
>  
>  static inline int rgrp_contains_block(struct gfs2_rgrpd *rgd, u64 block)
> 

Reply via email to