[gfs2-utils] 14/20: libgfs2: Don't use buffer_heads in
gfs2_leaf_{in, out}
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit 4727eb2479f56812951190bc6e4fd58732fa77df
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 05:04:37 2018 +0000
libgfs2: Don't use buffer_heads in gfs2_leaf_{in,out}
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/convert/gfs2_convert.c | 2 +-
gfs2/edit/gfs2hex.c | 8 +++-----
gfs2/edit/savemeta.c | 2 +-
gfs2/fsck/metawalk.c | 10 ++++++----
gfs2/fsck/pass2.c | 6 +++---
gfs2/libgfs2/libgfs2.h | 4 ++--
gfs2/libgfs2/ondisk.c | 13 ++++++-------
7 files changed, 22 insertions(+), 23 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index d2b29f3..eac907c 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -1303,7 +1303,7 @@ static int fix_one_directory_exhash(struct gfs2_sbd *sbp, struct gfs2_inode *dip
(unsigned long long)leaf_block);
break;
}
- gfs2_leaf_in(&leaf, bh_leaf); /* buffer to structure */
+ gfs2_leaf_in(&leaf, bh_leaf->b_data);
error = process_dirent_info(dip, sbp, bh_leaf, leaf.lf_entries, dentmod);
bmodified(bh_leaf);
brelse(bh_leaf);
diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c
index 1a12e05..c1aa81a 100644
--- a/gfs2/edit/gfs2hex.c
+++ b/gfs2/edit/gfs2hex.c
@@ -298,7 +298,7 @@ void do_dinode_extended(struct gfs2_dinode *dine, struct gfs2_buffer_head *lbh)
if (last >= max_block)
break;
tmp_bh = bread(&sbd, last);
- gfs2_leaf_in(&leaf, tmp_bh);
+ gfs2_leaf_in(&leaf, tmp_bh->b_data);
indirect->ii[indirect_blocks].dirents = 0;
for (direntcount = 0, bufoffset = sizeof(struct gfs2_leaf);
bufoffset < sbd.bsize;
@@ -325,12 +325,10 @@ uint64_t do_leaf_extended(char *dlebuf, struct iinfo *indir)
{
int x, i;
struct gfs2_dirent de;
- struct gfs2_buffer_head tbh; /* kludge */
x = 0;
memset(indir, 0, sizeof(*indir));
- tbh.b_data = dlebuf;
- gfs2_leaf_in(&indir->ii[0].lf, &tbh);
+ gfs2_leaf_in(&indir->ii[0].lf, dlebuf);
/* Directory Entries: */
for (i = sizeof(struct gfs2_leaf); i < sbd.bsize;
i += de.de_rec_len) {
@@ -519,7 +517,7 @@ int display_gfs2(struct gfs2_buffer_head *dbh)
break;
case GFS2_METATYPE_LF:
- gfs2_leaf_in(&lf, dbh);
+ gfs2_leaf_in(&lf, dbh->b_data);
gfs2_leaf_print(&lf);
break;
diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 6d87f33..25fd7bc 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -574,7 +574,7 @@ static int save_leaf_chain(struct metafd *mfd, struct gfs2_sbd *sdp, uint64_t bl
return ret;
}
}
- gfs2_leaf_in(&leaf, bh);
+ gfs2_leaf_in(&leaf, bh->b_data);
brelse(bh);
blk = leaf.lf_next;
} while (leaf.lf_next != 0);
diff --git a/gfs2/fsck/metawalk.c b/gfs2/fsck/metawalk.c
index 78c5b8a..127edaa 100644
--- a/gfs2/fsck/metawalk.c
+++ b/gfs2/fsck/metawalk.c
@@ -583,12 +583,13 @@ int check_leaf(struct gfs2_inode *ip, int lindex, struct metawalk_fxns *pass,
to use cpu_to_be32(), but we should check for incorrect values and
replace them with the correct value. */
- gfs2_leaf_in(leaf, lbh);
+ gfs2_leaf_in(leaf, lbh->b_data);
if (leaf->lf_dirent_format == (GFS2_FORMAT_DE << 16)) {
log_debug( _("incorrect lf_dirent_format at leaf #%" PRIu64
"\n"), *leaf_no);
leaf->lf_dirent_format = GFS2_FORMAT_DE;
- gfs2_leaf_out(leaf, lbh);
+ gfs2_leaf_out(leaf, lbh->b_data);
+ bmodified(lbh);
log_debug( _("Fixing lf_dirent_format.\n"));
}
@@ -623,7 +624,7 @@ int check_leaf(struct gfs2_inode *ip, int lindex, struct metawalk_fxns *pass,
changed it. */
brelse(lbh);
lbh = bread(sdp, *leaf_no);
- gfs2_leaf_in(leaf, lbh);
+ gfs2_leaf_in(leaf, lbh->b_data);
if (count != leaf->lf_entries) {
log_err( _("Leaf %llu (0x%llx) entry count in "
"directory %llu (0x%llx) does not match "
@@ -635,7 +636,8 @@ int check_leaf(struct gfs2_inode *ip, int lindex, struct metawalk_fxns *pass,
leaf->lf_entries, count);
if (query( _("Update leaf entry count? (y/n) "))) {
leaf->lf_entries = count;
- gfs2_leaf_out(leaf, lbh);
+ gfs2_leaf_out(leaf, lbh->b_data);
+ bmodified(lbh);
log_warn( _("Leaf entry count updated\n"));
} else
log_err( _("Leaf entry count left in "
diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c
index abc2b96..763e39a 100644
--- a/gfs2/fsck/pass2.c
+++ b/gfs2/fsck/pass2.c
@@ -1496,7 +1496,7 @@ static int fix_hashtable(struct gfs2_inode *ip, uint64_t *tbl, unsigned hsize,
new_leaf_blk = find_free_blk(ip->i_sbd);
dir_split_leaf(ip, lindex, leafblk, lbh);
/* re-read the leaf to pick up dir_split_leaf's changes */
- gfs2_leaf_in(&leaf, lbh);
+ gfs2_leaf_in(&leaf, lbh->b_data);
*proper_len = 1 << (ip->i_di.di_depth - leaf.lf_depth);
log_err(_("Leaf block %llu (0x%llx) was split from length "
"%d to %d\n"), (unsigned long long)leafblk,
@@ -1793,7 +1793,7 @@ static int check_hash_tbl(struct gfs2_inode *ip, uint64_t *tbl,
(unsigned long long)leafblk,
proper_len, proper_len);
lbh = bread(ip->i_sbd, leafblk);
- gfs2_leaf_in(&leaf, lbh);
+ gfs2_leaf_in(&leaf, lbh->b_data);
if (gfs2_check_meta(lbh, GFS2_METATYPE_LF) ||
leaf.lf_depth > ip->i_di.di_depth)
leaf.lf_depth = factor;
@@ -1833,7 +1833,7 @@ static int check_hash_tbl(struct gfs2_inode *ip, uint64_t *tbl,
/* Now we have to determine if the hash table is
corrupt, or if the leaf has the wrong depth. */
lbh = bread(ip->i_sbd, leafblk);
- gfs2_leaf_in(&leaf, lbh);
+ gfs2_leaf_in(&leaf, lbh->b_data);
brelse(lbh);
/* Calculate the expected pointer count based on the
leaf depth. */
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 7b2671b..71b4e5e 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -735,8 +735,8 @@ extern void gfs2_dinode_in(struct gfs2_dinode *di, char *buf);
extern void gfs2_dinode_out(struct gfs2_dinode *di, char *buf);
extern void gfs2_dirent_in(struct gfs2_dirent *de, char *buf);
extern void gfs2_dirent_out(struct gfs2_dirent *de, char *buf);
-extern void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh);
-extern void gfs2_leaf_out(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh);
+extern void gfs2_leaf_in(struct gfs2_leaf *lf, char *buf);
+extern void gfs2_leaf_out(struct gfs2_leaf *lf, char *buf);
extern void gfs2_ea_header_in(struct gfs2_ea_header *ea, char *buf);
extern void gfs2_log_header_v1_in(struct gfs2_log_header *lh, struct gfs2_buffer_head *bh);
extern void gfs2_log_header_in(struct gfs2_log_header *lh, struct gfs2_buffer_head *bh);
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index 51dc004..04f3ce2 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -452,11 +452,11 @@ void gfs2_dirent_out(struct gfs2_dirent *de, char *buf)
#endif /* GFS2_HAS_DE_RAHEAD */
}
-void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
+void gfs2_leaf_in(struct gfs2_leaf *lf, char *buf)
{
- struct gfs2_leaf *str = (struct gfs2_leaf *)bh->b_data;
+ struct gfs2_leaf *str = (struct gfs2_leaf *)buf;
- gfs2_meta_header_in(&lf->lf_header, bh->b_data);
+ gfs2_meta_header_in(&lf->lf_header, buf);
CPIN_16(lf, str, lf_depth);
CPIN_16(lf, str, lf_entries);
CPIN_32(lf, str, lf_dirent_format);
@@ -472,11 +472,11 @@ void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
#endif
}
-void gfs2_leaf_out(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
+void gfs2_leaf_out(struct gfs2_leaf *lf, char *buf)
{
- struct gfs2_leaf *str = (struct gfs2_leaf *)bh->b_data;
+ struct gfs2_leaf *str = (struct gfs2_leaf *)buf;
- gfs2_meta_header_out(&lf->lf_header, bh->b_data);
+ gfs2_meta_header_out(&lf->lf_header, buf);
CPOUT_16(lf, str, lf_depth);
CPOUT_16(lf, str, lf_entries);
CPOUT_32(lf, str, lf_dirent_format);
@@ -490,7 +490,6 @@ void gfs2_leaf_out(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
#else
CPOUT_08(lf, str, lf_reserved, 64);
#endif
- bmodified(bh);
}
void gfs2_leaf_print(const struct gfs2_leaf *lf)
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 13/20: libgfs2: Remove gfs2_dinode_out_bh
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit 88cac8fa753056b66d04c31f764409dd0990de69
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 04:50:49 2018 +0000
libgfs2: Remove gfs2_dinode_out_bh
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/convert/gfs2_convert.c | 2 +-
gfs2/fsck/lost_n_found.c | 2 +-
gfs2/fsck/rgrepair.c | 3 +--
gfs2/libgfs2/fs_ops.c | 13 ++++++-------
gfs2/libgfs2/gfs1.c | 5 ++---
gfs2/libgfs2/libgfs2.h | 1 -
gfs2/libgfs2/ondisk.c | 6 ------
gfs2/libgfs2/structures.c | 8 ++++----
8 files changed, 15 insertions(+), 25 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index e664022..d2b29f3 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -2323,7 +2323,7 @@ int main(int argc, char **argv)
{
struct gfs2_inode *ip = sb2.master_dir;
if (ip->i_bh->b_modified)
- gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out(&ip->i_di, ip->i_bh->b_data);
}
/* Copy old quotas */
copy_quotas(&sb2);
diff --git a/gfs2/fsck/lost_n_found.c b/gfs2/fsck/lost_n_found.c
index 2722b29..4d5d52c 100644
--- a/gfs2/fsck/lost_n_found.c
+++ b/gfs2/fsck/lost_n_found.c
@@ -253,7 +253,7 @@ int add_inode_to_lf(struct gfs2_inode *ip){
log_notice( _("Added inode #%llu (0x%llx) to lost+found\n"),
(unsigned long long)ip->i_di.di_num.no_addr,
(unsigned long long)ip->i_di.di_num.no_addr);
- gfs2_dinode_out_bh(&lf_dip->i_di, lf_dip->i_bh);
+ gfs2_dinode_out(&lf_dip->i_di, lf_dip->i_bh->b_data);
bwrite(lf_dip->i_bh);
return 0;
}
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index b772ec6..e64f70d 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -1237,8 +1237,7 @@ int rg_repair(struct gfs2_sbd *sdp, int trust_lvl, int *rg_count, int *sane)
permission. */
if (sdp->md.riinode->i_bh->b_modified) {
log_debug("Syncing rindex inode changes to disk.\n");
- gfs2_dinode_out_bh(&sdp->md.riinode->i_di,
- sdp->md.riinode->i_bh);
+ gfs2_dinode_out(&sdp->md.riinode->i_di, sdp->md.riinode->i_bh->b_data);
bwrite(sdp->md.riinode->i_bh);
}
return 0;
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index 6f7c422..7e87e43 100644
--- a/gfs2/libgfs2/fs_ops.c
+++ b/gfs2/libgfs2/fs_ops.c
@@ -95,7 +95,7 @@ void inode_put(struct gfs2_inode **ip_in)
struct gfs2_sbd *sdp = ip->i_sbd;
if (ip->i_bh->b_modified) {
- gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out(&ip->i_di, ip->i_bh->b_data);
if (!ip->bh_owned && is_system_inode(sdp, block))
fprintf(stderr, "Warning: Change made to inode "
"were discarded.\n");
@@ -1324,7 +1324,7 @@ static void dir_make_exhash(struct gfs2_inode *dip)
for (x = sdp->sd_hash_ptrs, y = -1; x; x >>= 1, y++) ;
dip->i_di.di_depth = y;
- gfs2_dinode_out_bh(&dip->i_di, dip->i_bh);
+ gfs2_dinode_out(&dip->i_di, dip->i_bh->b_data);
bwrite(dip->i_bh);
}
@@ -1430,9 +1430,8 @@ static int __init_dinode(struct gfs2_sbd *sdp, struct gfs2_buffer_head **bhp, st
di.di_payload_format = GFS2_FORMAT_DE;
di.di_entries = 2;
}
-
- gfs2_dinode_out_bh(&di, bh);
-
+ gfs2_dinode_out(&di, bh->b_data);
+ bmodified(bh);
return 0;
}
@@ -1494,13 +1493,13 @@ int lgfs2_write_filemeta(struct gfs2_inode *ip)
char *start = bh->b_data;
if (height == 0) {
start += sizeof(struct gfs2_dinode);
- gfs2_dinode_out_bh(&ip->i_di, bh);
+ gfs2_dinode_out(&ip->i_di, bh->b_data);
} else {
start += sizeof(struct gfs2_meta_header);
gfs2_meta_header_out(&mh, bh->b_data);
}
lgfs2_fill_indir(start, bh->b_data + sdp->bsize, ptr0, ptrs, &p);
- if(bwrite(bh)) {
+ if (bwrite(bh)) {
free(bh);
return 1;
}
diff --git a/gfs2/libgfs2/gfs1.c b/gfs2/libgfs2/gfs1.c
index 00d3223..b91cce5 100644
--- a/gfs2/libgfs2/gfs1.c
+++ b/gfs2/libgfs2/gfs1.c
@@ -243,9 +243,8 @@ int gfs1_writei(struct gfs2_inode *ip, char *buf, uint64_t offset,
ip->i_di.di_size = start + copied;
}
ip->i_di.di_mtime = ip->i_di.di_ctime = time(NULL);
-
- gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
-
+ gfs2_dinode_out(&ip->i_di, ip->i_bh->b_data);
+ bmodified(ip->i_bh);
return copied;
}
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 5fe1154..7b2671b 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -733,7 +733,6 @@ extern void gfs2_quota_in(struct gfs2_quota *qu, char *buf);
extern void gfs2_quota_out(struct gfs2_quota *qu, char *buf);
extern void gfs2_dinode_in(struct gfs2_dinode *di, char *buf);
extern void gfs2_dinode_out(struct gfs2_dinode *di, char *buf);
-extern void gfs2_dinode_out_bh(struct gfs2_dinode *di, struct gfs2_buffer_head *bh);
extern void gfs2_dirent_in(struct gfs2_dirent *de, char *buf);
extern void gfs2_dirent_out(struct gfs2_dirent *de, char *buf);
extern void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh);
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index b54a638..51dc004 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -378,12 +378,6 @@ void gfs2_dinode_out(struct gfs2_dinode *di, char *buf)
CPOUT_08(di, str, di_reserved, 32);
}
-void gfs2_dinode_out_bh(struct gfs2_dinode *di, struct gfs2_buffer_head *bh)
-{
- gfs2_dinode_out(di, bh->iov.iov_base);
- bmodified(bh);
-}
-
void gfs2_dinode_print(const struct gfs2_dinode *di)
{
gfs2_meta_header_print(&di->di_header);
diff --git a/gfs2/libgfs2/structures.c b/gfs2/libgfs2/structures.c
index aaa7699..51e7d07 100644
--- a/gfs2/libgfs2/structures.c
+++ b/gfs2/libgfs2/structures.c
@@ -347,8 +347,8 @@ int build_inum_range(struct gfs2_inode *per_node, unsigned int j)
return errno;
}
ip->i_di.di_size = sizeof(struct gfs2_inum_range);
- gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
-
+ gfs2_dinode_out(&ip->i_di, ip->i_bh->b_data);
+ bmodified(ip->i_bh);
if (cfg_debug) {
printf("\nInum Range %u:\n", j);
gfs2_dinode_print(&ip->i_di);
@@ -370,8 +370,8 @@ int build_statfs_change(struct gfs2_inode *per_node, unsigned int j)
return errno;
}
ip->i_di.di_size = sizeof(struct gfs2_statfs_change);
- gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
-
+ gfs2_dinode_out(&ip->i_di, ip->i_bh->b_data);
+ bmodified(ip->i_bh);
if (cfg_debug) {
printf("\nStatFS Change %u:\n", j);
gfs2_dinode_print(&ip->i_di);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 12/20: libgfs2: Don't use buffer_heads in
gfs2_dinode_in
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit 97cbdf8d7c2bf7d66304d90c8127cb61487a3009
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 04:29:04 2018 +0000
libgfs2: Don't use buffer_heads in gfs2_dinode_in
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/edit/hexedit.c | 4 ++--
gfs2/edit/journal.c | 4 ++--
gfs2/edit/savemeta.c | 2 +-
gfs2/fsck/initialize.c | 2 +-
gfs2/libgfs2/fs_ops.c | 2 +-
gfs2/libgfs2/libgfs2.h | 3 +--
gfs2/libgfs2/ondisk.c | 6 +++---
7 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 8100136..5cdea68 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -1056,7 +1056,7 @@ static int read_master_dir(void)
bh = bread(&sbd, sbd.sd_sb.sb_master_dir.no_addr);
if (bh == NULL)
return 1;
- gfs2_dinode_in(&di, bh); /* parse disk inode into structure */
+ gfs2_dinode_in(&di, bh->b_data);
do_dinode_extended(&di, bh); /* get extended data, if any */
memcpy(&masterdir, &indirect[0], sizeof(struct indirect_info));
return 0;
@@ -1127,7 +1127,7 @@ int display(int identify_only, int trunc_zeros, uint64_t flagref,
indirect->ii[0].dirent[1].dirent.de_type = DT_DIR;
}
else if (gfs2_struct_type == GFS2_METATYPE_DI) {
- gfs2_dinode_in(&di, bh); /* parse disk inode into structure */
+ gfs2_dinode_in(&di, bh->b_data);
do_dinode_extended(&di, bh); /* get extended data, if any */
}
else if (gfs2_struct_type == GFS2_METATYPE_IN) { /* indirect block list */
diff --git a/gfs2/edit/journal.c b/gfs2/edit/journal.c
index ff0c6df..6ec1b2a 100644
--- a/gfs2/edit/journal.c
+++ b/gfs2/edit/journal.c
@@ -54,7 +54,7 @@ uint64_t find_journal_block(const char *journal, uint64_t *j_size)
/* read in the block */
jindex_bh = bread(&sbd, jindex_block);
/* get the dinode data from it. */
- gfs2_dinode_in(&di, jindex_bh); /* parse disk inode to struct*/
+ gfs2_dinode_in(&di, jindex_bh->b_data);
if (!sbd.gfs1)
do_dinode_extended(&di, jindex_bh); /* parse dir. */
@@ -82,7 +82,7 @@ uint64_t find_journal_block(const char *journal, uint64_t *j_size)
return 0;
jblock = indirect->ii[0].dirent[journal_num + 2].block;
j_bh = bread(&sbd, jblock);
- gfs2_dinode_in(&jdi, j_bh);/* parse dinode to struct */
+ gfs2_dinode_in(&jdi, j_bh->b_data);
*j_size = jdi.di_size;
brelse(j_bh);
}
diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index ac2d984..6d87f33 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -901,7 +901,7 @@ void savemeta(char *out_fn, int saveoption, int gziplevel)
else
jindex_block = masterblock("jindex");
lbh = bread(&sbd, jindex_block);
- gfs2_dinode_in(&di, lbh);
+ gfs2_dinode_in(&di, lbh->b_data);
if (!sbd.gfs1)
do_dinode_extended(&di, lbh);
brelse(lbh);
diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c
index 2a60417..ebe62b9 100644
--- a/gfs2/fsck/initialize.c
+++ b/gfs2/fsck/initialize.c
@@ -1175,7 +1175,7 @@ static int peruse_metadata(struct gfs2_sbd *sdp, uint64_t startblock)
brelse(bh);
continue;
}
- gfs2_dinode_in(&di, bh);
+ gfs2_dinode_in(&di, bh->b_data);
if (di.di_flags & GFS2_DIF_SYSTEM)
peruse_system_dinode(sdp, &di, bh);
else
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index d6ce64a..6f7c422 100644
--- a/gfs2/libgfs2/fs_ops.c
+++ b/gfs2/libgfs2/fs_ops.c
@@ -39,7 +39,7 @@ struct gfs2_inode *lgfs2_inode_get(struct gfs2_sbd *sdp, struct gfs2_buffer_head
if (ip == NULL) {
return NULL;
}
- gfs2_dinode_in(&ip->i_di, bh);
+ gfs2_dinode_in(&ip->i_di, bh->b_data);
ip->i_bh = bh;
ip->i_sbd = sdp;
return ip;
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index bdc8f36..5fe1154 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -731,8 +731,7 @@ extern void gfs2_rgrp_in(struct gfs2_rgrp *rg, char *buf);
extern void gfs2_rgrp_out(const struct gfs2_rgrp *rg, char *buf);
extern void gfs2_quota_in(struct gfs2_quota *qu, char *buf);
extern void gfs2_quota_out(struct gfs2_quota *qu, char *buf);
-extern void gfs2_dinode_in(struct gfs2_dinode *di,
- struct gfs2_buffer_head *bh);
+extern void gfs2_dinode_in(struct gfs2_dinode *di, char *buf);
extern void gfs2_dinode_out(struct gfs2_dinode *di, char *buf);
extern void gfs2_dinode_out_bh(struct gfs2_dinode *di, struct gfs2_buffer_head *bh);
extern void gfs2_dirent_in(struct gfs2_dirent *de, char *buf);
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index 1c68354..b54a638 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -308,11 +308,11 @@ void gfs2_quota_print(const struct gfs2_quota *qu)
pv(qu, qu_value, "%lld", "0x%llx");
}
-void gfs2_dinode_in(struct gfs2_dinode *di, struct gfs2_buffer_head *bh)
+void gfs2_dinode_in(struct gfs2_dinode *di, char *buf)
{
- struct gfs2_dinode *str = (struct gfs2_dinode *)bh->b_data;
+ struct gfs2_dinode *str = (struct gfs2_dinode *)buf;
- gfs2_meta_header_in(&di->di_header, bh->b_data);
+ gfs2_meta_header_in(&di->di_header, buf);
gfs2_inum_in(&di->di_num, (char *)&str->di_num);
CPIN_32(di, str, di_mode);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 11/20: libgfs2: Remove gfs2_rgrp_out_bh
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit b4d3467c09ea810b9bd4f10c3815464d84a9e6fc
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 04:16:16 2018 +0000
libgfs2: Remove gfs2_rgrp_out_bh
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/convert/gfs2_convert.c | 5 +++--
gfs2/edit/extended.c | 2 +-
gfs2/edit/hexedit.c | 3 ++-
gfs2/fsck/initialize.c | 6 ++++--
gfs2/fsck/metawalk.c | 3 ++-
gfs2/fsck/pass5.c | 2 +-
gfs2/fsck/rgrepair.c | 4 ++--
gfs2/libgfs2/fs_geometry.c | 2 +-
gfs2/libgfs2/fs_ops.c | 10 ++++++----
gfs2/libgfs2/libgfs2.h | 1 -
gfs2/libgfs2/ondisk.c | 6 ------
11 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index 6aac2b0..e664022 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -190,7 +190,8 @@ static int convert_rgs(struct gfs2_sbd *sbp)
sbp->dinodes_alloced += rgd1->rg_useddi;
convert_bitmaps(sbp, rgd);
/* Write the updated rgrp to the gfs2 buffer */
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
rgs++;
if (rgs % 100 == 0) {
printf(".");
@@ -1880,7 +1881,7 @@ static int journ_space_to_rg(struct gfs2_sbd *sdp)
if (x)
gfs2_meta_header_out(&mh, rgd->bits[x].bi_bh->b_data);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[x].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[x].bi_bh->b_data);
bmodified(rgd->bits[x].bi_bh);
}
} /* for each journal */
diff --git a/gfs2/edit/extended.c b/gfs2/edit/extended.c
index 4bfdb32..d24d755 100644
--- a/gfs2/edit/extended.c
+++ b/gfs2/edit/extended.c
@@ -561,7 +561,7 @@ static int parse_rindex(struct gfs2_inode *dip, int print_rindex)
tmp_bh = bread(&sbd, ri.ri_addr);
if (sbd.gfs1) {
struct gfs_rgrp rg1;
- gfs_rgrp_in(&rg1, tmp_bh->b_data);
+ gfs_rgrp_in(&rg1, tmp_bh);
gfs_rgrp_print(&rg1);
} else {
struct gfs2_rgrp rg;
diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index e346ec0..8100136 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -861,7 +861,8 @@ static void set_rgrp_flags(int rgnum, uint32_t new_flags, int modify, int full)
if (sbd.gfs1)
gfs_rgrp_out(&rg.rg1, rbh);
else
- gfs2_rgrp_out_bh(&rg.rg2, rbh);
+ gfs2_rgrp_out(&rg.rg2, rbh->b_data);
+ bmodified(rbh);
brelse(rbh);
} else {
if (full) {
diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c
index badbf50..2a60417 100644
--- a/gfs2/fsck/initialize.c
+++ b/gfs2/fsck/initialize.c
@@ -326,7 +326,8 @@ static void check_rgrp_integrity(struct gfs2_sbd *sdp, struct rgrp_tree *rgd,
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
*this_rg_cleaned = 1;
log_info( _("The rgrp at %lld (0x%llx) was cleaned of %d "
"free metadata blocks.\n"),
@@ -347,7 +348,8 @@ static void check_rgrp_integrity(struct gfs2_sbd *sdp, struct rgrp_tree *rgd,
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
*this_rg_fixed = 1;
log_err( _("The rgrp was fixed.\n"));
} else
diff --git a/gfs2/fsck/metawalk.c b/gfs2/fsck/metawalk.c
index 4d6dcfa..78c5b8a 100644
--- a/gfs2/fsck/metawalk.c
+++ b/gfs2/fsck/metawalk.c
@@ -157,7 +157,8 @@ int check_n_fix_bitmap(struct gfs2_sbd *sdp, struct rgrp_tree *rgd,
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
}
log_err( _("The bitmap was fixed.\n"));
return 0;
diff --git a/gfs2/fsck/pass5.c b/gfs2/fsck/pass5.c
index 554f39f..6234194 100644
--- a/gfs2/fsck/pass5.c
+++ b/gfs2/fsck/pass5.c
@@ -203,7 +203,7 @@ static void update_rgrp(struct gfs2_sbd *sdp, struct rgrp_tree *rgp,
if (sdp->gfs1)
gfs_rgrp_out(gfs1rg, rgp->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgp->rg, rgp->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgp->rg, rgp->bits[0].bi_bh->b_data);
} else
log_err( _("Resource group counts left inconsistent\n"));
}
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index 0fa5a4a..b772ec6 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -898,7 +898,6 @@ static int rewrite_rg_block(struct gfs2_sbd *sdp, struct rgrp_tree *rg,
mh.mh_type = GFS2_METATYPE_RB;
mh.mh_format = GFS2_FORMAT_RB;
gfs2_meta_header_out(&mh, rg->bits[x].bi_bh->b_data);
- bmodified(rg->bits[x].bi_bh);
} else {
if (sdp->gfs1)
memset(&rg->rg, 0, sizeof(struct gfs_rgrp));
@@ -911,8 +910,9 @@ static int rewrite_rg_block(struct gfs2_sbd *sdp, struct rgrp_tree *rg,
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rg->rg, rg->bits[x].bi_bh);
else
- gfs2_rgrp_out_bh(&rg->rg, rg->bits[x].bi_bh);
+ gfs2_rgrp_out(&rg->rg, rg->bits[x].bi_bh->b_data);
}
+ bmodified(rg->bits[x].bi_bh);
brelse(rg->bits[x].bi_bh);
rg->bits[x].bi_bh = NULL;
return 0;
diff --git a/gfs2/libgfs2/fs_geometry.c b/gfs2/libgfs2/fs_geometry.c
index 07d6c64..df8a13a 100644
--- a/gfs2/libgfs2/fs_geometry.c
+++ b/gfs2/libgfs2/fs_geometry.c
@@ -91,7 +91,7 @@ int build_rgrps(struct gfs2_sbd *sdp, int do_write)
if (x)
gfs2_meta_header_out(&mh, rl->bits[x].bi_bh->b_data);
else
- gfs2_rgrp_out_bh(&rl->rg, rl->bits[x].bi_bh);
+ gfs2_rgrp_out(&rl->rg, rl->bits[x].bi_bh->b_data);
bmodified(rl->bits[x].bi_bh);
}
}
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index 288c40c..d6ce64a 100644
--- a/gfs2/libgfs2/fs_ops.c
+++ b/gfs2/libgfs2/fs_ops.c
@@ -158,8 +158,8 @@ static int blk_alloc_in_rg(struct gfs2_sbd *sdp, unsigned state, struct rgrp_tre
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
-
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
sdp->blks_alloced++;
return 0;
}
@@ -1931,7 +1931,8 @@ void gfs2_free_block(struct gfs2_sbd *sdp, uint64_t block)
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
sdp->blks_alloced--;
}
}
@@ -2000,7 +2001,8 @@ int gfs2_freedi(struct gfs2_sbd *sdp, uint64_t diblock)
if (sdp->gfs1)
gfs_rgrp_out((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_out(&rgd->rg, rgd->bits[0].bi_bh->b_data);
+ bmodified(rgd->bits[0].bi_bh);
sdp->dinodes_alloced--;
return 0;
}
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 5c3b787..bdc8f36 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -729,7 +729,6 @@ extern void gfs2_rindex_in(struct gfs2_rindex *ri, char *buf);
extern void gfs2_rindex_out(const struct gfs2_rindex *ri, char *buf);
extern void gfs2_rgrp_in(struct gfs2_rgrp *rg, char *buf);
extern void gfs2_rgrp_out(const struct gfs2_rgrp *rg, char *buf);
-extern void gfs2_rgrp_out_bh(const struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh);
extern void gfs2_quota_in(struct gfs2_quota *qu, char *buf);
extern void gfs2_quota_out(struct gfs2_quota *qu, char *buf);
extern void gfs2_dinode_in(struct gfs2_dinode *di,
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index b9606d7..1c68354 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -261,12 +261,6 @@ void gfs2_rgrp_out(const struct gfs2_rgrp *rg, char *buf)
#endif
}
-void gfs2_rgrp_out_bh(const struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh)
-{
- gfs2_rgrp_out(rg, bh->iov.iov_base);
- bmodified(bh);
-}
-
void gfs2_rgrp_print(const struct gfs2_rgrp *rg)
{
gfs2_meta_header_print(&rg->rg_header);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 10/20: libgfs2: Don't use buffer_heads in gfs2_rgrp_in
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit 8e44f96d4bf2d7505bd4dab510b2805c8785ebb4
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 03:54:07 2018 +0000
libgfs2: Don't use buffer_heads in gfs2_rgrp_in
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/edit/extended.c | 4 ++--
gfs2/edit/gfs2hex.c | 2 +-
gfs2/edit/hexedit.c | 2 +-
gfs2/edit/savemeta.c | 2 +-
gfs2/fsck/fs_recovery.c | 2 +-
gfs2/libgfs2/libgfs2.h | 2 +-
gfs2/libgfs2/ondisk.c | 6 +++---
gfs2/libgfs2/rgrp.c | 2 +-
8 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/gfs2/edit/extended.c b/gfs2/edit/extended.c
index 214fdba..4bfdb32 100644
--- a/gfs2/edit/extended.c
+++ b/gfs2/edit/extended.c
@@ -561,11 +561,11 @@ static int parse_rindex(struct gfs2_inode *dip, int print_rindex)
tmp_bh = bread(&sbd, ri.ri_addr);
if (sbd.gfs1) {
struct gfs_rgrp rg1;
- gfs_rgrp_in(&rg1, tmp_bh);
+ gfs_rgrp_in(&rg1, tmp_bh->b_data);
gfs_rgrp_print(&rg1);
} else {
struct gfs2_rgrp rg;
- gfs2_rgrp_in(&rg, tmp_bh);
+ gfs2_rgrp_in(&rg, tmp_bh->b_data);
gfs2_rgrp_print(&rg);
}
brelse(tmp_bh);
diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c
index 2d16539..1a12e05 100644
--- a/gfs2/edit/gfs2hex.c
+++ b/gfs2/edit/gfs2hex.c
@@ -501,7 +501,7 @@ int display_gfs2(struct gfs2_buffer_head *dbh)
gfs1_rgrp_in(&rg1, dbh);
gfs1_rgrp_print(&rg1);
} else {
- gfs2_rgrp_in(&rg, dbh);
+ gfs2_rgrp_in(&rg, dbh->b_data);
gfs2_rgrp_print(&rg);
}
break;
diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index a06199e..e346ec0 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -852,7 +852,7 @@ static void set_rgrp_flags(int rgnum, uint32_t new_flags, int modify, int full)
if (sbd.gfs1)
gfs_rgrp_in(&rg.rg1, rbh);
else
- gfs2_rgrp_in(&rg.rg2, rbh);
+ gfs2_rgrp_in(&rg.rg2, rbh->b_data);
if (modify) {
printf("RG #%d (block %llu / 0x%llx) rg_flags changed from 0x%08x to 0x%08x\n",
rgnum, (unsigned long long)rgblk,
diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 0b7e479..ac2d984 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -809,7 +809,7 @@ static int rgrp_read(struct gfs2_sbd *sdp, struct rgrp_tree *rgd)
if (sdp->gfs1)
gfs_rgrp_in((struct gfs_rgrp *)&rgd->rg, rgd->bits[0].bi_bh);
else
- gfs2_rgrp_in(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_in(&rgd->rg, rgd->bits[0].bi_bh->b_data);
free(bhs);
return 0;
}
diff --git a/gfs2/fsck/fs_recovery.c b/gfs2/fsck/fs_recovery.c
index 4fd2879..740334d 100644
--- a/gfs2/fsck/fs_recovery.c
+++ b/gfs2/fsck/fs_recovery.c
@@ -114,7 +114,7 @@ static void refresh_rgrp(struct gfs2_sbd *sdp, struct rgrp_tree *rgd,
gfs_rgrp_in((struct gfs_rgrp *)&rgd->rg,
rgd->bits[0].bi_bh);
else
- gfs2_rgrp_in(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_in(&rgd->rg, rgd->bits[0].bi_bh->b_data);
}
break;
}
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 0e4ca9d..5c3b787 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -727,7 +727,7 @@ 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);
-extern void gfs2_rgrp_in(struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh);
+extern void gfs2_rgrp_in(struct gfs2_rgrp *rg, char *buf);
extern void gfs2_rgrp_out(const struct gfs2_rgrp *rg, char *buf);
extern void gfs2_rgrp_out_bh(const struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh);
extern void gfs2_quota_in(struct gfs2_quota *qu, char *buf);
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index 9bcba87..b9606d7 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -211,11 +211,11 @@ void gfs2_rindex_print(const struct gfs2_rindex *ri)
pv(ri, ri_bitbytes, "%u", "0x%x");
}
-void gfs2_rgrp_in(struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh)
+void gfs2_rgrp_in(struct gfs2_rgrp *rg, char *buf)
{
- struct gfs2_rgrp *str = (struct gfs2_rgrp *)bh->b_data;
+ struct gfs2_rgrp *str = (struct gfs2_rgrp *)buf;
- gfs2_meta_header_in(&rg->rg_header, bh->b_data);
+ gfs2_meta_header_in(&rg->rg_header, buf);
CPIN_32(rg, str, rg_flags);
CPIN_32(rg, str, rg_free);
CPIN_32(rg, str, rg_dinodes);
diff --git a/gfs2/libgfs2/rgrp.c b/gfs2/libgfs2/rgrp.c
index 6d9d8e7..6af6bba 100644
--- a/gfs2/libgfs2/rgrp.c
+++ b/gfs2/libgfs2/rgrp.c
@@ -242,7 +242,7 @@ uint64_t gfs2_rgrp_read(struct gfs2_sbd *sdp, struct rgrp_tree *rgd)
free(bhs);
return rgd->ri.ri_addr;
}
- gfs2_rgrp_in(&rgd->rg, rgd->bits[0].bi_bh);
+ gfs2_rgrp_in(&rgd->rg, rgd->bits[0].bi_bh->b_data);
}
free(bhs);
return 0;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 09/20: libgfs2: Don't use buffer_heads in gfs2_sb_in
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit e2d597baa128ad065a397138b5d52701795e6e7c
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 03:36:56 2018 +0000
libgfs2: Don't use buffer_heads in gfs2_sb_in
Signed-off-by: Andrew Price <anprice(a)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 765c6d5..6aac2b0 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 4a20b46..2d16539 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 9997ddb..a06199e 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 c4dab49..0b7e479 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 cef368a..45d8c49 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 4f0d492..0e4ca9d 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 f56717a..9bcba87 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 4b80da2..6e7d8c2 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);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 08/20: libgfs2: Don't use a buffer_head in
gfs2_meta_header_in
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit 4b51a54a4dfc14a41dd0c84e12708fe8e1a0b905
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Mar 5 03:23:05 2018 +0000
libgfs2: Don't use a buffer_head in gfs2_meta_header_in
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/edit/gfs2hex.c | 4 ++--
gfs2/edit/hexedit.c | 2 +-
gfs2/edit/savemeta.c | 4 ++--
gfs2/fsck/initialize.c | 2 +-
gfs2/fsck/pass1.c | 2 +-
gfs2/fsck/rgrepair.c | 8 ++++----
gfs2/libgfs2/gfs1.c | 4 ++--
gfs2/libgfs2/libgfs2.h | 3 +--
gfs2/libgfs2/ondisk.c | 17 ++++++++---------
9 files changed, 22 insertions(+), 24 deletions(-)
diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c
index 8abadd2..4a20b46 100644
--- a/gfs2/edit/gfs2hex.c
+++ b/gfs2/edit/gfs2hex.c
@@ -436,7 +436,7 @@ static void gfs1_rgrp_in(struct gfs_rgrp *rgrp, struct gfs2_buffer_head *rbh)
{
struct gfs_rgrp *str = (struct gfs_rgrp *)rbh->b_data;
- gfs2_meta_header_in(&rgrp->rg_header, rbh);
+ gfs2_meta_header_in(&rgrp->rg_header, rbh->b_data);
rgrp->rg_flags = be32_to_cpu(str->rg_flags);
rgrp->rg_free = be32_to_cpu(str->rg_free);
rgrp->rg_useddi = be32_to_cpu(str->rg_useddi);
@@ -480,7 +480,7 @@ int display_gfs2(struct gfs2_buffer_head *dbh)
switch (magic)
{
case GFS2_MAGIC:
- gfs2_meta_header_in(&mh, dbh);
+ gfs2_meta_header_in(&mh, dbh->b_data);
if (mh.mh_type > GFS2_METATYPE_QC)
print_gfs2("Unknown metadata type");
else
diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 9600118..9997ddb 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -2120,7 +2120,7 @@ void gfs_log_header_in(struct gfs_log_header *head,
{
struct gfs_log_header *str = lbh->iov.iov_base;
- gfs2_meta_header_in(&head->lh_header, lbh);
+ gfs2_meta_header_in(&head->lh_header, lbh->b_data);
head->lh_flags = be32_to_cpu(str->lh_flags);
head->lh_pad = be32_to_cpu(str->lh_pad);
diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index a15fcf2..c4dab49 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -242,7 +242,7 @@ static int get_gfs_struct_info(struct gfs2_buffer_head *lbh, uint64_t owner,
*block_type = 0;
*gstruct_len = sbd.bsize;
- gfs2_meta_header_in(&mh, lbh);
+ gfs2_meta_header_in(&mh, lbh->b_data);
if (mh.mh_magic != GFS2_MAGIC)
return -1;
@@ -680,7 +680,7 @@ static void save_inode_data(struct metafd *mfd, uint64_t iblk)
lbh = bread(&sbd, inode->i_di.di_eattr);
save_block(sbd.device_fd, mfd, inode->i_di.di_eattr, iblk, NULL);
- gfs2_meta_header_in(&mh, lbh);
+ gfs2_meta_header_in(&mh, lbh->b_data);
if (mh.mh_magic == GFS2_MAGIC &&
mh.mh_type == GFS2_METATYPE_EA)
save_ea_block(mfd, lbh, iblk);
diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c
index 5862fc3..badbf50 100644
--- a/gfs2/fsck/initialize.c
+++ b/gfs2/fsck/initialize.c
@@ -1130,7 +1130,7 @@ static int find_rgs_for_bsize(struct gfs2_sbd *sdp, uint64_t startblock,
(bsize / bsize2) + 1;
sdp->bsize = bsize2; /* temporarily */
rb_bh = bread(sdp, rb_addr);
- gfs2_meta_header_in(&mh, rb_bh);
+ gfs2_meta_header_in(&mh, rb_bh->b_data);
brelse(rb_bh);
if (mh.mh_magic == GFS2_MAGIC &&
mh.mh_type == GFS2_METATYPE_RB) {
diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c
index 87fab9a..3c2f74f 100644
--- a/gfs2/fsck/pass1.c
+++ b/gfs2/fsck/pass1.c
@@ -602,7 +602,7 @@ static int check_data(struct gfs2_inode *ip, uint64_t metablock,
return 1;
case GFS2_BLKST_USED: /* tough decision: May be data or meta */
bh = bread(ip->i_sbd, block);
- gfs2_meta_header_in(&mh, bh);
+ gfs2_meta_header_in(&mh, bh->b_data);
brelse(bh);
if (mh.mh_magic == GFS2_MAGIC &&
mh.mh_type >= GFS2_METATYPE_RG &&
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index 44f268a..0fa5a4a 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -361,7 +361,7 @@ static uint64_t find_next_rgrp_dist(struct gfs2_sbd *sdp, uint64_t blk,
if (block >= prevrgd->ri.ri_addr + twogigs)
break;
bh = bread(sdp, block);
- gfs2_meta_header_in(&mh, bh);
+ gfs2_meta_header_in(&mh, bh->b_data);
if ((mh.mh_magic != GFS2_MAGIC) ||
(first && mh.mh_type != GFS2_METATYPE_RG) ||
(!first && mh.mh_type != GFS2_METATYPE_RB)) {
@@ -394,7 +394,7 @@ static uint64_t find_next_rgrp_dist(struct gfs2_sbd *sdp, uint64_t blk,
if (next_block >= sdp->device.length)
break;
bh = bread(sdp, next_block + b);
- gfs2_meta_header_in(&mh, bh);
+ gfs2_meta_header_in(&mh, bh->b_data);
brelse(bh);
if (mh.mh_magic == GFS2_MAGIC) {
if (mh.mh_type == GFS2_METATYPE_RG) {
@@ -444,7 +444,7 @@ static uint64_t hunt_and_peck(struct gfs2_sbd *sdp, uint64_t blk,
return sdp->fssize - blk;
bh = bread(sdp, blk + last_bump);
- gfs2_meta_header_in(&mh, bh);
+ gfs2_meta_header_in(&mh, bh->b_data);
brelse(bh);
if (mh.mh_magic == GFS2_MAGIC && mh.mh_type == GFS2_METATYPE_RG) {
log_info( _("rgrp found at 0x%llx, length=%lld\n"),
@@ -471,7 +471,7 @@ static uint64_t hunt_and_peck(struct gfs2_sbd *sdp, uint64_t blk,
}
for (b = AWAY_FROM_BITMAPS; b < last_block; b++) {
bh = bread(sdp, block + b);
- gfs2_meta_header_in(&mh, bh);
+ gfs2_meta_header_in(&mh, bh->b_data);
brelse(bh);
if (mh.mh_magic == GFS2_MAGIC) {
if (mh.mh_type == GFS2_METATYPE_RG)
diff --git a/gfs2/libgfs2/gfs1.c b/gfs2/libgfs2/gfs1.c
index 5596ec9..00d3223 100644
--- a/gfs2/libgfs2/gfs1.c
+++ b/gfs2/libgfs2/gfs1.c
@@ -256,7 +256,7 @@ static void gfs_dinode_in(struct gfs_dinode *di, struct gfs2_buffer_head *bh)
{
struct gfs_dinode *str = (struct gfs_dinode *)bh->b_data;
- gfs2_meta_header_in(&di->di_header, bh);
+ gfs2_meta_header_in(&di->di_header, bh->b_data);
gfs2_inum_in(&di->di_num, (char *)&str->di_num);
di->di_mode = be32_to_cpu(str->di_mode);
@@ -359,7 +359,7 @@ void gfs_rgrp_in(struct gfs_rgrp *rgrp, struct gfs2_buffer_head *rbh)
{
struct gfs_rgrp *str = (struct gfs_rgrp *)rbh->b_data;
- gfs2_meta_header_in(&rgrp->rg_header, rbh);
+ gfs2_meta_header_in(&rgrp->rg_header, rbh->b_data);
rgrp->rg_flags = be32_to_cpu(str->rg_flags);
rgrp->rg_free = be32_to_cpu(str->rg_free);
rgrp->rg_useddi = be32_to_cpu(str->rg_useddi);
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 0f434d2..4f0d492 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -721,8 +721,7 @@ extern void print_it(const char *label, const char *fmt, const char *fmt2, ...)
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,
- struct gfs2_buffer_head *bh);
+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_out(const struct gfs2_sb *sb, char *buf);
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index 7fb8f00..f56717a 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -64,10 +64,9 @@ void gfs2_inum_print(const struct gfs2_inum *no)
pv(no, no_addr, "%llu", "0x%llx");
}
-void gfs2_meta_header_in(struct gfs2_meta_header *mh,
- struct gfs2_buffer_head *bh)
+void gfs2_meta_header_in(struct gfs2_meta_header *mh, char *buf)
{
- struct gfs2_meta_header *str = (struct gfs2_meta_header *)bh->b_data;
+ struct gfs2_meta_header *str = (struct gfs2_meta_header *)buf;
CPIN_32(mh, str, mh_magic);
CPIN_32(mh, str, mh_type);
@@ -96,7 +95,7 @@ void gfs2_sb_in(struct gfs2_sb *sb, struct gfs2_buffer_head *bh)
{
struct gfs2_sb *str = (struct gfs2_sb *)bh->b_data;
- gfs2_meta_header_in(&sb->sb_header, bh);
+ gfs2_meta_header_in(&sb->sb_header, bh->b_data);
CPIN_32(sb, str, sb_fs_format);
CPIN_32(sb, str, sb_multihost_format);
@@ -216,7 +215,7 @@ void gfs2_rgrp_in(struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh)
{
struct gfs2_rgrp *str = (struct gfs2_rgrp *)bh->b_data;
- gfs2_meta_header_in(&rg->rg_header, bh);
+ gfs2_meta_header_in(&rg->rg_header, bh->b_data);
CPIN_32(rg, str, rg_flags);
CPIN_32(rg, str, rg_free);
CPIN_32(rg, str, rg_dinodes);
@@ -319,7 +318,7 @@ void gfs2_dinode_in(struct gfs2_dinode *di, struct gfs2_buffer_head *bh)
{
struct gfs2_dinode *str = (struct gfs2_dinode *)bh->b_data;
- gfs2_meta_header_in(&di->di_header, bh);
+ gfs2_meta_header_in(&di->di_header, bh->b_data);
gfs2_inum_in(&di->di_num, (char *)&str->di_num);
CPIN_32(di, str, di_mode);
@@ -469,7 +468,7 @@ void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
{
struct gfs2_leaf *str = (struct gfs2_leaf *)bh->b_data;
- gfs2_meta_header_in(&lf->lf_header, bh);
+ gfs2_meta_header_in(&lf->lf_header, bh->b_data);
CPIN_16(lf, str, lf_depth);
CPIN_16(lf, str, lf_entries);
CPIN_32(lf, str, lf_dirent_format);
@@ -553,7 +552,7 @@ void gfs2_log_header_v1_in(struct gfs2_log_header *lh, struct gfs2_buffer_head *
{
struct gfs2_log_header *str = (struct gfs2_log_header *)bh->b_data;
- gfs2_meta_header_in(&lh->lh_header, bh);
+ gfs2_meta_header_in(&lh->lh_header, bh->b_data);
CPIN_64(lh, str, lh_sequence);
CPIN_32(lh, str, lh_flags);
CPIN_32(lh, str, lh_tail);
@@ -649,7 +648,7 @@ void gfs2_log_descriptor_in(struct gfs2_log_descriptor *ld,
{
struct gfs2_log_descriptor *str = (struct gfs2_log_descriptor *)bh->b_data;
- gfs2_meta_header_in(&ld->ld_header, bh);
+ gfs2_meta_header_in(&ld->ld_header, bh->b_data);
CPIN_32(ld, str, ld_type);
CPIN_32(ld, str, ld_length);
CPIN_32(ld, str, ld_data1);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 07/20: libgfs2: Don't pass an extlen to block_map
where not required
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit fdfbaabfe09f3692c141e5771141dfc0ea254c8d
Author: Andrew Price <anprice(a)redhat.com>
Date: Sun Mar 4 21:06:27 2018 +0000
libgfs2: Don't pass an extlen to block_map where not required
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/fs_recovery.c | 3 +--
gfs2/fsck/rgrepair.c | 3 +--
gfs2/libgfs2/recovery.c | 7 +++----
3 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/gfs2/fsck/fs_recovery.c b/gfs2/fsck/fs_recovery.c
index 7284868..4fd2879 100644
--- a/gfs2/fsck/fs_recovery.c
+++ b/gfs2/fsck/fs_recovery.c
@@ -406,7 +406,6 @@ static int check_journal_seq_no(struct gfs2_inode *ip, int fix)
uint64_t highest_seq = 0, lowest_seq = 0, prev_seq = 0;
int new = 0;
uint64_t dblock;
- uint32_t extlen;
struct gfs2_buffer_head *bh;
int seq_errors = 0;
@@ -443,7 +442,7 @@ static int check_journal_seq_no(struct gfs2_inode *ip, int fix)
lh.lh_sequence = highest_seq;
prev_seq = lh.lh_sequence;
log_warn( _("Renumbering it as 0x%llx\n"), lh.lh_sequence);
- block_map(ip, blk, &new, &dblock, &extlen, FALSE);
+ block_map(ip, blk, &new, &dblock, NULL, FALSE);
bh = bread(ip->i_sbd, dblock);
gfs2_log_header_out_bh(&lh, bh);
brelse(bh);
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index d9a3370..44f268a 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -53,7 +53,6 @@ static void find_journaled_rgs(struct gfs2_sbd *sdp)
int j, new = 0;
unsigned int jblocks;
uint64_t b, dblock;
- uint32_t extlen;
struct gfs2_inode *ip;
struct gfs2_buffer_head *bh;
int false_count;
@@ -67,7 +66,7 @@ static void find_journaled_rgs(struct gfs2_sbd *sdp)
jblocks = ip->i_di.di_size / sdp->sd_sb.sb_bsize;
false_count = 0;
for (b = 0; b < jblocks; b++) {
- block_map(ip, b, &new, &dblock, &extlen, 0);
+ block_map(ip, b, &new, &dblock, NULL, 0);
if (!dblock)
break;
bh = bread(sdp, dblock);
diff --git a/gfs2/libgfs2/recovery.c b/gfs2/libgfs2/recovery.c
index b813d69..71f907b 100644
--- a/gfs2/libgfs2/recovery.c
+++ b/gfs2/libgfs2/recovery.c
@@ -27,9 +27,8 @@ int gfs2_replay_read_block(struct gfs2_inode *ip, unsigned int blk,
{
int new = 0;
uint64_t dblock;
- uint32_t extlen;
- block_map(ip, blk, &new, &dblock, &extlen, FALSE);
+ block_map(ip, blk, &new, &dblock, NULL, FALSE);
if (!dblock)
return -EIO;
@@ -220,14 +219,14 @@ int clean_journal(struct gfs2_inode *ip, struct gfs2_log_header *head)
{
unsigned int lblock;
struct gfs2_log_header *lh;
- uint32_t hash, extlen;
+ uint32_t hash;
struct gfs2_buffer_head *bh;
int new = 0;
uint64_t dblock;
lblock = head->lh_blkno;
gfs2_replay_incr_blk(ip, &lblock);
- block_map(ip, lblock, &new, &dblock, &extlen, 0);
+ block_map(ip, lblock, &new, &dblock, NULL, 0);
if (!dblock)
return -EIO;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 06/20: libgfs2: Remove gfs2_meta_header_out_bh()
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit ab361e4c2d132c9f37055d8a08638db965dc08d9
Author: Andrew Price <anprice(a)redhat.com>
Date: Sun Mar 4 20:16:24 2018 +0000
libgfs2: Remove gfs2_meta_header_out_bh()
The bmodified() calls have to be preserved until the brelse() calls can
be replaced with explicit writes and frees, where required.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/convert/gfs2_convert.c | 12 ++++++++----
gfs2/fsck/rgrepair.c | 3 ++-
gfs2/libgfs2/fs_geometry.c | 3 ++-
gfs2/libgfs2/fs_ops.c | 21 ++++++++++++++-------
gfs2/libgfs2/gfs1.c | 7 ++++---
gfs2/libgfs2/libgfs2.h | 2 --
gfs2/libgfs2/ondisk.c | 11 ++---------
gfs2/libgfs2/structures.c | 3 ++-
gfs2/mkfs/main_jadd.c | 8 +++-----
9 files changed, 37 insertions(+), 33 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index 4b18c77..765c6d5 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -312,7 +312,8 @@ static void fix_metatree(struct gfs2_sbd *sbp, struct gfs2_inode *ip,
bh = bread(sbp, block);
if (new)
memset(bh->b_data, 0, sbp->bsize);
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
}
hdrsize = blk->height ? sizeof(struct gfs2_meta_header) :
@@ -469,8 +470,10 @@ static uint64_t fix_jdatatree(struct gfs2_sbd *sbp, struct gfs2_inode *ip,
bh = bread(sbp, block);
if (new)
memset(bh->b_data, 0, sbp->bsize);
- if (h < (blk->height - 1))
- gfs2_meta_header_out_bh(&mh, bh);
+ if (h < (blk->height - 1)) {
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
+ }
}
if (amount > sbp->bsize - ptramt)
@@ -1875,9 +1878,10 @@ static int journ_space_to_rg(struct gfs2_sbd *sdp)
convert_bitmaps(sdp, rgd);
for (x = 0; x < rgd->ri.ri_length; x++) {
if (x)
- gfs2_meta_header_out_bh(&mh, rgd->bits[x].bi_bh);
+ gfs2_meta_header_out(&mh, rgd->bits[x].bi_bh->b_data);
else
gfs2_rgrp_out_bh(&rgd->rg, rgd->bits[x].bi_bh);
+ bmodified(rgd->bits[x].bi_bh);
}
} /* for each journal */
return error;
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index f15266e..d9a3370 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -898,7 +898,8 @@ static int rewrite_rg_block(struct gfs2_sbd *sdp, struct rgrp_tree *rg,
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_RB;
mh.mh_format = GFS2_FORMAT_RB;
- gfs2_meta_header_out_bh(&mh, rg->bits[x].bi_bh);
+ gfs2_meta_header_out(&mh, rg->bits[x].bi_bh->b_data);
+ bmodified(rg->bits[x].bi_bh);
} else {
if (sdp->gfs1)
memset(&rg->rg, 0, sizeof(struct gfs_rgrp));
diff --git a/gfs2/libgfs2/fs_geometry.c b/gfs2/libgfs2/fs_geometry.c
index 59b5ef7..07d6c64 100644
--- a/gfs2/libgfs2/fs_geometry.c
+++ b/gfs2/libgfs2/fs_geometry.c
@@ -89,9 +89,10 @@ int build_rgrps(struct gfs2_sbd *sdp, int do_write)
for (x = 0; x < bitblocks; x++) {
rl->bits[x].bi_bh = bget(sdp, rl->start + x);
if (x)
- gfs2_meta_header_out_bh(&mh, rl->bits[x].bi_bh);
+ gfs2_meta_header_out(&mh, rl->bits[x].bi_bh->b_data);
else
gfs2_rgrp_out_bh(&rl->rg, rl->bits[x].bi_bh);
+ bmodified(rl->bits[x].bi_bh);
}
}
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index a22e044..288c40c 100644
--- a/gfs2/libgfs2/fs_ops.c
+++ b/gfs2/libgfs2/fs_ops.c
@@ -255,12 +255,13 @@ void unstuff_dinode(struct gfs2_inode *ip)
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_JD;
mh.mh_format = GFS2_FORMAT_JD;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
buffer_copy_tail(sdp, bh,
sizeof(struct gfs2_meta_header),
ip->i_bh, sizeof(struct gfs2_dinode));
+ bmodified(bh);
brelse(bh);
} else {
bh = bget(sdp, block);
@@ -410,10 +411,11 @@ void build_height(struct gfs2_inode *ip, int height)
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_IN;
mh.mh_format = GFS2_FORMAT_IN;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
buffer_copy_tail(sdp, bh,
sizeof(struct gfs2_meta_header),
ip->i_bh, sizeof(struct gfs2_dinode));
+ bmodified(bh);
brelse(bh);
}
@@ -521,7 +523,8 @@ void block_map(struct gfs2_inode *ip, uint64_t lblock, int *new,
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_IN;
mh.mh_format = GFS2_FORMAT_IN;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
} else {
if (*dblock == ip->i_di.di_num.no_addr)
bh = ip->i_bh;
@@ -712,7 +715,8 @@ int __gfs2_writei(struct gfs2_inode *ip, void *buf,
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_JD;
mh.mh_format = GFS2_FORMAT_JD;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
}
} else {
if (dblock == ip->i_di.di_num.no_addr)
@@ -938,7 +942,8 @@ void dir_split_leaf(struct gfs2_inode *dip, uint32_t start, uint64_t leaf_no,
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_LF;
mh.mh_format = GFS2_FORMAT_LF;
- gfs2_meta_header_out_bh(&mh, nbh);
+ gfs2_meta_header_out(&mh, nbh->b_data);
+ bmodified(nbh);
buffer_clear_tail(dip->i_sbd, nbh,
sizeof(struct gfs2_meta_header));
}
@@ -1218,7 +1223,8 @@ restart:
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_LF;
mh.mh_format = GFS2_FORMAT_LF;
- gfs2_meta_header_out_bh(&mh, nbh);
+ gfs2_meta_header_out(&mh, nbh->b_data);
+ bmodified(nbh);
leaf->lf_next = cpu_to_be64(bn);
@@ -1272,7 +1278,8 @@ static void dir_make_exhash(struct gfs2_inode *dip)
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_LF;
mh.mh_format = GFS2_FORMAT_LF;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
}
leaf = (struct gfs2_leaf *)bh->b_data;
diff --git a/gfs2/libgfs2/gfs1.c b/gfs2/libgfs2/gfs1.c
index 2c84f78..5596ec9 100644
--- a/gfs2/libgfs2/gfs1.c
+++ b/gfs2/libgfs2/gfs1.c
@@ -125,7 +125,8 @@ void gfs1_block_map(struct gfs2_inode *ip, uint64_t lblock, int *new,
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_IN;
mh.mh_format = GFS2_FORMAT_IN;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
} else {
if (*dblock == ip->i_di.di_num.no_addr)
bh = ip->i_bh;
@@ -221,7 +222,7 @@ int gfs1_writei(struct gfs2_inode *ip, char *buf, uint64_t offset,
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_JD;
mh.mh_format = GFS2_FORMAT_JD;
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
}
memcpy(bh->b_data + offset, buf + copied, amount);
@@ -377,7 +378,7 @@ void gfs_rgrp_out(struct gfs_rgrp *rgrp, struct gfs2_buffer_head *rbh)
{
struct gfs_rgrp *str = (struct gfs_rgrp *)rbh->b_data;
- gfs2_meta_header_out_bh(&rgrp->rg_header, rbh);
+ gfs2_meta_header_out(&rgrp->rg_header, rbh->b_data);
str->rg_flags = cpu_to_be32(rgrp->rg_flags);
str->rg_free = cpu_to_be32(rgrp->rg_free);
str->rg_useddi = cpu_to_be32(rgrp->rg_useddi);
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 5767c43..0f434d2 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -724,8 +724,6 @@ extern void gfs2_inum_out(const struct gfs2_inum *no, char *buf);
extern void gfs2_meta_header_in(struct gfs2_meta_header *mh,
struct gfs2_buffer_head *bh);
extern void gfs2_meta_header_out(const struct gfs2_meta_header *mh, char *buf);
-extern void gfs2_meta_header_out_bh(const struct gfs2_meta_header *mh,
- struct gfs2_buffer_head *bh);
extern void gfs2_sb_in(struct gfs2_sb *sb, struct gfs2_buffer_head *bh);
extern void gfs2_sb_out(const struct gfs2_sb *sb, char *buf);
extern void gfs2_rindex_in(struct gfs2_rindex *ri, char *buf);
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index 9de568c..7fb8f00 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -85,13 +85,6 @@ void gfs2_meta_header_out(const struct gfs2_meta_header *mh, char *buf)
str->__pad1 = 0;
}
-void gfs2_meta_header_out_bh(const struct gfs2_meta_header *mh,
- struct gfs2_buffer_head *bh)
-{
- gfs2_meta_header_out(mh, bh->iov.iov_base);
- bmodified(bh);
-}
-
void gfs2_meta_header_print(const struct gfs2_meta_header *mh)
{
pv(mh, mh_magic, "0x%08X", NULL);
@@ -496,7 +489,7 @@ void gfs2_leaf_out(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
{
struct gfs2_leaf *str = (struct gfs2_leaf *)bh->b_data;
- gfs2_meta_header_out_bh(&lf->lf_header, bh);
+ gfs2_meta_header_out(&lf->lf_header, bh->b_data);
CPOUT_16(lf, str, lf_depth);
CPOUT_16(lf, str, lf_entries);
CPOUT_32(lf, str, lf_dirent_format);
@@ -670,7 +663,7 @@ void gfs2_log_descriptor_out(struct gfs2_log_descriptor *ld,
{
struct gfs2_log_descriptor *str = (struct gfs2_log_descriptor *)bh->b_data;
- gfs2_meta_header_out_bh(&ld->ld_header, bh);
+ gfs2_meta_header_out(&ld->ld_header, bh->b_data);
CPOUT_32(ld, str, ld_type);
CPOUT_32(ld, str, ld_length);
CPOUT_32(ld, str, ld_data1);
diff --git a/gfs2/libgfs2/structures.c b/gfs2/libgfs2/structures.c
index 2d30018..aaa7699 100644
--- a/gfs2/libgfs2/structures.c
+++ b/gfs2/libgfs2/structures.c
@@ -412,7 +412,8 @@ int build_quota_change(struct gfs2_inode *per_node, unsigned int j)
return -1;
memset(bh->b_data, 0, sdp->bsize);
- gfs2_meta_header_out_bh(&mh, bh);
+ gfs2_meta_header_out(&mh, bh->b_data);
+ bmodified(bh);
brelse(bh);
}
diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
index 543070d..efe91e3 100644
--- a/gfs2/mkfs/main_jadd.c
+++ b/gfs2/mkfs/main_jadd.c
@@ -345,9 +345,7 @@ static void add_qc(struct gfs2_sbd *sdp, struct jadd_opts *opts)
sdp->qcsize << (20 - sdp->sd_sb.sb_bsize_shift);
unsigned int x;
struct gfs2_meta_header mh;
- struct gfs2_buffer_head dummy_bh;
- dummy_bh.b_data = buf;
set_flags(fd, JA_FL_CLEAR, FS_JOURNAL_DATA_FL);
memset(buf, 0, sdp->bsize);
@@ -359,12 +357,12 @@ static void add_qc(struct gfs2_sbd *sdp, struct jadd_opts *opts)
}
lseek(fd, 0, SEEK_SET);
-
+
memset(&mh, 0, sizeof(struct gfs2_meta_header));
mh.mh_magic = GFS2_MAGIC;
mh.mh_type = GFS2_METATYPE_QC;
mh.mh_format = GFS2_FORMAT_QC;
- gfs2_meta_header_out_bh(&mh, &dummy_bh);
+ gfs2_meta_header_out(&mh, buf);
for (x=0; x<blocks; x++) {
if (write(fd, buf, sdp->bsize) != sdp->bsize) {
@@ -381,7 +379,7 @@ static void add_qc(struct gfs2_sbd *sdp, struct jadd_opts *opts)
}
close(fd);
-
+
sprintf(new_name, "quota_change%u", opts->journals);
error = rename2system(opts, opts->per_node, new_name);
if (error < 0 && errno != EEXIST){
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months
[gfs2-utils] 05/20: libgfs2: Plug an alignment hole in gfs2_inode
by git repository hosting
This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit f3e50dc37d28158350a5248b2683a91391c06769
Author: Andrew Price <anprice(a)redhat.com>
Date: Sun Mar 4 19:21:22 2018 +0000
libgfs2: Plug an alignment hole in gfs2_inode
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/libgfs2/libgfs2.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 6970c11..5767c43 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -231,11 +231,11 @@ struct special_blocks {
};
struct gfs2_inode {
- int bh_owned; /* Is this bh owned, iow, should we release it later? */
struct gfs2_dinode i_di;
struct gfs2_buffer_head *i_bh;
struct gfs2_sbd *i_sbd;
struct rgrp_tree *i_rgd; /* performance hint */
+ int bh_owned; /* Is this bh owned, iow, should we release it later? */
};
struct master_dir
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
6 years, 2 months