When the client does an open(CLAIM_FH) and the server already has open state for that open owner and file, what's supposed to happen? Currently the server returns the existing stateid with the seqid bumped, but it looks like the client is expecting a new stateid (I'm seeing the state manager spending a lot of time waiting in nfs_set_open_stateid_locked() due to NFS_STATE_CHANGE_WAIT being set in the state flags by nfs_need_update_open_stateid()). Looking at rfc5661 section 18.16.3, I see: | CLAIM_NULL, CLAIM_FH | For the client, this is a new OPEN request | | | and there is no previous state associated | | | with the file for the client. With | | | CLAIM_NULL, the file is identified by the | | | current filehandle and the specified | | | component name. With CLAIM_FH (new to | | | NFSv4.1), the file is identified by just | | | the current filehandle. So it seems like maybe the server should be tossing the old state and returning a new stateid? -Scott