Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=530... Commit: 53028729cd3b8987ee498d486c6cae37c60b808b Parent: 7fd936c0f96689f53c58341bf5ea20a37a119911 Author: Bob Peterson bob@ganesha.peterson AuthorDate: Thu Jan 21 17:15:24 2010 -0600 Committer: Bob Peterson rpeterso@redhat.com CommitterDate: Tue Jan 26 14:39:29 2010 -0600
libgfs2: dir_split_leaf needs to zero out the new leaf
The dir_split_leaf function was not clearing out the new leaf block it had allocated, so there was likely to be trash left on the block. Granted, this is pretty rare, but I actually saw it in a situation where lots of orphaned dinodes were tossed into lost+found.
rhbz#455300 --- gfs2/libgfs2/fs_ops.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c index bc8319e..3fc80ce 100644 --- a/gfs2/libgfs2/fs_ops.c +++ b/gfs2/libgfs2/fs_ops.c @@ -856,6 +856,8 @@ static void dir_split_leaf(struct gfs2_inode *dip, uint32_t lindex, mh.mh_type = GFS2_METATYPE_LF; mh.mh_format = GFS2_FORMAT_LF; gfs2_meta_header_out(&mh, nbh); + buffer_clear_tail(dip->i_sbd, nbh, + sizeof(struct gfs2_meta_header)); }
nleaf = (struct gfs2_leaf *)nbh->b_data;
cluster-commits@lists.stg.fedorahosted.org