gfs2-utils: master - gfs2_edit savemeta was not saving some directory info

Bob Peterson rpeterso at fedoraproject.org
Wed Mar 16 18:05:59 UTC 2011


Gitweb:        http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdiff;h=f6e1c345d7cce3d5ceedf2b19868b5d6a008ea2c
Commit:        f6e1c345d7cce3d5ceedf2b19868b5d6a008ea2c
Parent:        4a727917ff403b6f386c992d1e071e3f1a795893
Author:        Bob Peterson <rpeterso at redhat.com>
AuthorDate:    Wed Mar 16 12:50:10 2011 -0500
Committer:     Bob Peterson <rpeterso at redhat.com>
CommitterDate: Wed Mar 16 12:50:10 2011 -0500

gfs2_edit savemeta was not saving some directory info

This patch allows gfs2_edit savemeta to save directory information for
directories that halfway between stuffed and exhash.  That is, directories
that have the hash table stored as data in the dinode, but still have
leaf blocks.
---
 gfs2/edit/savemeta.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 844da8c..4d9f591 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -118,9 +118,8 @@ static int get_gfs_struct_info(struct gfs2_buffer_head *lbh, int *block_type,
 			inode = inode_get(&sbd, lbh);
 		else
 			inode = gfs_inode_get(&sbd, lbh);
-		if (inode->i_di.di_flags & GFS2_DIF_EXHASH &&
-		    (S_ISDIR(inode->i_di.di_mode) ||
-		     (gfs1 && inode->i_di.__pad1 == GFS_FILE_DIR)))
+		if (S_ISDIR(inode->i_di.di_mode) ||
+		     (gfs1 && inode->i_di.__pad1 == GFS_FILE_DIR))
 			*gstruct_len = sbd.bsize;
 		else if (!inode->i_di.di_height && !block_is_systemfile() &&
 			 !S_ISDIR(inode->i_di.di_mode))


More information about the cluster-commits mailing list