Re: [nfsv4] GETDEVICEINFO returning ENOENT

Trond Myklebust <trondmy@hammerspace.com> Wed, 18 January 2023 15:16 UTC

Return-Path: <trondmy@hammerspace.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 882ACC14CE39 for <nfsv4@ietfa.amsl.com>; Wed, 18 Jan 2023 07:16:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.098
X-Spam-Level:
X-Spam-Status: No, score=-7.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hammerspace.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 97DiDFvYfVtB for <nfsv4@ietfa.amsl.com>; Wed, 18 Jan 2023 07:16:37 -0800 (PST)
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2111.outbound.protection.outlook.com [40.107.220.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 57CBFC14CF15 for <nfsv4@ietf.org>; Wed, 18 Jan 2023 07:16:36 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U5pXUnG4hNY356DzFnynxWpyyxmNYH9/sFyGLDw+qGtt57CedcM/VEfPRR1wNr6cH/kMGaiFjlYa4czPAX+wktVn2VwTCYyLDABVFauWrvi29zpVpi8kErq3y1Y2+RLLjTw7CtrhhEdU3ZW+d8U2txlbIqywcV9zTZE4GTJVtcUJJOJInYde5sL3tbk+ZjDFzZR7yEHuM1iOxGTvQRUgwvXED7Hmze28+paXqWZJG50LTTD1SWXA+GFWkkRisi3WakzSuesUYj5CCR5Y65gwxygHIUal/xWBNUSePfMea7MD6nNgldRzI6LZI83JH4RVChY345F3yEk346cG5teECA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=47WhrrpcZDhO9ObEmdx316HLCOeL77r2VItyEkNFI+I=; b=HbeY9SPJQo6a0FDD07BEqvDDZ58J7WFRDDpF3SEU7QvsgVunVTGpdmX+Y5NbJLyW0FmpvX7yc0/JZPZwBzB7BPGd8n3M1ZEi61I2C3KEHC/wz9pgQq5CiV1KUux2hjEgQ7DmHfaMskNh+TgLC7lq2KALl7asBCi3PQGgXdEbvymBYfBMPNRqSL3r6LreOaETjmAPoywxGxQ16vVIKGwy2WSW8Z2dhY2FHPQvrXu5E2FmgfHGC8fCV9E5naVJxemAvkUBNbOTiGLrswP5kbhaTuHcC+1UWxxgAIVTKG9kJ8UFGqy6sXu1nlW+DY25UfoNy1yNp00h5wXmXO38x4Ol7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=47WhrrpcZDhO9ObEmdx316HLCOeL77r2VItyEkNFI+I=; b=YCvaqkB8zgQSL/f9z913A/IrhQEKD/+EV1H8i8KtHk1kkgkoM8HtRzktyry9t/DIEc+tIO4hQZpEwpue4cpnNS4+XCKNJO9pNhRZMCput/dMYhAISlAltRcathPusm6TEe08Dsjio3VAY7SXME8MYZd9VKSanSysXEJrH3aRWnk=
Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by SJ0PR13MB5401.namprd13.prod.outlook.com (2603:10b6:a03:424::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Wed, 18 Jan 2023 15:16:30 +0000
Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::7007:3376:4f4e:b87b]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::7007:3376:4f4e:b87b%4]) with mapi id 15.20.6002.024; Wed, 18 Jan 2023 15:16:29 +0000
From: Trond Myklebust <trondmy@hammerspace.com>
To: Olga Kornievskaia <aglo@umich.edu>
CC: "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] GETDEVICEINFO returning ENOENT
Thread-Index: AQHZKsaXrxgngR9j3U2nMxbCfT5v2a6kRdgAgAAEOwA=
Date: Wed, 18 Jan 2023 15:16:29 +0000
Message-ID: <40A3CC2E-ECF2-46DD-8FB4-AA91ADDFC230@hammerspace.com>
References: <CAN-5tyEFLYGjMKmXEU8bD5mp0BPX2h8h1LgHYHEdA42hj83mfw@mail.gmail.com> <D74B32E8-C97A-4086-A257-E62F567AAD15@hammerspace.com> <CAN-5tyEk2MQahOj7fgNRx+kQdeRB2vKrfmk6Q1HNjrvsPZbhXw@mail.gmail.com>
In-Reply-To: <CAN-5tyEk2MQahOj7fgNRx+kQdeRB2vKrfmk6Q1HNjrvsPZbhXw@mail.gmail.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.300.101.1.3)
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=hammerspace.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH0PR13MB5084:EE_|SJ0PR13MB5401:EE_
x-ms-office365-filtering-correlation-id: eb9c7ed5-1abf-4584-003f-08daf966f957
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: jTffHvxr2m5A7v1OvqiSDAS4O3I2Mp89G5AlidFPaLXOonyZO1ZrOOZm23tu/9lgG/dujxemZh+srWd1Uy7NzQos+z9VybTeb2LRZ2+M9i4h4+ZQY/zHgjcoBfjiRh5BoHn3j7yGhZGxP3iHQi+iqLW2uyzfMTRvX4nl5CyVFP9NZ40LjW3+6jDnFSFznkSeW2A4R36VuszN14+H4srsIfdHEai0BrxDqC+dNrcT+D8D71f67XEzBFEaBZogx83XK2Km9/IVnQ9Teb4E06ot3GYViMQRNVzON2VKjk9H66cll1YEsL8Fv9DP78CWmuQiWmdwd7fpf6Rp/LEoFzlBbwzoEnUMhyayPmhHbk7QrwA0rj0XgReAMgrqOeUAjKeIJKes4Gs7marVKWLtGvJz/DsO5EXBUi1XIFhPaM3G3Qd4VWC1c+E6s++/2VohqurU8BYCorVQnCf+XznT2cP1NqKOUCsKsgOL3DTJQ45M0xm4EitNSZglRrbI75EL5hCfVFRRrQIKhyBld1OZeA+WFPSyzp7VJm/1k2Bh8j64on+AAjxXloXM1Is5Kn8onOf+Vz19errJg/w8OyFY3WLlFZM3fVk1MmMgyPxTojZ6ATpB0Fmz8WKzUnVL6+NvS+JhlWFdVtAmiMgdoUyJ5hLy06AXs7Orawg6CvgsCJ2aOyCDvEwacnEGYqmQYDJLH8pYbX8CEx46vdeQlmCCNPp65FNZqDoSpwEprQEVpLjyF3w=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR13MB5084.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(396003)(346002)(366004)(136003)(376002)(39840400004)(451199015)(38100700002)(316002)(76116006)(122000001)(66476007)(86362001)(38070700005)(33656002)(5660300002)(8936002)(2906002)(66946007)(66556008)(66446008)(64756008)(4326008)(8676002)(41300700001)(6916009)(26005)(2616005)(186003)(6512007)(83380400001)(53546011)(71200400001)(6486002)(6506007)(478600001)(36756003)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: zkq/hnAMvBNpodbc+ACZKcDHiyKs1jCXNw+TCJcWrTpJDkvs+6nlVo9eSuI/HSvIu/uJkT19OUNwbOIPoJneiaa1djxautWmMRp4A3ggSE87yRJJ5jn2CP8XJtluxu1x/22/9zLXM12iEcc8UR0bgRY6D5XBjWuqsp/EWepn8olw8FfUudGGtMMliA5aNFtfiWe7gjyWJGhA9txa5Ihc0XGH9g1t2MimdrPF8j9Tf5rP9oxfZNFilvIov76Qcu+uy6zGYahjhtPVndD7KjP8DfjbwW6p+2tnLuad/+6MjIsLTGZqVnRlNirIBfIR8vaBnIKLdYLVWVTQeKIz/wTLO3a0oZ7vqLg4Fr+mD3VYRtI5h1J5wUYcIjXNHJMbPFkvWI5XutAifh09x6673HF9PdcdunkKWSeT6+1u1i8DqKJb8EVaL2okiJiJbAiT9uCyfoBgc/kSYG22FncfxxiOrVgcTGtYrVkRJxgRDvR3jpnvnpVj6oCbrUCDLieLgWjmk+m40qsORcCQlhEIX8X7HYee1FVojmWS0dq9BFfRxrKG1pleLL2g4rtsfXVThXHeVDTa0Up9KJ95Qo1ePWHGh6CDWrjBL+vbJSbx0PZ7WRHnExGYLztni1hHB5XAGBN0mI009AGFX1K9Xpo/ex8oTnnkxM1VCdMzxH/gGW4dJXb8Nbs8A7ikln4gy/aRyHrrjKsJvQQW+VgmucaiHq3YyKvh1wK4mI4Z5WDdu9uedvgpyxHyh8nt7l01BlEkrV2wrx86GL/gkrtXq2Qt3EFROMaThkpfpep4A78YFu8pg5Qj8lKSCPgbj7oa9r3NT3zPvMHEa0ezDOB7uqP16Zshk++cP9mnZ9JwpO0xA/DFxAiaH0BNA8dHna/K5VKC634iiALmbL5Au6xJDhSmPB/yFDM/0FsMsdcRe8yUitbc0GF872pLgko9PeDRm9eLWL0kIPxg5LHufgJYv1L2AGDTWUPohysSe/K4b7683FNz0UstpXMXkoP0p9Vf7XhkfCDmmgumi77n20NSCc0tOGVBGLXzUszjqHRz9elpEZeMJjOuS1vUUjO1Mk07OPkJ4i2/VNcj49kJVZzmRhzsyp5GUEJAOlFmc2aj56igo50pdwUr212dHZA2c7HIVdvX4g2knqmYLYQLTrIteto4UqHuxf9uglC3Cg2zLqK1XIhtzqfMaVMi7XGHUYKjaLIW4e+I3JAB1aarJbNP05DM8u4X1syTN8efZ443urAxtjXvkJdVzKym60dYKjtQ14GWDsTmmwFfbHWP/ER4Hq56U1A/rxoR/DI2gvEEgWaFTa5rqrJImgz/0Czsjg6IHXhWCXI9rSXh7PHrQUHuKZstgWL4y5QR7su11kdBoSBaNWzvXxZCHFwy65wr2aB5RKDnmsXzmLI4xSBZaARrfpxv1BC/wsj+icrkKzKvO64zSkQfCYDYiLLfaIHM+2k0O8nmv/j6ltPWXzOWe/K5zf/sJfmMlw/whn26dvvcgPN6f266F8ja6nWSnskKuATDqwif5wxcWT6swCUWzoNyaO/DW8F8oQHXpNV+apyshWoESOyTy2N/BH0Ulhp2OC+vD2gAxuzqFCbVOBDHMq+w2ISu8MS8wg==
Content-Type: multipart/alternative; boundary="_000_40A3CC2EECF246DD8FB4AA91ADDFC230hammerspacecom_"
MIME-Version: 1.0
X-OriginatorOrg: hammerspace.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR13MB5084.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb9c7ed5-1abf-4584-003f-08daf966f957
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2023 15:16:29.0930 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tAFopnqe2YGiBGFGlj7feDZetAu9pxwSq/uzY97rI7Ul7d/qBwR3sOcA7vEmTdUcM8OK9NHhhH+8IT5Z6372gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR13MB5401
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/eSxlaXuWu4BV56FaO-tjCXq0X2U>
Subject: Re: [nfsv4] GETDEVICEINFO returning ENOENT
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Jan 2023 15:16:42 -0000


