struct bitmap *bitmap = mddev->bitmap; int behind_wait = 0;  /* wait for behind writes to complete */ while (bitmap && atomic_read(&bitmap->behind_writes) > 0) { behind_wait++; printk(KERN_INFO "raid1: behind writes in progress on device %s, waiting to stop (%d)\n", mdname(mddev), behind_wait); set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(HZ); /* wait a second */ /* need to kick something here to make sure I/O goes? */ } 
static int stop(mddev_t *mddev){	conf_t *conf = mddev_to_conf(mddev);	md_unregister_thread(mddev->thread);	mddev->thread = NULL;	blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/	if (conf->r1bio_pool)		mempool_destroy(conf->r1bio_pool);	kfree(conf->mirrors);	kfree(conf->poolinfo);	kfree(conf);	mddev->private = NULL;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/4b6d287f627b5fb6a49f78f9e81649ff98c62bb7/raid1.c/buggy/drivers/md/raid1.c