]> git.neil.brown.name Git - LaFS.git/commitdiff
Clear I_Deleting when delayed-truncate finishes.
authorNeilBrown <neilb@suse.de>
Sun, 2 Aug 2009 09:28:51 +0000 (19:28 +1000)
committerNeilBrown <neilb@suse.de>
Sun, 2 Aug 2009 09:28:51 +0000 (19:28 +1000)
Otherwise if the delayed truncate completes before we try
to destroy, destruction never happens.

inode.c

diff --git a/inode.c b/inode.c
index 253e0b34b180b0e74cc0f2cbc7253e3a91e7d892..916dd7de1abc559cb3e47c4426289cb1e67bf722 100644 (file)
--- a/inode.c
+++ b/inode.c
@@ -567,6 +567,7 @@ static int lafs_inode_handle_orphan(struct datablock *b)
                        lafs_erase_iblock(ib);
                        lafs_iounlock_block(&ib->b, 0);
                        lafs_erase_dblock(b);
+                       clear_bit(I_Deleting, &LAFSI(ino)->iflags);
                }
                putiref(ib, MKREF(inode_handle_orphan));
                /* nothing more to do */