From patchwork Fri Aug 22 19:11:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 4766731 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id E4BD69F37E for ; Fri, 22 Aug 2014 19:11:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 149E820158 for ; Fri, 22 Aug 2014 19:11:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4486F20117 for ; Fri, 22 Aug 2014 19:11:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751242AbaHVTLS (ORCPT ); Fri, 22 Aug 2014 15:11:18 -0400 Received: from mail-ig0-f175.google.com ([209.85.213.175]:45107 "EHLO mail-ig0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750879AbaHVTLR (ORCPT ); Fri, 22 Aug 2014 15:11:17 -0400 Received: by mail-ig0-f175.google.com with SMTP id uq10so158227igb.8 for ; Fri, 22 Aug 2014 12:11:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:subject:to:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-type:content-transfer-encoding; bh=4liyq+7N6WJYRavBBl9TaSf1yj/a2KJsi9VuVMy1lXE=; b=ZkqmyMTkjBaOb3Ger40ksuexnHWKsqq/wPICxDO993j5TzkeqPMqnRX92y8M/17jMl 6KpcVoxuI8VLcuT5yKYEyH5df8ysTOzg+3cU2XiMAXsarbmFUQnrHqC693YnbmiEe7U1 G4bad4J/+6VHwJA18d2sMlllPf+TQcFZooOncmUREZ16T2IyirjqyA09kvZTFIivFLxz B/VDEUa3WM0EJlhUTn393A0I9aYH5zW5IzJbEgTPLfoJQe+OPKpz4FKzU7owiDYRFpY/ aCPVxPd2U3GBWBZrOb/7d8Z/3GOWhjs0O8hn1BkZ/gSbV1mg4MebM55JCE47W/mm2iGx HgMA== X-Received: by 10.43.129.74 with SMTP id hh10mr11024317icc.48.1408734677433; Fri, 22 Aug 2014 12:11:17 -0700 (PDT) Received: from klimt.1015granger.net (c-68-40-85-241.hsd1.mi.comcast.net. [68.40.85.241]) by mx.google.com with ESMTPSA id nn13sm1098357igb.7.2014.08.22.12.11.16 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Aug 2014 12:11:16 -0700 (PDT) From: Chuck Lever Subject: [PATCH 4/4] nfsd: Assert SEQ4_STATUS_CB_PATH_DOWN_SESSION To: bfields@fieldses.org Cc: linux-nfs@vger.kernel.org Date: Fri, 22 Aug 2014 15:11:16 -0400 Message-ID: <20140822191116.3883.65056.stgit@klimt.1015granger.net> In-Reply-To: <20140822190835.3883.7581.stgit@klimt.1015granger.net> References: <20140822190835.3883.7581.stgit@klimt.1015granger.net> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The NFS server should assert both CB_PATH_DOWN and CB_PATH_DOWN_SESSION when there is no backchannel. RFC 5661 section 18.46.3: SEQ4_STATUS_CB_PATH_DOWN When set, indicates that the client has no operational backchannel path for any session associated with the client ID, making it necessary for the client to re-establish one. This bit remains set on all SEQUENCE responses on all sessions associated with the client ID until at least one backchannel is available on any session associated with the client ID. SEQ4_STATUS_CB_PATH_DOWN_SESSION When set, indicates that the session has no operational backchannel. . . . . . The SEQ4_STATUS_CB_PATH_DOWN_SESSION bit is the indication to the client that it needs to associate a connection to the session’s backchannel. This bit remains set on all SEQUENCE responses of the session until a connection is associated with the session’s a backchannel. The Linux server doesn't currently make a distinction between these cases, so both flags should be asserted unconditionally. Signed-off-by: Chuck Lever --- fs/nfsd/nfs4state.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) -- 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/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index d7cfd8b..ea50ac0 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -2805,7 +2805,8 @@ nfsd4_sequence(struct svc_rqst *rqstp, out: switch (clp->cl_cb_state) { case NFSD4_CB_DOWN: - seq->status_flags = SEQ4_STATUS_CB_PATH_DOWN; + seq->status_flags = SEQ4_STATUS_CB_PATH_DOWN | + SEQ4_STATUS_CB_PATH_DOWN_SESSION; break; case NFSD4_CB_FAULT: seq->status_flags = SEQ4_STATUS_BACKCHANNEL_FAULT;