From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Price Date: Mon, 5 Mar 2018 18:25:38 +0000 Subject: [Cluster-devel] [PATCH 09/20] libgfs2: Don't use buffer_heads in gfs2_sb_in In-Reply-To: <20180305182549.17817-1-anprice@redhat.com> References: <20180305182549.17817-1-anprice@redhat.com> Message-ID: <20180305182549.17817-10-anprice@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Signed-off-by: Andrew Price --- gfs2/convert/gfs2_convert.c | 2 +- gfs2/edit/gfs2hex.c | 2 +- gfs2/edit/hexedit.c | 4 ++-- gfs2/edit/savemeta.c | 14 +++++++------- gfs2/glocktop/glocktop.c | 2 +- gfs2/libgfs2/libgfs2.h | 2 +- gfs2/libgfs2/ondisk.c | 6 +++--- gfs2/libgfs2/super.c | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c index 765c6d50..6aac2b0e 100644 --- a/gfs2/convert/gfs2_convert.c +++ b/gfs2/convert/gfs2_convert.c @@ -1587,7 +1587,7 @@ static int init(struct gfs2_sbd *sbp, struct gfs2_options *opts) bh = bread(sbp, GFS2_SB_ADDR >> sbp->sd_fsb2bb_shift); memcpy(&raw_gfs1_ondisk_sb, (struct gfs_sb *)bh->b_data, sizeof(struct gfs_sb)); - gfs2_sb_in(&sbp->sd_sb, bh); + gfs2_sb_in(&sbp->sd_sb, bh->b_data); jindex_addr = be64_to_cpu(raw_gfs1_ondisk_sb.sb_jindex_di.no_addr); rindex_addr = be64_to_cpu(raw_gfs1_ondisk_sb.sb_rindex_di.no_addr); diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c index 4a20b465..2d165392 100644 --- a/gfs2/edit/gfs2hex.c +++ b/gfs2/edit/gfs2hex.c @@ -490,7 +490,7 @@ int display_gfs2(struct gfs2_buffer_head *dbh) switch (mh.mh_type) { case GFS2_METATYPE_SB: - gfs2_sb_in(&sbd.sd_sb, dbh); + gfs2_sb_in(&sbd.sd_sb, dbh->b_data); gfs2_sb_print2(&sbd.sd_sb); break; diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c index 9997ddb5..a06199e7 100644 --- a/gfs2/edit/hexedit.c +++ b/gfs2/edit/hexedit.c @@ -973,7 +973,7 @@ static void read_superblock(int fd) sbd.qcsize = GFS2_DEFAULT_QCSIZE; sbd.time = time(NULL); sbd.rgtree.osi_node = NULL; - gfs2_sb_in(&sbd.sd_sb, bh); /* parse it out into the sb structure */ + gfs2_sb_in(&sbd.sd_sb, bh->b_data); /* Check to see if this is really gfs1 */ if (sbd1->sb_fs_format == GFS_FORMAT_FS && sbd1->sb_header.mh_type == GFS_METATYPE_SB && @@ -1103,7 +1103,7 @@ int display(int identify_only, int trunc_zeros, uint64_t flagref, indirect_blocks = 0; lines_per_row[dmode] = 1; if (gfs2_struct_type == GFS2_METATYPE_SB || blk == 0x10 * (4096 / sbd.bsize)) { - gfs2_sb_in(&sbd.sd_sb, bh); /* parse it out into the sb structure */ + gfs2_sb_in(&sbd.sd_sb, bh->b_data); memset(indirect, 0, sizeof(struct iinfo)); indirect->ii[0].block = sbd.sd_sb.sb_master_dir.no_addr; indirect->ii[0].is_dir = TRUE; diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c index c4dab490..0b7e4790 100644 --- a/gfs2/edit/savemeta.c +++ b/gfs2/edit/savemeta.c @@ -1059,15 +1059,15 @@ static int restore_super(gzFile gzfd, off_t pos) { int ret; struct saved_metablock svb = {0}; - struct gfs2_buffer_head dummy_bh; + char *buf; - dummy_bh.b_data = calloc(1, sizeof(struct gfs2_sb)); - if (dummy_bh.b_data == NULL) { + buf = calloc(1, sizeof(struct gfs2_sb)); + if (buf == NULL) { perror("Failed to restore super block"); exit(1); } gzseek(gzfd, pos, SEEK_SET); - ret = restore_block(gzfd, &svb, dummy_bh.b_data, sizeof(struct gfs2_sb)); + ret = restore_block(gzfd, &svb, buf, sizeof(struct gfs2_sb)); if (ret == 1) { fprintf(stderr, "Reached end of file while restoring superblock\n"); goto err; @@ -1075,7 +1075,7 @@ static int restore_super(gzFile gzfd, off_t pos) goto err; } - gfs2_sb_in(&sbd.sd_sb, &dummy_bh); + gfs2_sb_in(&sbd.sd_sb, buf); sbd1 = (struct gfs_sb *)&sbd.sd_sb; ret = check_sb(&sbd.sd_sb); if (ret < 0) { @@ -1085,11 +1085,11 @@ static int restore_super(gzFile gzfd, off_t pos) if (ret == 1) sbd.gfs1 = 1; sbd.bsize = sbd.sd_sb.sb_bsize; - free(dummy_bh.b_data); + free(buf); printf("Block size is %uB\n", sbd.bsize); return 0; err: - free(dummy_bh.b_data); + free(buf); return -1; } diff --git a/gfs2/glocktop/glocktop.c b/gfs2/glocktop/glocktop.c index cef368a0..45d8c497 100644 --- a/gfs2/glocktop/glocktop.c +++ b/gfs2/glocktop/glocktop.c @@ -234,7 +234,7 @@ static void read_superblock(int fd, int mntpt) ioctl(fd, BLKFLSBUF, 0); bh = bread(&sbd, GFS2_SB_ADDR); - gfs2_sb_in(&sd_sb[mntpt], bh); /* parse it out into the sb structure */ + gfs2_sb_in(&sd_sb[mntpt], bh->b_data); bsize = sd_sb[mntpt].sb_bsize; if (!bsize) bsize = 4096; diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h index 4f0d4924..0e4ca9d6 100644 --- a/gfs2/libgfs2/libgfs2.h +++ b/gfs2/libgfs2/libgfs2.h @@ -723,7 +723,7 @@ extern void gfs2_inum_in(struct gfs2_inum *no, char *buf); extern void gfs2_inum_out(const struct gfs2_inum *no, char *buf); extern void gfs2_meta_header_in(struct gfs2_meta_header *mh, char *buf); extern void gfs2_meta_header_out(const struct gfs2_meta_header *mh, char *buf); -extern void gfs2_sb_in(struct gfs2_sb *sb, struct gfs2_buffer_head *bh); +extern void gfs2_sb_in(struct gfs2_sb *sb, char *buf); extern void gfs2_sb_out(const struct gfs2_sb *sb, char *buf); extern void gfs2_rindex_in(struct gfs2_rindex *ri, char *buf); extern void gfs2_rindex_out(const struct gfs2_rindex *ri, char *buf); diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c index f56717a8..9bcba878 100644 --- a/gfs2/libgfs2/ondisk.c +++ b/gfs2/libgfs2/ondisk.c @@ -91,11 +91,11 @@ void gfs2_meta_header_print(const struct gfs2_meta_header *mh) pv(mh, mh_format, "%u", "0x%x"); } -void gfs2_sb_in(struct gfs2_sb *sb, struct gfs2_buffer_head *bh) +void gfs2_sb_in(struct gfs2_sb *sb, char *buf) { - struct gfs2_sb *str = (struct gfs2_sb *)bh->b_data; + struct gfs2_sb *str = (struct gfs2_sb *)buf; - gfs2_meta_header_in(&sb->sb_header, bh->b_data); + gfs2_meta_header_in(&sb->sb_header, buf); CPIN_32(sb, str, sb_fs_format); CPIN_32(sb, str, sb_multihost_format); diff --git a/gfs2/libgfs2/super.c b/gfs2/libgfs2/super.c index 4b80da2f..6e7d8c23 100644 --- a/gfs2/libgfs2/super.c +++ b/gfs2/libgfs2/super.c @@ -57,7 +57,7 @@ int read_sb(struct gfs2_sbd *sdp) int ret; bh = bread(sdp, GFS2_SB_ADDR >> sdp->sd_fsb2bb_shift); - gfs2_sb_in(&sdp->sd_sb, bh); + gfs2_sb_in(&sdp->sd_sb, bh->b_data); brelse(bh); ret = check_sb(&sdp->sd_sb); -- 2.14.3