From patchwork Thu May 4 14:37:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Dickson X-Patchwork-Id: 9712087 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 0481A6020B for ; Thu, 4 May 2017 14:38:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E8E26286A9 for ; Thu, 4 May 2017 14:38:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DD0A7286C1; Thu, 4 May 2017 14:38:51 +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=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI 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 92F95286BD for ; Thu, 4 May 2017 14:38:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753556AbdEDOhr (ORCPT ); Thu, 4 May 2017 10:37:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38934 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754752AbdEDOhQ (ORCPT ); Thu, 4 May 2017 10:37:16 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D48FA80C27 for ; Thu, 4 May 2017 14:37:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D48FA80C27 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=steved@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D48FA80C27 Received: from steved.boston.devel.redhat.com (ovpn-120-144.rdu2.redhat.com [10.10.120.144]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8495480DF0 for ; Thu, 4 May 2017 14:37:10 +0000 (UTC) From: Steve Dickson To: Linux NFS Mailing list Subject: [PATCH] mount.nfs: Restore errno after v3 mounts on ECONNREFUSED errors Date: Thu, 4 May 2017 10:37:04 -0400 Message-Id: <20170504143704.18263-1-steved@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 04 May 2017 14:37:11 +0000 (UTC) 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 Commit 65ac59cd introduced code that tries v3 mounts when the the v4 mount fails with ECONNREFUSED. This code allows failing back to v3 to work correctly. When the v3 mount fails the original errno value has been over rewritten. In this case the errno value needs to be restored to ECONNREFUSED. Signed-off-by: Steve Dickson --- utils/mount/stropts.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index a9ff95d..0fbb375 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -868,7 +868,10 @@ check_result: result = nfs_try_mount_v4(mi); if (result == 0 && errno != ECONNREFUSED) goto check_result; - } + } else if (result == 0) + /* Restore original errno with v3 failures */ + errno = ECONNREFUSED; + return result; default: return result;