ret = page->mapping->a_ops->commit_write(NULL, page, 0,
ret = page->mapping->a_ops->commit_write(bitmap->file, page, 0,
static int write_page(struct bitmap *bitmap, struct page *page, int wait){	int ret = -ENOMEM;	if (bitmap->file == NULL)		return write_sb_page(bitmap->mddev, bitmap->offset, page, wait);	if (wait)		lock_page(page);	else {		if (TestSetPageLocked(page))			return -EAGAIN; /* already locked */		if (PageWriteback(page)) {			unlock_page(page);			return -EAGAIN;		}	}	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);}