This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master in repository gfs2-utils.
commit 61b3351f9bcf2b5451fb9f620442a8a7130fb439 Author: Andrew Price anprice@redhat.com AuthorDate: Fri Nov 12 21:52:28 2021 +0000
libgfs2: Remove start and length from struct rgrp_tree
These are essentially duplicates of rt_addr and rt_skip.
Signed-off-by: Andrew Price anprice@redhat.com --- gfs2/fsck/rgrepair.c | 34 ++++++++-------------------------- gfs2/libgfs2/libgfs2.h | 2 -- gfs2/libgfs2/super.c | 13 ++++--------- 3 files changed, 12 insertions(+), 37 deletions(-)
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c index 129e3e5c..eec59681 100644 --- a/gfs2/fsck/rgrepair.c +++ b/gfs2/fsck/rgrepair.c @@ -754,7 +754,6 @@ static void compute_rgrp_layout(struct gfs2_sbd *sdp, struct osi_root *rgtree, i { struct device *dev; struct rgrp_tree *rl, *rlast = NULL; - struct osi_node *n, *next = NULL; unsigned int rgrp = 0, nrgrp, rglength; uint64_t rgaddr;
@@ -771,20 +770,11 @@ static void compute_rgrp_layout(struct gfs2_sbd *sdp, struct osi_root *rgtree, i uint64_t old_length, new_chunk; unsigned new_rgrps;
- printf("Existing resource groups:\n"); - for (rgrp = 0, n = osi_first(rgtree); n; n = next, rgrp++) { - next = osi_next(n); - rl = (struct rgrp_tree *)n; + for (struct osi_node *n = osi_first(rgtree); n; n = osi_next(n)) + rlast = (struct rgrp_tree *)n;
- printf("%d: start: %" PRIu64 " (0x%" - PRIx64 "), length = %"PRIu64" (0x%" - PRIx64 ")\n", rgrp + 1, rl->start, rl->start, - rl->length, rl->length); - rlast = rl; - } - rlast->start = rlast->rt_addr; rglength = rgrp_size(rlast); - rlast->length = rglength; + rlast->rt_skip = rglength; old_length = rlast->rt_addr + rglength; new_chunk = dev->length - old_length; new_rgrps = new_chunk / rglength; @@ -795,20 +785,15 @@ static void compute_rgrp_layout(struct gfs2_sbd *sdp, struct osi_root *rgtree, i printf("\nNew resource groups:\n"); for (; rgrp < nrgrp; rgrp++) { if (rgrp) { - rgaddr = rlast->start + rlast->length; + rgaddr = rlast->rt_addr + rlast->rt_skip; rl = rgrp_insert(rgtree, rgaddr); - rl->length = rglength; + rl->rt_skip = rglength; } else { rgaddr = LGFS2_SB_ADDR(sdp) + 1; rl = rgrp_insert(rgtree, rgaddr); - rl->length = dev->length - + rl->rt_skip = dev->length - (nrgrp - 1) * (dev->length / nrgrp); } - rl->start = rgaddr; - /* printf("%d: start: %" PRIu64 " (0x%" - PRIx64 "), length = %"PRIu64" (0x%" - PRIx64 ")\n", rgrp + 1, rl->start, rl->start, - rl->length, rl->length);*/ rlast = rl; }
@@ -825,11 +810,10 @@ static int calc_rgrps(struct gfs2_sbd *sdp) next = osi_next(n); rl = (struct rgrp_tree *)n;
- bitblocks = rgblocks2bitblocks(sdp->sd_bsize, rl->length, &rgblocks); + bitblocks = rgblocks2bitblocks(sdp->sd_bsize, rl->rt_skip, &rgblocks);
- rl->rt_addr = rl->start; rl->rt_length = bitblocks; - rl->rt_data0 = rl->start + bitblocks; + rl->rt_data0 = rl->rt_addr + bitblocks; rl->rt_data = rgblocks; rl->rt_bitbytes = rgblocks / GFS2_NBBY; rl->rt_free = rgblocks; @@ -970,8 +954,6 @@ static int expect_rindex_sanity(struct gfs2_sbd *sdp, int *num_rgs) fprintf(stderr, "Out of memory in %s\n", __FUNCTION__); exit(-1); } - exp->start = rgd->start; - exp->length = rgd->length; exp->rt_data0 = rgd->rt_data0; exp->rt_data = rgd->rt_data; exp->rt_length = rgd->rt_length; diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h index dd97441f..e37f5c57 100644 --- a/gfs2/libgfs2/libgfs2.h +++ b/gfs2/libgfs2/libgfs2.h @@ -175,8 +175,6 @@ typedef struct _lgfs2_rgrps *lgfs2_rgrps_t;
struct rgrp_tree { struct osi_node node; - uint64_t start; /* The offset of the beginning of this resource group */ - uint64_t length; /* The length of this resource group */ struct gfs2_bitmap *bits; lgfs2_rgrps_t rgrps;
diff --git a/gfs2/libgfs2/super.c b/gfs2/libgfs2/super.c index cd2a2ecf..1bdfe254 100644 --- a/gfs2/libgfs2/super.c +++ b/gfs2/libgfs2/super.c @@ -224,29 +224,26 @@ int rindex_read(struct gfs2_sbd *sdp, uint64_t *rgcount, int *ok) *ok = 0; if (prev_rgd == NULL) continue; - addr = prev_rgd->rt_addr + prev_rgd->length; + addr = prev_rgd->rt_data0 + prev_rgd->rt_data; } rgd = rgrp_insert(&sdp->rgtree, addr); rgd->rt_length = be32_to_cpu(ri.ri_length); rgd->rt_data0 = be64_to_cpu(ri.ri_data0); rgd->rt_data = be32_to_cpu(ri.ri_data); rgd->rt_bitbytes = be32_to_cpu(ri.ri_bitbytes); - rgd->start = addr; if (prev_rgd) { /* If rg addresses go backwards, it's not sane (or it's converted from gfs1). */ if (!sdp->gfs1) { - if (prev_rgd->start >= rgd->start) + if (prev_rgd->rt_addr >= rgd->rt_addr) *ok = 0; else if (!rgd_seems_ok(sdp, rgd)) *ok = 0; else if (*ok && rg > 2 && prev_length && - prev_length != rgd->start - - prev_rgd->start) + prev_length != rgd->rt_addr - prev_rgd->rt_addr) *ok = good_on_disk(sdp, rgd); } - prev_length = rgd->start - prev_rgd->start; - prev_rgd->length = rgrp_size(prev_rgd); + prev_length = rgd->rt_addr - prev_rgd->rt_addr; }
if(gfs2_compute_bitstructs(sdp->sd_bsize, rgd)) @@ -255,8 +252,6 @@ int rindex_read(struct gfs2_sbd *sdp, uint64_t *rgcount, int *ok) (*rgcount)++; prev_rgd = rgd; } - if (prev_rgd) - prev_rgd->length = rgrp_size(prev_rgd); if (*rgcount == 0) return -1; return 0;
cluster-commits@lists.fedorahosted.org