This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch master
in repository gfs2-utils.
commit 2f139f8c8851688a1119a134edaf6833aef93046
Author: Andrew Price <anprice(a)redhat.com>
Date: Mon Apr 10 16:40:42 2017 +0100
libgfs2: Switch gfs2_dinode_out to use a char buffer
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 | 4 ++--
gfs2/libgfs2/fs_ops.c | 8 ++++----
gfs2/libgfs2/gfs1.c | 2 +-
gfs2/libgfs2/libgfs2.h | 4 ++--
gfs2/libgfs2/ondisk.c | 11 ++++++++---
gfs2/libgfs2/structures.c | 4 ++--
8 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index 9845049..b3d6389 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -2321,7 +2321,7 @@ int main(int argc, char **argv)
{
struct gfs2_inode *ip = sb2.master_dir;
if (ip->i_bh->b_modified)
- gfs2_dinode_out(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
}
/* Copy old quotas */
copy_quotas(&sb2);
diff --git a/gfs2/fsck/lost_n_found.c b/gfs2/fsck/lost_n_found.c
index bd05223..2722b29 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(&lf_dip->i_di, lf_dip->i_bh);
+ gfs2_dinode_out_bh(&lf_dip->i_di, lf_dip->i_bh);
bwrite(lf_dip->i_bh);
return 0;
}
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index f397db1..6d5619a 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -1237,8 +1237,8 @@ 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(&sdp->md.riinode->i_di,
- sdp->md.riinode->i_bh);
+ gfs2_dinode_out_bh(&sdp->md.riinode->i_di,
+ sdp->md.riinode->i_bh);
bwrite(sdp->md.riinode->i_bh);
}
return 0;
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index 3acfb67..a22e044 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(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
if (!ip->bh_owned && is_system_inode(sdp, block))
fprintf(stderr, "Warning: Change made to inode "
"were discarded.\n");
@@ -1317,7 +1317,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(&dip->i_di, dip->i_bh);
+ gfs2_dinode_out_bh(&dip->i_di, dip->i_bh);
bwrite(dip->i_bh);
}
@@ -1424,7 +1424,7 @@ static int __init_dinode(struct gfs2_sbd *sdp, struct
gfs2_buffer_head **bhp, st
di.di_entries = 2;
}
- gfs2_dinode_out(&di, bh);
+ gfs2_dinode_out_bh(&di, bh);
return 0;
}
@@ -1487,7 +1487,7 @@ int lgfs2_write_filemeta(struct gfs2_inode *ip)
char *start = bh->b_data;
if (height == 0) {
start += sizeof(struct gfs2_dinode);
- gfs2_dinode_out(&ip->i_di, bh);
+ gfs2_dinode_out_bh(&ip->i_di, bh);
} else {
start += sizeof(struct gfs2_meta_header);
gfs2_meta_header_out(&mh, bh->b_data);
diff --git a/gfs2/libgfs2/gfs1.c b/gfs2/libgfs2/gfs1.c
index c00d7be..2c84f78 100644
--- a/gfs2/libgfs2/gfs1.c
+++ b/gfs2/libgfs2/gfs1.c
@@ -243,7 +243,7 @@ int gfs1_writei(struct gfs2_inode *ip, char *buf, uint64_t offset,
}
ip->i_di.di_mtime = ip->i_di.di_ctime = time(NULL);
- gfs2_dinode_out(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
return copied;
}
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index ebf6bca..778238f 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -734,8 +734,8 @@ 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_out(struct gfs2_dinode *di,
- struct gfs2_buffer_head *bh);
+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 66de223..3d82509 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -319,11 +319,11 @@ void gfs2_dinode_in(struct gfs2_dinode *di, struct gfs2_buffer_head
*bh)
CPIN_08(di, str, di_reserved, 32);
}
-void gfs2_dinode_out(struct gfs2_dinode *di, struct gfs2_buffer_head *bh)
+void gfs2_dinode_out(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_out_bh(&di->di_header, bh);
+ gfs2_meta_header_out(&di->di_header, buf);
gfs2_inum_out(&di->di_num, (char *)&str->di_num);
CPOUT_32(di, str, di_mode);
@@ -352,6 +352,11 @@ void gfs2_dinode_out(struct gfs2_dinode *di, struct gfs2_buffer_head
*bh)
CPOUT_64(di, str, di_eattr);
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);
}
diff --git a/gfs2/libgfs2/structures.c b/gfs2/libgfs2/structures.c
index 1cc88b5..e8247bf 100644
--- a/gfs2/libgfs2/structures.c
+++ b/gfs2/libgfs2/structures.c
@@ -295,7 +295,7 @@ 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(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
if (cfg_debug) {
printf("\nInum Range %u:\n", j);
@@ -318,7 +318,7 @@ 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(&ip->i_di, ip->i_bh);
+ gfs2_dinode_out_bh(&ip->i_di, ip->i_bh);
if (cfg_debug) {
printf("\nStatFS Change %u:\n", j);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.