Re: [nfsv4] NFSv4.2 client does Seek to pNFS DS or MDS for File Layout?

Rick Macklem <rmacklem@uoguelph.ca> Tue, 27 August 2019 04:23 UTC

Return-Path: <rmacklem@uoguelph.ca>
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 35072120978 for <nfsv4@ietfa.amsl.com>; Mon, 26 Aug 2019 21:23:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q-a-e6CEx6qA for <nfsv4@ietfa.amsl.com>; Mon, 26 Aug 2019 21:23:53 -0700 (PDT)
Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660071.outbound.protection.outlook.com [40.107.66.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 08E24120973 for <nfsv4@ietf.org>; Mon, 26 Aug 2019 21:23:53 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z75/32t2FOrsawGs0YtomsYFIgZTO5jV2KNnqz7G15mjky7EG1HbEoOicN4S4qAiBhYorlh1pbgOwJ033h/bTZapBMAWoErI+AbXzacmiYkD+dt0dmQC40Jp54MupLux/JWYMmmxI+QsySLHskqX/6ZDbyJ+etcR6/QBmOcQdkzB4SKDGYrrTJmyllzOV+oPIXkrCMQPNLlPJj3ktryXt34ls7FT25jApn09CKOqtztywMkVUw+b69gDwSX9gdBtDBedvYl2S0CK7TLQeX1wDUeCpz3jFKqBXqbMwXUzXF2qDykaUsP49rGLmz/zEPkSR0sOeEzorgVY92GX2VoSdw==
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-SenderADCheck; bh=FTcKXPkjXz8pP8IWrCDo84Ykt6sYdyBk1kg+ab7eBQc=; b=dgn231eJ+F0PKcfRMPvDZcR1WTMpLO+ST9rL7aaK1081wdkjiVdpzpkEXRh/TYDuTlWhfoAnIH6qMUCHyZB3N6zJ/27KKvs2zaMc9nz9JP6GoOTN/7+UlBHPN3/XNLXnJDotbhr1uHtaxgZ7irN+E2ZKldKQ97y0YJBtTSRcWnlnSQe9+TZGkp3IK5NG6ht8UZWODu1znAMBrl8CDihKJW89okvwRsDBIjDyOuGsPO5Qe9/FKWhdldZfzrSq/ttUrZS+L6jvaB/hxrwKTa4fkE6gUoTliqrd0umMo+jEGR93NZ3AP5aauOs0cZ3vCwxElJQ0nGOe76wO0uqiv7fJlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none
Received: from YT1PR01MB2907.CANPRD01.PROD.OUTLOOK.COM (10.255.42.216) by YT1PR01MB2409.CANPRD01.PROD.OUTLOOK.COM (10.255.40.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.19; Tue, 27 Aug 2019 04:23:51 +0000
Received: from YT1PR01MB2907.CANPRD01.PROD.OUTLOOK.COM ([fe80::4031:c693:f53a:9ce3]) by YT1PR01MB2907.CANPRD01.PROD.OUTLOOK.COM ([fe80::4031:c693:f53a:9ce3%7]) with mapi id 15.20.2199.021; Tue, 27 Aug 2019 04:23:51 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: Trond Myklebust <trondmy@gmail.com>
CC: Dave Noveck <davenoveck@gmail.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] NFSv4.2 client does Seek to pNFS DS or MDS for File Layout?
Thread-Index: AQHVWIWU970cCAjtRUaFZKFeVA6unKcHVhoAgAbuc2OAABh+AIAABt3N
Date: Tue, 27 Aug 2019 04:23:51 +0000
Message-ID: <YT1PR01MB2907B8524A8551A497B9A730DDA00@YT1PR01MB2907.CANPRD01.PROD.OUTLOOK.COM>
References: <YTBPR01MB361682BE1DB57979B790DCF3DDA50@YTBPR01MB3616.CANPRD01.PROD.OUTLOOK.COM> <CADaq8jeVp6F2NYp=qMTHEYc0fr6jM-mQxxmMsdM-sEwMCw=SNA@mail.gmail.com> <YT1PR01MB2907DF802F66DBB2F441BD19DDA00@YT1PR01MB2907.CANPRD01.PROD.OUTLOOK.COM>, <DE50C0A3-9145-4CD2-A3E7-477E33C7E3C7@gmail.com>
In-Reply-To: <DE50C0A3-9145-4CD2-A3E7-477E33C7E3C7@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rmacklem@uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e6a4f609-f95a-4ba8-1e20-08d72aa65d36
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:YT1PR01MB2409;
x-ms-traffictypediagnostic: YT1PR01MB2409:
x-microsoft-antispam-prvs: <YT1PR01MB24099CC700391272E4A31614DDA00@YT1PR01MB2409.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0142F22657
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(366004)(39860400002)(346002)(136003)(396003)(199004)(189003)(76176011)(478600001)(4326008)(76116006)(8936002)(256004)(14444005)(186003)(446003)(2906002)(6246003)(476003)(86362001)(9686003)(305945005)(53936002)(102836004)(64756008)(66556008)(66476007)(66946007)(66446008)(6436002)(8676002)(1411001)(316002)(55016002)(25786009)(786003)(7696005)(71200400001)(71190400001)(81166006)(14454004)(6506007)(54906003)(33656002)(486006)(74316002)(6916009)(11346002)(5660300002)(229853002)(99286004)(46003)(52536014)(81156014)(54075001); DIR:OUT; SFP:1101; SCL:1; SRVR:YT1PR01MB2409; H:YT1PR01MB2907.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: 20THAui1umH1M67wEPsXSmHVErBl0vrUQ5z6qu7GAoTLpU2LnjxYPSV2eongMkDyh0ChUZzipFBgsa3+h8W5R1f9CU5bGXR4jo0RNs6MoOT7VptSoWSR8XNRTcasF437jN1/FTaSdFd0aAEaR1SPEclQWqp4FUpmRcIEOjcxf/cN6HapsxGJ/fwm74MPhO56iQLy8MYq3SR0ru0csh3qpGtruIyTGABd+vlrDgNaxMixeQ2jP0rnN9NG/CgWLcGFRlv19NflmllCCVAtGpjTLZF/FxFyv1WK2WBFN8jpU1mIh2uADQ9Ej8ZWMXVhwzU/y14mwo71GbzvjayDkLQvF/lZ0cF0ytQVyE3EiI0dnWs3ubOuLLWYPRTXKS6J/SmolPa+cnAjDuM1aeZRRA95OP0FG5LSIztzUR7Fei3uNUg=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: uoguelph.ca
X-MS-Exchange-CrossTenant-Network-Message-Id: e6a4f609-f95a-4ba8-1e20-08d72aa65d36
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Aug 2019 04:23:51.1880 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: gQdn2vE8M/3Cx7Dbdg2xeaN3gH/m9crn4CJuwAfYSqEeLziXU1+9g/XoUBNe6BZiuSH227oesCLao2VdXaEAPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT1PR01MB2409
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/qZblvhm7Ng1_jQ2u4dFzVyRhhhM>
Subject: Re: [nfsv4] NFSv4.2 client does Seek to pNFS DS or MDS for File Layout?
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 27 Aug 2019 04:23:56 -0000

Trond Myklebust wrote:
>On Aug 26, 2019, at 22:13, Rick Macklem ><rmacklem@uoguelph.ca<mailto:rmacklem@uoguelph.ca>> wrote:
>
>David Noveck wrote:
>rmacklem wrote:
>In reading RFC-7862, I can clearly see that, for a pNFS server, Seek may be done
>on the DS. (Actually, it's MAY in upper case.)
>
>I think the "MAY" you are referring to is basically saying that, unlike operation such
>as RENAME/REMOVE/OPEN, which are MDS-only, SEEK/READ/READ_PLUS
>are allowed in COMPOUNDs sent to the DS.
>
>In the case of the OPTIONAL operations among these (e.g. SEEK, READ_PLUS), the
>DS or the MDS may choose to support or not support them.
>
>What I can't find is any indication of whether the client should do Seek on the DS
>or MDS for this case.
>
>It's not there.
>Since others haven't replied to this, here's a couple of data points:
>- The FreeBSD server will support Seek on the MDS and DSs when it is configured
> as a pNFS server and the servers support NFSv4.2.
>- The FreeBSD NFSv4.2 client does Seek to the MDS at this time. (I may add
>doing Seek to the DS someday, but not unless I see enough need to justify
> doing it to avoid the overhead of Seek being done on the MDS as a proxy to the DS.)
>- The Linux NFSv4.2 client appears to do Seek to the MDS only. (From a quick look
> at Linux-4.17-rc2.)
> Trond, is this going to continue to be the case?
>
>If you are asking if I have any plans to change this, then the answer for now is “no”. >However if others are interested in working on it, then I’m happy to take patches.
>
>That said, I have a number of questions here. How are you dealing with striped files >on the client?
Good point. I hadn't thought about striping...

I'll admit I don't know how Seek to a DS would work for striped layouts?
Would it only return data/hole offsets for the stripes stored on that DS?
And for the densely packed case, would the offset be a logical offset for the
file or one mapped to the offset for that stripe?

--> This suggests that an MDS only implementation of Seek makes sense for striped
      File layouts.

> What about dense vs. sparsely packed layouts?
>In particular a DS serving a sparsely packed layout is supposed to deny you access to >the holes that lie between stripes (see NFS4ERR_PNFS_IO_HOLE) so what would a >server do when you ask it to seek across those boundaries?
--> I would have guessed it would ignore these I/O holes, since they aren't really
      a part of the file. Fortunately, I didn't need to worry about how this might
      be implemented because...
The FreeBSD server never does striping and simply provides the entire file on a
single DS for File layout (sparse, but no I/O holes caused by striping).

For Flexible file layout, the file can be mirrored, but that results in a copy
of the entire file on each of the mirrors. Again, no striping.

>I’m not really seeing any of those questions being answered directly in RFC7862. >There is a sentence or two describing how READ_PLUS should operate (but details >are missing), but there is nothing that describes SEEK behaviour w.r.t. pNFS, affaics.
>
Yep. Seems like a "hole" in the RFC (sorry, I couldn't resist;-).

rick

>Cheers
>  Trond