nfs_unlock_request(req); 
nfs_clear_page_writeback(req); 
static int nfs_flush_one(struct list_head *head, struct inode *inode, int how){	struct nfs_page		*req;	struct page		**pages;	struct nfs_write_data	*data;	unsigned int		count;	if (NFS_SERVER(inode)->wsize < PAGE_CACHE_SIZE)		return nfs_flush_multi(head, inode, how);	data = nfs_writedata_alloc();	if (!data)		goto out_bad;	pages = data->pagevec;	count = 0;	while (!list_empty(head)) {		req = nfs_list_entry(head->next);		nfs_list_remove_request(req);		nfs_list_add_request(req, &data->pages);		ClearPageError(req->wb_page);		SetPageWriteback(req->wb_page);		*pages++ = req->wb_page;		count += req->wb_bytes;	}	req = nfs_list_entry(data->pages.next);	data->complete = nfs_writeback_done_full;	/* Set up the argument struct */	nfs_write_rpcsetup(req, data, count, 0, how);	nfs_execute_write(data);	return 0; out_bad:	while (!list_empty(head)) {		struct nfs_page *req = nfs_list_entry(head->next);		nfs_list_remove_request(req);		nfs_mark_request_dirty(req);		nfs_unlock_request(req);	}	return -ENOMEM;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c6a556b88adfacd2af90be84357c8165d716c27d/write.c/buggy/fs/nfs/write.c