Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=606330ca9fe... Commit: 606330ca9fec696123c075da069b0790811aa58d Parent: e59fbaad61d1a2b8286fa6ea3d37975fa21de64a Author: Bob Peterson rpeterso@redhat.com AuthorDate: Mon Dec 17 14:47:50 2012 -0600 Committer: Bob Peterson rpeterso@redhat.com CommitterDate: Thu Dec 20 14:30:45 2012 -0600
gfs2_convert: mark buffer dirty when switching dirs from meta to data
This patch changes function inode_renumber so that it properly marks the rgrp bitmap dirty after switching bits from "meta" to "data". This happens when directory leaf, hash table, eattr, etc. blocks come in from GFS1 as "meta" and need to be switched to GFS2 as "data". In GFS2, only dinodes get the "meta" designation. This conversion was taking place, but the code broke out of the loop before properly marking the buffer as modified. So if no other modifications were done to that bitmap, the bitmap change would be forgotten.
rhbz#887374 --- gfs2/convert/gfs2_convert.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c index da5c7dd..095f4ed 100644 --- a/gfs2/convert/gfs2_convert.c +++ b/gfs2/convert/gfs2_convert.c @@ -1074,10 +1074,10 @@ static int inode_renumber(struct gfs2_sbd *sbp, uint64_t root_inode_addr, osi_li ~(0x03 << (GFS2_BIT_SIZE * byte_bit)); rgd->bh[blk]->b_data[buf_offset + bitmap_byte] |= (0x01 << (GFS2_BIT_SIZE * byte_bit)); + bmodified(rgd->bh[blk]); break; } bitmap_byte -= (sbp->bsize - buf_offset); - bmodified(rgd->bh[blk]); } } brelse(bh);
cluster-commits@lists.fedorahosted.org