Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 9383e745e23602bc45f9c92184feea59 > files > 53

gfs2-utils-0.1.62-28.el5.src.rpm

commit cd6e9217b85f13c85b250180cf5590526d697c61
Author: Bob Peterson <bob@ganesha.peterson>
Date:   Mon Jan 25 14:27:31 2010 -0600

    fsck.gfs2: Force intermediate lost+found inode updates
    
    This patch forces the lost+found dinode to be rewritten every time
    an orphan inode is moved into lost+found.  That way, if the user
    interrupts fsck.gfs2 during pass4, they won't be left with a
    lost+found dinode with an invalid number of blocks, links and so
    forth.
    
    rhbz#455300

diff --git a/gfs2/fsck/lost_n_found.c b/gfs2/fsck/lost_n_found.c
index b241201..ed12f13 100644
--- a/gfs2/fsck/lost_n_found.c
+++ b/gfs2/fsck/lost_n_found.c
@@ -189,5 +189,7 @@ int add_inode_to_lf(struct gfs2_inode *ip){
 	log_notice( _("Added inode #%llu (0x%llx) to lost+found dir\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);
+	bwrite(lf_dip->i_bh);
 	return 0;
 }