From: NeilBrown Date: Fri, 9 Jul 2010 06:27:43 +0000 (+1000) Subject: Ensure we drop async refs on youthblk extra on unmount. X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=0cb916b6074f384e929e10cce8de126be84dbd72;p=LaFS.git Ensure we drop async refs on youthblk extra on unmount. This shouldn't really be a problem, but it seems to be.... Signed-off-by: NeilBrown --- diff --git a/segments.c b/segments.c index 2733b1a..2f1961d 100644 --- a/segments.c +++ b/segments.c @@ -232,6 +232,10 @@ void lafs_seg_put_all(struct fs *fs) ss->ssblk = NULL; ss->youthblk = NULL; spin_unlock(&fs->stable_lock); + if (b && test_and_clear_bit(B_Async, &b->b.flags)) + putdref(b, MKREF(async)); + if (y && test_and_clear_bit(B_Async, &y->b.flags)) + putdref(y, MKREF(async)); putdref(b, MKREF(ss)); putdref(y, MKREF(ssyouth)); goto retry;