bmname(bitmap), err); 
bmname(bitmap), err); 
static void bitmap_writeback_daemon(mddev_t *mddev){	struct bitmap *bitmap = mddev->bitmap;	struct page *page;	struct page_list *item;	int err = 0;	while (1) {		PRINTK("%s: bitmap writeback daemon waiting...\n", bmname(bitmap));		down_interruptible(&bitmap->write_done);		if (signal_pending(current)) {			printk(KERN_INFO			    "%s: bitmap writeback daemon got signal, exiting...\n",			    bmname(bitmap));			break;		}		PRINTK("%s: bitmap writeback daemon woke up...\n", bmname(bitmap));		/* wait on bitmap page writebacks */		while ((item = dequeue_page(bitmap, &bitmap->complete_pages))) {			page = item->page;			mempool_free(item, bitmap->write_pool);			PRINTK("wait on page writeback: %p %lu\n", page, bitmap->writes_pending);			wait_on_page_writeback(page);			PRINTK("finished page writeback: %p %lu\n", page, bitmap->writes_pending);			spin_lock(&bitmap->write_lock);			if (!--bitmap->writes_pending)				wake_up(&bitmap->write_wait);			spin_unlock(&bitmap->write_lock);			err = PageError(page);			page_cache_release(page);			if (err) {				printk(KERN_WARNING "%s: bitmap file writeback "					"failed (page %lu): %d\n",					bmname(bitmap), page->index, err);				bitmap_file_kick(bitmap);				goto out;			}		}	}out:	if (err) {		printk(KERN_INFO "%s: bitmap writeback daemon exiting (%d)\n",			bmname(bitmap), err);		daemon_exit(bitmap, &bitmap->writeback_daemon);	}	return;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/77ad4bc706fe6c52ab953f31c287a6af712d080c/bitmap.c/buggy/drivers/md/bitmap.c