This is a small patch fixes two problems with the client side getattr
state machine:
- there was a transition that led from pvfs2_client_getattr_sm to a
state in pvfs2_client_datafile_getattr_sizes_sm accidentally. Probably
just overlooked when these two machines were broken apart.
- there was a transition directly to "terminate" without passing through
a state that marked the sm as being complete
I have no idea what kind of behavior the first item was causing. As a
side note, it seems like something that could be caught at statecomp
compile time if we added a little more syntax checking. Right now there
evidently isn't any sanity check to make sure that all transitions lead
to states within the same machine.
The latter item would cause getattr to hang in some failure cases. I
don't think there is a compile time way to catch it, but we already have
a runtime check ("Error: state machine using an invalid termination
path."). That's what clued me in when I saw that path get triggered.
-Phil
---------------------
PatchSet 272
Date: 2005/11/11 19:53:57
Author: pcarns
Branch: HEAD
Tag: (none)
Log:
Fixed invalid termination path messages (and whatever other problems come
along with not correctly terminating state machines) by changing first
failure path in sys getattr machine and removing a transition across sm's
[artf25756]
Members:
src/client/sysint/sys-getattr.sm:1.8->1.9
Index: src/client/sysint/sys-getattr.sm
diff -u src/client/sysint/sys-getattr.sm:1.8 src/client/sysint/sys-getattr.sm:1.9
--- src/client/sysint/sys-getattr.sm:1.8 Wed Nov 2 07:46:09 2005
+++ src/client/sysint/sys-getattr.sm Fri Nov 11 12:53:57 2005
@@ -161,7 +161,7 @@
{
jump pvfs2_client_datafile_getattr_sizes_sm;
success => acache_insert;
- default => datafile_getattr_failure;
+ default => cleanup;
}
state cleanup
@@ -179,7 +179,7 @@
{
jump pvfs2_client_getattr_sm;
success => set_sys_response;
- default => terminate;
+ default => set_sys_response;
}
state set_sys_response
_______________________________________________
PVFS2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers