/* This may be called recursively if e.g. an async NFS task updates the attributes and finds that dirty pages must be flushed. NOTE: Upon exit of this function the task is guaranteed to be released. In particular note that tk_release() will have been called, so your task memory may have been freed.  */
void rpc_execute(struct rpc_task *task)
/* This may be called recursively if e.g. an async NFS task updates the attributes and finds that dirty pages must be flushed. NOTE: Upon exit of this function the task is guaranteed to be released. In particular note that tk_release() will have been called, so your task memory may have been freed.  */
void rpc_execute(struct rpc_task *task)
{
	rpc_set_active(task);
	rpc_set_running(task);
	__rpc_execute(task);
}