On Jan 18, 2023, at 10:01, Olga Kornievskaia <aglo@umich.edu> wrote:

On Tue, Jan 17, 2023 at 5:54 PM Trond Myklebust <trondmy@hammerspace.com<mailto:trondmy@hammerspace.com>> wrote:



On Jan 17, 2023, at 17:37, Olga Kornievskaia <aglo@umich.edu> wrote:

Hi folks,

Is there anything in the spec or elsewhere to let the client decide if
NFS4ERR_NOENT is a temporary or a permanent error for GETDEVICEINFO
operation?

Right now a linux client treats it as a temporary error and triggers a
GETDEVICEINFO call before every IO call (until it gets a positive
answer). The client then proceeds to do the operations against the
MDS. But shouldn't ENOENT be equivalent to LAYOUTUNAVAILABLE error
which the client treats like a bit more permanent error and doesn't
ask for a layout on every IO after failing. It would seem logical that
if ENOENT means the server doesn't know this deviceid which was gotten
from a layout then should the client throw away the layout and ask
again for the layout?

Thank you.

Why would a server deliberately hand out a layout containing a deviceid that it cannot translate? That makes no sense, and can only be considered to be buggy server behaviour.

The current Linux client code assumes that if GETDEVICEINFO returns NFS4ERR_NOENT, then the deviceid, and hence the layout have been revoked by the server, and that retrying the layoutget will yield a new, valid layout with a valid deviceid.

As I mentioned, the current linux code doesn't treat the NFS4ERR_NOENT
as what you describe. It re-tries (GETDEVICEINFO) on every single IO
call. I was looking for clarification to fix the linux client to treat
NFS4ERR_NOENT as NFS4ERR_LAYOUTUNAVAILABLE.

Hmm... That behaviour appears to be specific to the files layout driver, and looks like a bug. The flex files layout driver will report the error using the layout error mechanism, and then return the layout, while the block layout marks the layout  as unavailable.
I suggest we fix the files layout driver to drop the layout, and perhaps try to send a layout error, if the server supports that.

_________________________________
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com