]> git.neil.brown.name Git - LaFS.git/commitdiff
umount: wait for last cluster to be written.
authorNeilBrown <neilb@suse.de>
Tue, 25 Aug 2009 07:21:30 +0000 (17:21 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 25 Aug 2009 07:21:30 +0000 (17:21 +1000)
checkpoint_unlock_wait only wait for the last cluster
to start.  We need to wait for all writes to be complete so
that no inodes remained pinned.

super.c

diff --git a/super.c b/super.c
index 9444b36a6f9a0903eeee9ca9ef3f276d18148c17..9c409b9d4cadb28dfe343d5cb1e165f060b40b58 100644 (file)
--- a/super.c
+++ b/super.c
@@ -688,6 +688,7 @@ lafs_put_super(struct super_block *sb)
                lafs_checkpoint_start(fs);
                set_bit(FinalCheckpoint, &fs->fsstate);
                lafs_checkpoint_unlock_wait(fs);
+               lafs_cluster_wait_all(fs);
                lafs_empty_segment_table(fs);
                lafs_seg_put_all(fs);