X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fmd%2Fmd.c;h=4a0c57db2b67657b8c09cfbe67f5d2cfb487ed95;hb=5e0b537c7d94efe3fea0fee8e2533c3231a8af75;hp=0c6b5b6baff60ded7fb24d2f71988711d723c604;hpb=990a8baf568ca1d0ae65e59783ff821794118d07;p=linux-2.6 diff --git a/drivers/md/md.c b/drivers/md/md.c index 0c6b5b6baf..4a0c57db2b 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -338,6 +338,7 @@ static int super_written(struct bio *bio, unsigned int bytes_done, int error) if (atomic_dec_and_test(&rdev->mddev->pending_writes)) wake_up(&rdev->mddev->sb_wait); + bio_put(bio); return 0; } @@ -2976,8 +2977,7 @@ static int md_thread(void * arg) wait_event_interruptible_timeout(thread->wqueue, test_bit(THREAD_WAKEUP, &thread->flags), thread->timeout); - if (current->flags & PF_FREEZE) - refrigerator(PF_FREEZE); + try_to_freeze(); clear_bit(THREAD_WAKEUP, &thread->flags);