#7 Can't set context unless you know which node

David Zafman

There are two situations in which the cluster_set_node_context()
interface doesn't work because it requires a node number to
passed as an argument.

1. When using the CLUSTERNODE_BEST feature of rexec*(). The
kernel is selecting the node at rexec time.

2. When using exec*() in any cluster aware application that wants
to force a context change to the new node in case exec time load
leveling is in affect.

Possible design solutions:

1. Using the same cluster_set_node_context() system call, have a
special node number (CLUSTERNODE_BEST, for example), cause a
flag to be set and on the next exec/rexec the context will be set to
whatever node is selected.

2. Remove the node number argument completely and make the
behavior always as in #1.

3. Retain the old interface for compatibility and add a new system
call which peforms the behavior as described in #1.