From patchwork Thu Apr 19 15:11:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olga Kornievskaia X-Patchwork-Id: 10351021 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id EE3EC6023A for ; Thu, 19 Apr 2018 15:11:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DFFFD28A72 for ; Thu, 19 Apr 2018 15:11:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DEB2428A9F; Thu, 19 Apr 2018 15:11:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5C56D28A72 for ; Thu, 19 Apr 2018 15:11:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752085AbeDSPLH (ORCPT ); Thu, 19 Apr 2018 11:11:07 -0400 Received: from mail-ua0-f196.google.com ([209.85.217.196]:46388 "EHLO mail-ua0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751169AbeDSPLG (ORCPT ); Thu, 19 Apr 2018 11:11:06 -0400 Received: by mail-ua0-f196.google.com with SMTP id a17so3643794uaf.13 for ; Thu, 19 Apr 2018 08:11:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:from:date:message-id:subject:to; bh=7sF3Rv6OLJUDlb2Sp8JBYrmhpKpBPSS54cp3b/OzL9o=; b=QMVlrbDFPlNZKffp9L+XfsTq37l8n2iTKc+mKFId3gcy1qLWKRepJDIorntaJMpJEd VozhAAv8v/f6XQj7s3ccZeWwAXfehogghCD3fAxYUCWhyYed7N0Am22fWk2IH1qP7ZX/ WdqGr5qO3ID17ZrvICuWLdNYXtSJ6bPviKOr2ZiPs88bLadSeRia+ftKX/tqFAMSZgnC EASVAzjUg3krxI8+NVlTiJXgZ7Lx+KoaUaUbwc5FjgnjnzhgV/fJRQicOuZWvIndebF0 hoyWSRsJfK50vPPI/PzOeVAvBHkOkIoRNGAvu4qKTezDzvyHKaRH05V0nN+PAdXNsqDk Y50w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umich.edu; s=google-2016-06-03; h=mime-version:sender:from:date:message-id:subject:to; bh=7sF3Rv6OLJUDlb2Sp8JBYrmhpKpBPSS54cp3b/OzL9o=; b=o1eQofs6M0yuPsCB1su+tDb9Z0C+mgJkQvqchQaE0UW1LSO6iiUrOTeXFvJ+tHEpVm ozQFYWLW068nvVJ0gbCwXHA2L+AmyKBEHrMB1xEp1XNowOjnV5UhbTbeUYHW2gbD/BKQ msyGjabfSrNXKwD98npp4h8ayCjvnG3jdz3E4RBa0gsGhbfCux3AWfyZxKE0xy2Bri4E 6DW9gc0kGU8zurTXjonwmNev6tvkQAyJHDAj7Hn/m9fxGxveSAxPoZeBbnAM6U8fr02C 38DKqPfBdaL+rw7u8QPeDFmiER/sBmawMRzfdvvXOJuBxCEMxpGJaHmKSogGCD8uoegr NYbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=7sF3Rv6OLJUDlb2Sp8JBYrmhpKpBPSS54cp3b/OzL9o=; b=jG/63WygYrCICvN3i54UA6NMMsMCgfUkMqVX742+wKy34ilRL+vJONOh7RZosomXMa 9Z+kowui31rYZsQxwi1eegBKvEWWhrF+jdmJXlcetaanzAzjv1IJ0dHUflv8d4dve1xQ tsVExKRUhIj4Sd8G/HO1FhQsRIn/KcrPDzdEPggv3Ja/lZOD9GY/Be1YJOKaF4+yr1d8 ccKI+mRJ96ZlUv6Z4tv+OeaNwsCii8ol+2fhvlXe/loRz70wFF4adqfnnNpg7d0SxPUV hfU64l6TfiE7oscu5iMv+Z4t6Sul/a3o/KDhmMA+puxAiKJn1M4VpBB4V73L4aBozdms +6mA== X-Gm-Message-State: ALQs6tBXhhDcWakpP+4zAC2G/QecFgJObP5b4ULBgkthsxHRhgglvfnz Pd9CteYCh2Ax7skMc9EXIsF5EoOF6yaeY4gf/OD10w== X-Google-Smtp-Source: AIpwx4994NKCmYT1TijaQCP/nNL1xxwKREEvbrtNFQf0dh2+nIBvNQd7yvdYKVkVsC6Pi9S3swJXY1Q6FbHVFdjylsM= X-Received: by 10.176.1.194 with SMTP id 60mr4881511ual.200.1524150665017; Thu, 19 Apr 2018 08:11:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.63.18 with HTTP; Thu, 19 Apr 2018 08:11:04 -0700 (PDT) From: Olga Kornievskaia Date: Thu, 19 Apr 2018 11:11:04 -0400 X-Google-Sender-Auth: USdbZOdcr-umC80P7hXsRyDyUnU Message-ID: Subject: understanding the need for 2 SETCLIENTIDs on the client To: linux-nfs Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi folks, I'd like to understand the need for doing a double SETCLIENTID by the client. Initial mount calls nfs4_init_client() which initiates trunking discovery and calls nfs40_discover_client_trunking() which ends up sending the SETCLIENTID to the server. However, then on the first open, the client calls _nfs4_do_open() which calls nfs4_client_recover_expired_lease() which checks the flags and finds NFS4CLNT_LEASE_EXPIRED set which triggers another SETCLIENTID. Client is created in nfs4_alloc_client() with cl_flags having NFS4CLNT_LEASE_EXPIRED. But why doesn't a successful SETCLIENTID clear the LEASE_EXPIRED? If we were to clear the LEASE_EXPIRED flag (which seems like the right thing after establishing a valid clientid), then open would find a non-expired state. Thoughts? --- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c index 9796314..9ad6110 100644 --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c @@ -581,6 +581,7 @@ int nfs40_walk_client_list(struct nfs_client *new, nfs4_swap_callback_idents(pos, new); pos->cl_confirm = new->cl_confirm; nfs_mark_client_ready(pos, NFS_CS_READY); + clear_bit(NFS4CLNT_LEASE_EXPIRED, &pos->cl_state); prev = NULL; *result = pos;