[00:17:08] --- reuteras has become available [03:12:41] --- dev-zero@jabber.org has become available [03:19:53] --- dev-zero@jabber.org has left: offline [06:50:41] --- SecureEndpoints has become available [08:14:11] I wonder. Part of the dafs functionality preserves the callback data so that between file server restarts an InitCallBackState RPC does not have to be sent to the clients. One of the uses of InitCallBackState is to indicate to the client that the server version might have changed and that all knowledge of which RPCs are supported by that server can be reset. I wonder what provision if any DAFS makes to ensure that when new RPCs or capabilities are added to the file server that an InitCallBackState is still sent. [08:23:22] there is (commented out) code in serialize_state.c which will cause the state reload to abort if cml_version_number doesn't match the cml_version string stored in the dump file. in retrospect, I should have left that code turned on by default. there are also a number of version tracking fields which must match in order for a state restore to succeed. there's also room for many additional fields, should we need additional means of tracking versioning, compile-time options, etc. [08:24:22] storing a copy of the current capabilities vector in the dump file would be a trivial extension [08:25:54] current capabilities and max rpc values for the AFS and AFSCB RPC sets [08:26:19] max rpc won't work [08:26:59] more like a hash of the supported rpcs so that a change in the rpc list would be recognized [08:47:21] --- Rrrrred has left [08:49:10] --- Rrrrred has become available [09:01:32] ok. in terms of hashing, are you of the opinion that hashing just the list of rpc entry point symbol names, or (service id, procedure id) tuples is sufficient (since the gatekeepers would never allow changes to an existing interface)? or, does it need to be more complex (perhaps a hash of the raw xg include hierarchy, or a hash of some intermediate parse tree)? [09:19:49] the question is: how important is it to capture the new use of a spare field? [09:21:08] and its not a question of the gatekeepers. gatekeepers are only responsible for OpenAFS, not any other implementation. [09:21:21] this is a protocol issue [09:22:19] the gatekeepers are responsible to ensure that a change in the behavior of the file server between revisions will ensure that an InitCallBackState rpc be issued. That is an implementation detail. [09:24:23] I suspect that addressing this issue is not going to be trivial. Its not just the cml_version_number that can affect the behavior of the file server. Alternate compile time options and run time options can affect the behavior as well. [09:45:26] --- Russ has become available [10:02:17] --- reuteras has left [10:12:50] someone has a way of hashing features into a vector, which at some point i had been researching [11:06:42] --- SecureEndpoints has left: Replaced by new connection [11:20:00] --- SecureEndpoints has become available [11:36:10] --- SecureEndpoints has left: Replaced by new connection [11:50:55] --- SecureEndpoints has become available [14:26:47] --- dev-zero@jabber.org has become available [14:27:05] --- dev-zero@jabber.org has left: offline [18:22:43] --- Russ has left: Disconnected [18:43:03] --- Russ has become available [21:42:56] --- dlc has left [23:35:44] --- Russ has left: Disconnected [23:59:30] --- reuteras has become available