Return-Path: Received: from mail-it0-f45.google.com ([209.85.214.45]:37125 "EHLO mail-it0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1425660AbdDVQ02 (ORCPT ); Sat, 22 Apr 2017 12:26:28 -0400 Received: by mail-it0-f45.google.com with SMTP id x188so12802792itb.0 for ; Sat, 22 Apr 2017 09:26:28 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <9343A1DB-5895-41F4-8A37-504AA710D696@primarydata.com> From: Olga Kornievskaia Date: Sat, 22 Apr 2017 12:26:26 -0400 Message-ID: Subject: Re: reuse of slot and seq# when RPC was interrupted To: Trond Myklebust Cc: List Linux NFS Mailing Content-Type: text/plain; charset=UTF-8 Sender: linux-nfs-owner@vger.kernel.org List-ID: Hi Trond, I'm still having issues with interrupted slots. 1. Client sent out an operation (X with cacheme=3Dtrue). It's waiting on the reply by got a ctrl-c. 2. Client sends out the operation which happens to be CLOSE. It uses the same slot and sequence id as operation X. 3. Server replies back to CLOSE with ERR_DELAY 4. Server replies to operation X 5. Client does the delay and resends the CLOSE using the same slot and sequence id as before. 6. Server reply with X (out of the replay cache). 7. Client decoding returns back EREMOTEIO and error handling doesn't do anything about it. Now the problem is open state is left on the server. If the server were to not send an ERR_DELAY first but just reply with X then the code handles that and retries (commit a865880e20).