[Cluster-devel] [PATCH 09/20] libgfs2: Don't use buffer_heads in gfs2_sb_in
Andrew Price
anprice at redhat.com
Mon Mar 5 18:25:38 UTC 2018
Signed-off-by: Andrew Price <anprice at redhat.com>
---
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
More information about the Cluster-devel
mailing list