 if (bitmap->file == NULL) return write_sb_page(bitmap->mddev, bitmap->offset, page, wait); 
static int write_page(struct bitmap *bitmap, struct page *page, int wait){	int ret = -ENOMEM;	lock_page(page);	ret = page->mapping->a_ops->prepare_write(NULL, page, 0, PAGE_SIZE);	if (!ret)		ret = page->mapping->a_ops->commit_write(NULL, page, 0,			PAGE_SIZE);	if (ret) {		unlock_page(page);		return ret;	}	set_page_dirty(page); /* force it to be written out */	if (!wait) {		/* add to list to be waited for by daemon */		struct page_list *item = mempool_alloc(bitmap->write_pool, GFP_NOIO);		item->page = page;		page_cache_get(page);		spin_lock(&bitmap->write_lock);		list_add(&item->list, &bitmap->complete_pages);		spin_unlock(&bitmap->write_lock);		md_wakeup_thread(bitmap->writeback_daemon);	}	return write_one_page(page, wait);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a654b9d8f851f4ca02649d5825cbe6c608adb10c/bitmap.c/clean/drivers/md/bitmap.c