[Gluster-devel] spurious error in self-heald.t

Emmanuel Dreyfus manu at netbsd.org
Fri Nov 28 10:30:01 UTC 2014


Would such a workaround make sense?

diff --git a/xlators/cluster/afr/src/afr-self-heald.c b/xlators/cluster/afr/src/
afr-self-heald.c
index a341015..dd7ac1a 100644
--- a/xlators/cluster/afr/src/afr-self-heald.c
+++ b/xlators/cluster/afr/src/afr-self-heald.c
@@ -547,6 +579,11 @@ afr_shd_full_sweep (struct subvol_healer *healer, inode_t *inode)
                                          entry->d_stat.ia_gfid);
 
                        if (entry->d_stat.ia_type == IA_IFDIR) {
+                                if (entry->inode->ia_type == IA_INVAL) {
+                                        inode_unref (entry->inode); 
+                                        entry->inode = afr_shd_inode_find (this,
+                                            subvol, entry->d_stat.ia_gfid);
+                                }
                                ret = afr_shd_full_sweep (healer, entry->inode);
                                if (ret)
                                        break;
-- 
Emmanuel Dreyfus
manu at netbsd.org


More information about the Gluster-devel mailing list