From 0cb916b6074f384e929e10cce8de126be84dbd72 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 9 Jul 2010 16:27:43 +1000 Subject: [PATCH] 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 --- segments.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.39.5