Patent ID: 7330910

Claim:
A method for processing an Input/Output (I/O) request, comprising: allocating at least one data block for use in completing the I/O request; storing a current operations record for the I/O request, wherein the current operations record includes a persistent name for a client computer that has been granted permission to complete the I/O request, addresses of the allocated at least one data block, and a timestamp; determining whether the I/O request has been completed within a specified period of time; in response to determining that the I/O request has been completed within the specified period of time, removing the current operations record; and in response to determining that the I/O request has not been completed within the specified period of time, fencing the allocated at least one data block by marking the at least one data block as allocated; and keeping the current operations record; receiving an identification message from a client computer, wherein the client computer sends the identification message to attempt to create a connection to a server computer; and in response to receiving the identification message, determining whether the client computer is a rogue client by determining whether a current operations record exists for the client computer, wherein if a current operations record exists for the client computer that is attempting to create the connection with the server computer, then it is determined that the client computer did not complete an I/O request during a previous connection.