From owner-freebsd-fs@freebsd.org Mon Mar 2 00:19:37 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 315732534A4 for ; Mon, 2 Mar 2020 00:19:37 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-to1can01on0622.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5d::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48W13q2Y5cz49vh for ; Mon, 2 Mar 2020 00:19:35 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d/ebJrgHmpxCgtxS4HH5q+q+QNjN7lzvg7kpq7nDaS+h21ehwXEk1zhZzJMQaXeXP2DBPImdaMdK9Uy19OnRQwMZoE5ZR2r9FZpLcFcTBxA5b8vExwEhhzl2pclmx896SlALxvi8zF4Poi30Kp+Tw8OSSFQS2p2je1KqX67uUiAwVHCb5Xuta6TjCpGSaer6Y/hpw1SnEJoWBiScrDomYs1h4v/oAwRHDOKY2YNmTlrQbFUqAUyaKuM25jfeMvXM8xDqPg0ZsGFwCjUTEuYGe0DilgeHuGGj7aL4C6uN49W7Iz7W8I+BTiXQI7CSQOMOBp7BAzv2fQm/S5LC9ApBhQ== 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=j5tM2qf+zFuG+u+D14QtsYuhoDWmXQpR0AA8juCgCyM=; b=flQ/nj2btUUqkE7+9XzkqH3WNvwRwXw6drWNGqjNxWwjvJuVRxvCX/lpOL9+LB4TZ1Lyqi41rFEjdb2djUpm7OQsirxxHlw5Mqvo2QaUr6qH+k9ZTq2jUioEuK7xeGcw0dx4azt4S1SUYA0iuWcx6KwD2sVYTwE2EJ+gaVz0P4jhKNObrljMaHFQi5jg36LvHDgeyabI4ldbkWpPHkG2vGCdDVOli8r5dcLNhAiGrpetkokQLwT7v1UxMyBszZAsoee/J/gvuUOobPtBxKHTbfUVuLCBdKA/AwdQPt98/QGF70cfEx2pHsTLrlLBBdoR8eUPUin66w+2FlyjkDTySg== 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 YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM (10.255.46.82) by YTBPR01MB3440.CANPRD01.PROD.OUTLOOK.COM (10.255.46.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.14; Mon, 2 Mar 2020 00:19:32 +0000 Received: from YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4]) by YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4%6]) with mapi id 15.20.2772.019; Mon, 2 Mar 2020 00:19:32 +0000 From: Rick Macklem To: Luoqi Chen , Martin Simmons CC: freebsd-fs Subject: Re: Linux could write to read only files on FreeBSD NFS server Thread-Topic: Linux could write to read only files on FreeBSD NFS server Thread-Index: AQHV7ZU6To48aBpgW0mPQBk2wdIrMagvh4MAgAATIQCAAALPjYAACluAgADNX9KAAFvlAIADoSCI Date: Mon, 2 Mar 2020 00:19:32 +0000 Message-ID: References: <707243CD-C67E-4DAD-AC5A-68EC11CFFDFD@lysator.liu.se> <6EC06026-DA28-4CAC-8D56-5C7856D4625E@lysator.liu.se> <202002281113.01SBDlsl017697@higson.cam.lispworks.com>, In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8cfb1a25-2553-4967-b609-08d7be3f61aa x-ms-traffictypediagnostic: YTBPR01MB3440: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1824; x-forefront-prvs: 033054F29A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(39860400002)(136003)(376002)(366004)(189003)(199004)(8936002)(81166006)(55016002)(7696005)(478600001)(9686003)(81156014)(33656002)(6506007)(316002)(786003)(4326008)(8676002)(71200400001)(52536014)(2906002)(66476007)(66616009)(66446008)(64756008)(66556008)(66946007)(76116006)(5660300002)(110136005)(186003)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:YTBPR01MB3440; H:YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CH6NgiPRP2o5j1V3JAyf5YjqxwiLH9C4S7RV4f2secsYVHVGtCO7dWmX6okFSi36AI074Fyv4NRg+der7cJ/JOd/jNDTQKN910r1WmHU+ISAXu9oI18tFozZONukf1HMBFCWP0cwCoSMPjbe7A6KC3jOjnzmQ/8IQ7cCCYiPtvqb6awPMsx+GQjpaNJbNlQfcr2woOaBEFkl7A+lJdrfoSwipcq5e2NY+5OdbksKvQKfjhjWnIlAZ7aRDnnnv1xDSF9Zv9t7E3lCv794GoP4cq7bvg+FCWUq1wZPUaJeQ0rewqT3XOFX2AGMDjEua4Up1YJGNG7BleiFmZLOcnBsOHPUH/7OGuR7zov6AXH5jIJ5Um3bbFyGg173GhpBVv+WBwFCGNd/XQ77O+aiXFw4bySgLVbSROG2ODWfdESgEckvb1Q3tVRDdWQfn+MSduTs x-ms-exchange-antispam-messagedata: eC5+Psv6gfDFhRjp57rEx8kk/tVKAdZ8fw4dyU1ElgqEcPDa7lv6GNtmEJ5R0o3tg+qy9h6+eEgk1kGkjHYPIrUEv+stU8zDOqpLn1yPAd3IRD49TLF7gKcZeCAYt/NLYVMjvafyqgUzvjaI2KJUxVs/e7vfxazp0f0jff57YgZxN3aZwnuFXtkhVLagmiWi9tI0STh6JrtHFc2XhW6SLQ== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_YTBPR01MB337401285CAA695E1D7AA5BADDE70YTBPR01MB3374CANP_" MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: 8cfb1a25-2553-4967-b609-08d7be3f61aa X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2020 00:19:32.6669 (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: Tdm9MQM8yQ1hC5ZuzbBODAPFk1trjcIDgn3lW8apWO5KUzDXNY8bs103GHsT4K8Nzd3+Fh7SkM9JEFbgc1DCdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTBPR01MB3440 X-Rspamd-Queue-Id: 48W13q2Y5cz49vh X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 2a01:111:f400:fe5d::622 as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-4.73 / 15.00]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TAGGED_RCPT(0.00)[]; HAS_ATTACHMENT(0.00)[]; DMARC_NA(0.00)[uoguelph.ca]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; IP_SCORE(-1.43)[ipnet: 2a01:111:f000::/36(-4.00), asn: 8075(-3.10), country: US(-0.05)]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; ARC_ALLOW(-1.00)[i=1] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 00:19:37 -0000 --_002_YTBPR01MB337401285CAA695E1D7AA5BADDE70YTBPR01MB3374CANP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Luoqi Chen wrote:=0A= >On Fri, Feb 28, 2020 at 3:13 AM Martin Simmons >> wrote:=0A= >>>>>> On Thu, 27 Feb 2020 14:58:55 -0800, Luoqi Chen said:=0A= >>=0A= >> One more piece of information that might help: this behavior started=0A= >> somewhere between centos 5 and 6, kernel 2.6.18 and 2.6.32, i.e., the sa= me=0A= >> script would fail on 2.6.18. Timing wise I believe it coincided with the= =0A= >> introduction of nfsv4.=0A= >=0A= >Have you tried mounting it with nfsv3 recently? I can't repeat it with th= at=0A= >version (I don't run nfsv4 at all).=0A= >=0A= >Looks like I'm getting senile... The script works correctly with nfsv3 mou= nts. This is=0A= >a nfsv4 specific problem.=0A= Ok, I've re-read the Open section of the NFSv4 RFCs. They all have similar = wording.=0A= I can see how it can be interpreted multiple ways. Here's the RFC 5661 snip= pet:=0A= =0A= Based on the share_access value (OPEN4_SHARE_ACCESS_READ,=0A= OPEN4_SHARE_ACCESS_WRITE, or OPEN4_SHARE_ACCESS_BOTH), the client=0A= should check that the requester has the proper access rights to=0A= perform the specified operation. This would generally be the results=0A= of applying the ACL access rules to the file for the current=0A= requester. However, just as with the ACCESS operation, the client=0A= should not attempt to second-guess the server's decisions, as access=0A= rights may change and may be subject to server administrative=0A= controls outside the ACL framework. If the requester's READ or WRITE=0A= operation is not authorized (depending on the share_access value),=0A= the server MUST return NFS4ERR_ACCESS.=0A= =0A= Now, I had interpreted the last sentence meaning "apply the same check=0A= as Read/Write does". Since the owner of the file is always allowed to Read/= Write=0A= (as explained in a previous post), that is what the FreeBSD NFSv4 server do= es.=0A= However, I can see that it could be interpreted as "return NFS4ERR_ACCESS i= f=0A= the file modes/ACL would result in an EACCES error".=0A= --> As such, although it could result in an inconsistency between NFSv3 and= =0A= NFSv4, I could see the Linux client depending on that instead of usi= ng=0A= the replied information for the Access operation to decide if a POSI= X=0A= Open should be allowed.=0A= =0A= Anyhow, I've attached a trivial patch that changes the NFSv4 Open semantics= =0A= to conform to what the mode/ACL indicates.=0A= I am not sure that this patch should be applicable to head, but if it makes= the=0A= Linux client happy, I can see it being optionally enabled via a sysctl.=0A= =0A= Please let me know if you can test the patch and determine if the Linux NFS= v4=0A= mount works with the patched FreeBSD server.=0A= =0A= rick=0A= --_002_YTBPR01MB337401285CAA695E1D7AA5BADDE70YTBPR01MB3374CANP_ Content-Type: application/octet-stream; name="ownerover.patch" Content-Description: ownerover.patch Content-Disposition: attachment; filename="ownerover.patch"; size=1433; creation-date="Mon, 02 Mar 2020 00:19:17 GMT"; modification-date="Mon, 02 Mar 2020 00:19:17 GMT" Content-Transfer-Encoding: base64 LS0tIGZzL25mc3NlcnZlci9uZnNfbmZzZHNlcnYuYy5vd25lcm92ZXIJMjAyMC0wMy0wMSAwNzoy MDoxOC41NzYwNTIwMDAgLTA4MDAKKysrIGZzL25mc3NlcnZlci9uZnNfbmZzZHNlcnYuYwkyMDIw LTAzLTAxIDA3OjUxOjAwLjE2MjI2NjAwMCAtMDgwMApAQCAtMjc4NCw3ICsyNzg0LDcgQEAgbmZz cnZkX29wZW4oc3RydWN0IG5mc3J2X2Rlc2NyaXB0ICpuZCwgX191bnVzZWQgaW50IGlzCiAJdV9p bnQzMl90ICp0bDsKIAlpbnQgaSwgcmV0ZXh0OwogCXN0cnVjdCBuZnNzdGF0ZSAqc3RwID0gTlVM TDsKLQlpbnQgZXJyb3IgPSAwLCBjcmVhdGUsIGNsYWltLCBleGNsdXNpdmVfZmxhZyA9IDA7CisJ aW50IGVycm9yID0gMCwgY3JlYXRlLCBjbGFpbSwgZXhjbHVzaXZlX2ZsYWcgPSAwLCBvdmVycmlk ZTsKIAl1X2ludDMyX3QgcmZsYWdzID0gTkZTVjRPUEVOX0xPQ0tUWVBFUE9TSVgsIGFjZW1hc2s7 CiAJaW50IGhvdyA9IE5GU0NSRUFURV9VTkNIRUNLRUQ7CiAJaW50MzJfdCBjdmVyZlsyXSwgdHZl cmZbMl0gPSB7IDAsIDAgfTsKQEAgLTMwODgsMTUgKzMwODgsMTYgQEAgbmZzcnZkX29wZW4oc3Ry dWN0IG5mc3J2X2Rlc2NyaXB0ICpuZCwgX191bnVzZWQgaW50IGlzCiAJCSAqLwogCQluZC0+bmRf cmVwc3RhdCA9ICh2cC0+dl90eXBlID09IFZESVIpID8gTkZTRVJSX0lTRElSIDogTkZTRVJSX1NZ TUxJTks7CiAJfQorCW92ZXJyaWRlID0gTkZTQUNDQ0hLX05PT1ZFUlJJREU7CiAJaWYgKCFuZC0+ bmRfcmVwc3RhdCAmJiAoc3RwLT5sc19mbGFncyAmIE5GU0xDS19XUklURUFDQ0VTUykpCiAJICAg IG5kLT5uZF9yZXBzdGF0ID0gbmZzdm5vX2FjY2Noayh2cCwgVldSSVRFLCBuZC0+bmRfY3JlZCwK LQkgICAgICAgIGV4cCwgcCwgTkZTQUNDQ0hLX0FMTE9XT1dORVIsIE5GU0FDQ0NIS19WUElTTE9D S0VELCBOVUxMKTsKKwkgICAgICAgIGV4cCwgcCwgb3ZlcnJpZGUsIE5GU0FDQ0NIS19WUElTTE9D S0VELCBOVUxMKTsKIAlpZiAoIW5kLT5uZF9yZXBzdGF0ICYmIChzdHAtPmxzX2ZsYWdzICYgTkZT TENLX1JFQURBQ0NFU1MpKSB7CiAJICAgIG5kLT5uZF9yZXBzdGF0ID0gbmZzdm5vX2FjY2Noayh2 cCwgVlJFQUQsIG5kLT5uZF9jcmVkLAotCSAgICAgICAgZXhwLCBwLCBORlNBQ0NDSEtfQUxMT1dP V05FUiwgTkZTQUNDQ0hLX1ZQSVNMT0NLRUQsIE5VTEwpOworCSAgICAgICAgZXhwLCBwLCBvdmVy cmlkZSwgTkZTQUNDQ0hLX1ZQSVNMT0NLRUQsIE5VTEwpOwogCSAgICBpZiAobmQtPm5kX3JlcHN0 YXQpCiAJCW5kLT5uZF9yZXBzdGF0ID0gbmZzdm5vX2FjY2Noayh2cCwgVkVYRUMsCi0JCSAgICBu ZC0+bmRfY3JlZCwgZXhwLCBwLCBORlNBQ0NDSEtfQUxMT1dPV05FUiwKKwkJICAgIG5kLT5uZF9j cmVkLCBleHAsIHAsIG92ZXJyaWRlLAogCQkgICAgTkZTQUNDQ0hLX1ZQSVNMT0NLRUQsIE5VTEwp OwogCX0KIAo= --_002_YTBPR01MB337401285CAA695E1D7AA5BADDE70YTBPR01MB3374CANP_-- From owner-freebsd-fs@freebsd.org Mon Mar 2 07:58:55 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 184BF25D579 for ; Mon, 2 Mar 2020 07:58:55 +0000 (UTC) (envelope-from pen@lysator.liu.se) Received: from mail.lysator.liu.se (mail.lysator.liu.se [IPv6:2001:6b0:17:f0a0::3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48WCFj0NCcz4SrR for ; Mon, 2 Mar 2020 07:58:46 +0000 (UTC) (envelope-from pen@lysator.liu.se) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id E88FC4000B for ; Mon, 2 Mar 2020 08:58:36 +0100 (CET) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id D3D7C4001B; Mon, 2 Mar 2020 08:58:36 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on bernadotte.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,AWL autolearn=disabled version=3.4.2 X-Spam-Score: -1.0 Received: from [IPv6:2001:6b0:17:f002:d404:390a:cc85:358] (unknown [IPv6:2001:6b0:17:f002:d404:390a:cc85:358]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 875AE4000B for ; Mon, 2 Mar 2020 08:58:35 +0100 (CET) From: Peter Eriksson Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: Re: Linux could write to read only files on FreeBSD NFS server Date: Mon, 2 Mar 2020 08:58:35 +0100 References: <707243CD-C67E-4DAD-AC5A-68EC11CFFDFD@lysator.liu.se> <6EC06026-DA28-4CAC-8D56-5C7856D4625E@lysator.liu.se> <202002281113.01SBDlsl017697@higson.cam.lispworks.com> To: freebsd-fs In-Reply-To: Message-Id: <8247CFFC-C324-40BB-B0DD-B469A3B35851@lysator.liu.se> X-Mailer: Apple Mail (2.3608.60.0.2.5) X-Virus-Scanned: ClamAV using ClamSMTP X-Rspamd-Queue-Id: 48WCFj0NCcz4SrR X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=pass (policy=none) header.from=liu.se; spf=pass (mx1.freebsd.org: domain of pen@lysator.liu.se designates 2001:6b0:17:f0a0::3 as permitted sender) smtp.mailfrom=pen@lysator.liu.se X-Spamd-Result: default: False [-4.09 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.993,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+a:mail.lysator.liu.se]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; TO_DN_ALL(0.00)[]; DMARC_POLICY_ALLOW(-0.50)[liu.se,none]; RCVD_IN_DNSWL_NONE(0.00)[3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.0.f.7.1.0.0.0.b.6.0.1.0.0.2.list.dnswl.org : 127.0.11.0]; MV_CASE(0.50)[]; IP_SCORE(-1.80)[ip: (-7.10), ipnet: 2001:6b0::/32(-1.04), asn: 1653(-0.83), country: EU(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1653, ipnet:2001:6b0::/32, country:EU]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 07:58:55 -0000 I=E2=80=99ve tested a Linux client vs FreeBSD, Linux & Solaris (OmniOS) = NFS servers and it seems both Linux & Solaris does give a NFS4ERR_ACCESS = (13) error on the OPEN NFS procedure. Tcpdump outputs for reference: Linux Client, Linux Server: > Frame 14: 394 bytes on wire (3152 bits), 394 bytes captured (3152 = bits) > Ethernet II, Src: Cisco_5f:47:00 (44:d3:ca:5f:47:00), Dst: = HewlettP_0a:d4:74 (98:4b:e1:0a:d4:74) > Internet Protocol Version 4, Src: 10.245.33.50, Dst: 130.236.146.121 > Transmission Control Protocol, Src Port: 1007, Dst Port: 2049, Seq: = 1773, Ack: 1597, Len: 328 > Remote Procedure Call, Type:Call XID:0xa1be47fe > Network File System, Ops(5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR > [Program Version: 4] > [V4 Procedure: COMPOUND (1)] > Tag: > minorversion: 1 > Operations (count: 5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR > Opcode: SEQUENCE (53) > sessionid: 526f545ecc2d22bc0100000000000000 > seqid: 0x00000237 > slot id: 0 > high slot id: 0 > cache this?: Yes > Opcode: PUTFH (22) > FileHandle > Opcode: OPEN (18) > seqid: 0x00000000 > share_access: OPEN4_SHARE_ACCESS_READ (1) > share_deny: OPEN4_SHARE_DENY_NONE (0) > clientid: 0x526f545ecc2d22bc > owner: > Open Type: OPEN4_NOCREATE (0) > Claim Type: CLAIM_FH (4) > Opcode: ACCESS (3), [Check: RD MD XT XE] > Check access: 0x2d > .... ...1 =3D 0x001 READ: allowed? > .... .1.. =3D 0x004 MODIFY: allowed? > .... 1... =3D 0x008 EXTEND: allowed? > ..1. .... =3D 0x020 EXECUTE: allowed? > Opcode: GETATTR (9) > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, = FileId) > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, = Owner_Group, RawDev, Space_Used, Time_Access, Time_Metadata, = Time_Modify, Mounted_on_FileId) > [Main Opcode: OPEN (18)] > Frame 15: 166 bytes on wire (1328 bits), 166 bytes captured (1328 = bits) > Ethernet II, Src: HewlettP_0a:d4:74 (98:4b:e1:0a:d4:74), Dst: = Cisco_5f:47:00 (44:d3:ca:5f:47:00) > Internet Protocol Version 4, Src: 130.236.146.121, Dst: 10.245.33.50 > Transmission Control Protocol, Src Port: 2049, Dst Port: 1007, Seq: = 1597, Ack: 2101, Len: 100 > Remote Procedure Call, Type:Reply XID:0xa1be47fe > Network File System, Ops(3): SEQUENCE PUTFH OPEN(NFS4ERR_ACCESS) > [Program Version: 4] > [V4 Procedure: COMPOUND (1)] > Status: NFS4ERR_ACCESS (13) > Tag: > Operations (count: 3) > Opcode: SEQUENCE (53) > Status: NFS4_OK (0) > sessionid: 526f545ecc2d22bc0100000000000000 > seqid: 0x00000237 > slot id: 0 > high slot id: 9 > target high slot id: 9 > status flags: 0x00000000 > Opcode: PUTFH (22) > Status: NFS4_OK (0) > Opcode: OPEN (18) > Status: NFS4ERR_ACCESS (13) > [Main Opcode: OPEN (18)] Linux Client, Solaris(OmniOS) Server: > Frame 45: 334 bytes on wire (2672 bits), 334 bytes captured (2672 = bits) > Ethernet II, Src: Dell_e5:42:64 (d4:be:d9:e5:42:64), Dst: = Elitegro_63:aa:39 (c0:3f:d5:63:aa:39) > Internet Protocol Version 6, Src: = 2001:6b0:17:f002:d6be:d9ff:fee5:4264, Dst: = 2001:6b0:17:f002:c23f:d5ff:fe63:aa39 > Transmission Control Protocol, Src Port: 989, Dst Port: 2049, Seq: = 1877, Ack: 1877, Len: 248 > Remote Procedure Call, Type:Call XID:0x475ab0a2 > Network File System, Ops(5): PUTFH, OPEN, GETFH, ACCESS, GETATTR > [Program Version: 4] > [V4 Procedure: COMPOUND (1)] > Tag: > minorversion: 0 > Operations (count: 5): PUTFH, OPEN, GETFH, ACCESS, GETATTR > Opcode: PUTFH (22) > FileHandle > Opcode: OPEN (18) > seqid: 0x00000003 > share_access: OPEN4_SHARE_ACCESS_WRITE (2) > share_deny: OPEN4_SHARE_DENY_NONE (0) > clientid: 0x000000655e5980e1 > owner: > Open Type: OPEN4_NOCREATE (0) > Claim Type: CLAIM_NULL (0) > Opcode: GETFH (10) > Opcode: ACCESS (3), [Check: RD MD XT XE] > Check access: 0x2d > .... ...1 =3D 0x001 READ: allowed? > .... .1.. =3D 0x004 MODIFY: allowed? > .... 1... =3D 0x008 EXTEND: allowed? > ..1. .... =3D 0x020 EXECUTE: allowed? > Opcode: GETATTR (9) > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, = FileId) > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, = Owner_Group, RawDev, Space_Used, Time_Access, Time_Metadata, = Time_Modify, Mounted_on_FileId) > [Main Opcode: OPEN (18)] > Frame 46: 170 bytes on wire (1360 bits), 170 bytes captured (1360 = bits) > Ethernet II, Src: Elitegro_63:aa:39 (c0:3f:d5:63:aa:39), Dst: = Dell_e5:42:64 (d4:be:d9:e5:42:64) > Internet Protocol Version 6, Src: = 2001:6b0:17:f002:c23f:d5ff:fe63:aa39, Dst: = 2001:6b0:17:f002:d6be:d9ff:fee5:4264 > Transmission Control Protocol, Src Port: 2049, Dst Port: 989, Seq: = 1877, Ack: 2125, Len: 84 > Remote Procedure Call, Type:Reply XID:0x475ab0a2 > Network File System, Ops(2): PUTFH OPEN(NFS4ERR_ACCESS) > [Program Version: 4] > [V4 Procedure: COMPOUND (1)] > Status: NFS4ERR_ACCESS (13) > Tag: > Operations (count: 2) > Opcode: PUTFH (22) > Status: NFS4_OK (0) > Opcode: OPEN (18) > Status: NFS4ERR_ACCESS (13) > [Main Opcode: OPEN (18)] Linux Client, FreeBSD Server: > Frame 41: 362 bytes on wire (2896 bits), 362 bytes captured (2896 = bits) > Ethernet II, Src: Dell_e5:42:64 (d4:be:d9:e5:42:64), Dst: = Cisco_6b:86:bf (64:9e:f3:6b:86:bf) > Internet Protocol Version 6, Src: = 2001:6b0:17:f002:d6be:d9ff:fee5:4264, Dst: 2001:6b0:17:2400::8:40 > Transmission Control Protocol, Src Port: 802, Dst Port: 2049, Seq: = 1913, Ack: 2437, Len: 276 > Remote Procedure Call, Type:Call XID:0xf62930df > Network File System, Ops(5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR > [Program Version: 4] > [V4 Procedure: COMPOUND (1)] > Tag: > minorversion: 1 > Operations (count: 5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR > Opcode: SEQUENCE (53) > sessionid: 183000000000000059a4585e18300000 > seqid: 0x00000022 > slot id: 0 > high slot id: 0 > cache this?: Yes > Opcode: PUTFH (22) > FileHandle > Opcode: OPEN (18) > seqid: 0x00000000 > share_access: OPEN4_SHARE_ACCESS_WRITE (2) > share_deny: OPEN4_SHARE_DENY_NONE (0) > clientid: 0x59a4585e18300000 > owner: > Open Type: OPEN4_NOCREATE (0) > Claim Type: CLAIM_FH (4) > Opcode: ACCESS (3), [Check: RD MD XT XE] > Check access: 0x2d > .... ...1 =3D 0x001 READ: allowed? > .... .1.. =3D 0x004 MODIFY: allowed? > .... 1... =3D 0x008 EXTEND: allowed? > ..1. .... =3D 0x020 EXECUTE: allowed? > Opcode: GETATTR (9) > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, = FileId) > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, = Owner_Group, RawDev, Space_Used, Time_Access, Time_Metadata, = Time_Modify, Mounted_on_FileId) > [Main Opcode: OPEN (18)] > Frame 42: 462 bytes on wire (3696 bits), 462 bytes captured (3696 = bits) > Ethernet II, Src: Cisco_6b:86:bf (64:9e:f3:6b:86:bf), Dst: = Dell_e5:42:64 (d4:be:d9:e5:42:64) > Internet Protocol Version 6, Src: 2001:6b0:17:2400::8:40, Dst: = 2001:6b0:17:f002:d6be:d9ff:fee5:4264 > Transmission Control Protocol, Src Port: 2049, Dst Port: 802, Seq: = 2437, Ack: 2189, Len: 376 > Remote Procedure Call, Type:Reply XID:0xf62930df > Network File System, Ops(5): SEQUENCE PUTFH OPEN ACCESS GETATTR > [Program Version: 4] > [V4 Procedure: COMPOUND (1)] > Status: NFS4_OK (0) > Tag: > Operations (count: 5) > Opcode: SEQUENCE (53) > Status: NFS4_OK (0) > sessionid: 183000000000000059a4585e18300000 > seqid: 0x00000022 > slot id: 0 > high slot id: 63 > target high slot id: 63 > status flags: 0x00000000 > Opcode: PUTFH (22) > Status: NFS4_OK (0) > Opcode: OPEN (18) > Status: NFS4_OK (0) > StateID > change_info > result flags: 0x00000004, locktype posix > Delegation Type: OPEN_DELEGATE_NONE (0) > Opcode: ACCESS (3), [Access Denied: RD MD XT XE] > Status: NFS4_OK (0) > Supported types (of requested): 0x2d > Access rights (of requested): 0x00 > .... ...0 =3D 0x001 READ: *Access Denied* > .... .0.. =3D 0x004 MODIFY: *Access Denied* > .... 0... =3D 0x008 EXTEND: *Access Denied* > ..0. .... =3D 0x020 EXECUTE: *Access Denied* > Opcode: GETATTR (9) > Status: NFS4_OK (0) > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, = FileId) > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, = Owner_Group, RawDev, Space_Used, Time_Access, Time_Metadata, = Time_Modify, Mounted_on_FileId) > [Main Opcode: OPEN (18)] - Peter > On 2 Mar 2020, at 01:19, Rick Macklem wrote: >=20 > Luoqi Chen wrote: >> On Fri, Feb 28, 2020 at 3:13 AM Martin Simmons = >> wrote: >>>>>>> On Thu, 27 Feb 2020 14:58:55 -0800, Luoqi Chen said: >>>=20 >>> One more piece of information that might help: this behavior started >>> somewhere between centos 5 and 6, kernel 2.6.18 and 2.6.32, i.e., = the same >>> script would fail on 2.6.18. Timing wise I believe it coincided with = the >>> introduction of nfsv4. >>=20 >> Have you tried mounting it with nfsv3 recently? I can't repeat it = with that >> version (I don't run nfsv4 at all). >>=20 >> Looks like I'm getting senile... The script works correctly with = nfsv3 mounts. This is >> a nfsv4 specific problem. > Ok, I've re-read the Open section of the NFSv4 RFCs. They all have = similar wording. > I can see how it can be interpreted multiple ways. Here's the RFC 5661 = snippet: >=20 > Based on the share_access value (OPEN4_SHARE_ACCESS_READ, > OPEN4_SHARE_ACCESS_WRITE, or OPEN4_SHARE_ACCESS_BOTH), the client > should check that the requester has the proper access rights to > perform the specified operation. This would generally be the = results > of applying the ACL access rules to the file for the current > requester. However, just as with the ACCESS operation, the client > should not attempt to second-guess the server's decisions, as access > rights may change and may be subject to server administrative > controls outside the ACL framework. If the requester's READ or = WRITE > operation is not authorized (depending on the share_access value), > the server MUST return NFS4ERR_ACCESS. >=20 > Now, I had interpreted the last sentence meaning "apply the same check > as Read/Write does". Since the owner of the file is always allowed to = Read/Write > (as explained in a previous post), that is what the FreeBSD NFSv4 = server does. > However, I can see that it could be interpreted as "return = NFS4ERR_ACCESS if > the file modes/ACL would result in an EACCES error". > --> As such, although it could result in an inconsistency between = NFSv3 and > NFSv4, I could see the Linux client depending on that instead of = using > the replied information for the Access operation to decide if a = POSIX > Open should be allowed. >=20 > Anyhow, I've attached a trivial patch that changes the NFSv4 Open = semantics > to conform to what the mode/ACL indicates. > I am not sure that this patch should be applicable to head, but if it = makes the > Linux client happy, I can see it being optionally enabled via a = sysctl. >=20 > Please let me know if you can test the patch and determine if the = Linux NFSv4 > mount works with the patched FreeBSD server. >=20 > rick > _______________________________________________ > freebsd-fs@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" From owner-freebsd-fs@freebsd.org Mon Mar 2 22:28:24 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D92B25C6E4 for ; Mon, 2 Mar 2020 22:28:24 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-qb1can01on0613.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5c::613]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48WZY21YdWz3LmH; Mon, 2 Mar 2020 22:28:21 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DIE7xHOmcIsySDxiAv15dtCu0IDHcGZN0qGWzRCAGehn9HZTDrs03LCqUoSiIaxjtZcq5cDv6a+ugZJp+MwIDmI1iY55S6q8gCeVkAIZzCyzmI23VWpTvNZFc+sVjyiMpikFy4HKd8UkSLBKyMMwbcKXm/miOjV2Z6B28oyQWzSwkr7XwVH8Gfu9EATETxeeY3jOgC1OIhC/glaH7zvGIvrmzpJjmoCJmtpkevxZBOayN0wOiXa9npIxr0bUf7yFsoAHdV0QaFFUaiMMGWr2IRvDom4/W/ef6eloxvPhII7HvMf68cOswcX1vWD/a5zqw7PyOHD0/mchnm7aIW7ySg== 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=uvHN5Z1yndzNfuL3WL9JhuhfllU+1oEZTOKCiBhXw1c=; b=ChkJH82Ttawhhzc+9rPlgQ1n7j4aCa2/iPNpOXKL1Z9Kli2WwliHGE1eE2pmf+Y5yfU0TkFOSNXjBwZMNI7UzJ6H45ZvcTw6bam5JMsqlcSIQ5vdGZp90sJQzg03Z9B8omV9d8MVMAuireNV/CiQIzB9UR8HqB8p9oSX3dqfPlMOg6vRkmGfuyXjJTpVV+WEGHK9yNyo9PP/LS+Ot0eqycO6qgI+nBiSwW9e7vAWREnG2+6nndQOZk7Kj6yPW5pNpn4CbNHUFUuEqaUW2S0QZWx6OMYOE50dee9sUHQcm3oDABGxZYjstmd0kTqCxYGGo2ZfOzgKJ4x2n41yJKc1Mg== 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 YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM (10.255.46.82) by YTBPR01MB3199.CANPRD01.PROD.OUTLOOK.COM (10.255.47.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.18; Mon, 2 Mar 2020 22:28:19 +0000 Received: from YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4]) by YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4%6]) with mapi id 15.20.2772.019; Mon, 2 Mar 2020 22:28:19 +0000 From: Rick Macklem To: alan somers , freebsd-fs CC: Rick Macklem Subject: Re: go build, flock, and NFS_BADSEQID Thread-Topic: go build, flock, and NFS_BADSEQID Thread-Index: AQHV8MkuyE39915G806DwUCLKbUVs6g14d4/ Date: Mon, 2 Mar 2020 22:28:19 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ae15ef04-7374-46be-765d-08d7bef9025a x-ms-traffictypediagnostic: YTBPR01MB3199: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4502; x-forefront-prvs: 033054F29A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(346002)(396003)(376002)(136003)(189003)(199004)(81156014)(186003)(81166006)(91956017)(76116006)(8676002)(7696005)(55016002)(4326008)(4744005)(86362001)(316002)(5660300002)(786003)(26005)(66446008)(52536014)(2906002)(478600001)(64756008)(71200400001)(66556008)(6506007)(53546011)(33656002)(66476007)(9686003)(110136005)(66946007)(8936002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTBPR01MB3199; H:YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: D5etMTPxZ7Zd+CqNIA0CFhPhkiltATOtxDIhaLNM6VWzODuTY13wk4yQfTB3GE5T8MI3JyssqOrgIZciu3k1zFluqpqcGq0SL/ok1ojCyk6nqo4T8VbsiDkqNB+xq+stZke8WT6DWdQ3rI0MqrFZukCNx04QgL8dmlJ4Nt5pBKDqVDouNmAHQOvNSXISgCQrPKbcxuS/9Y9VPk7ghyeVJa6perlIGPJkxWuQLgaC1RbTXuHNu3WZctOA9pYlWN5FkD/tJrDN3M8wxvTdGkDx3WGVe0yIhUnWn5YO/zKX0PzLrRFIHxHmpL4Fd60IcGHGRoWjV9G+Memu4/nBjeSVBAkvDukAgmWRPrpY0Bubyr5+zFQ6NsRhZPzgJwwQy5UMOKHFa2147GTqBZxGlXLVzKWF+apACiDFDyX7ak8EWwOu8mmwwQF9MvtKnT1UwJKa x-ms-exchange-antispam-messagedata: GZpSiQWSqghBSKmeKH/tw610XHVJ1kghwI4/tkXXlUybc9RYSggDBF0HlAfvV1d7+mvKhxqhSPI1gCemjGRNLKK41ZTCxk/RISpHMS1w2oy/NbtdAw5270sF9NsICQ0SiBsDdg2EKte8rD7FgSuwug== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: ae15ef04-7374-46be-765d-08d7bef9025a X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2020 22:28:19.0502 (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: 7w+Yr7FcppdQKsdaJeJ5oBVeA2VJJi3Wz5sAOvPlzbN8unylc9XEF+nAOrlA9/JKGQeFKIHtpKT/ItEd01d8XA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTBPR01MB3199 X-Rspamd-Queue-Id: 48WZY21YdWz3LmH X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 2a01:111:f400:fe5c::613 as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-4.73 / 15.00]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[uoguelph.ca]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; IP_SCORE(-1.43)[ipnet: 2a01:111:f000::/36(-4.00), asn: 8075(-3.10), country: US(-0.05)]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; ARC_ALLOW(-1.00)[i=1] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 22:28:24 -0000 Try "minorversion=3D1". The seqid stuff is NFSv4.0 specific and shouldn't be broken, but NFSv4.1 fixed all this in better ways. rick ________________________________________ From: alan somers Sent: Monday, March 2, 2020 2:31 PM To: freebsd-fs Cc: Rick Macklem Subject: go build, flock, and NFS_BADSEQID I'm trying to build a Go project with /usr/home mounted with NFSv4. The se= rver is running 12.0-RELEASE and the client is running 12.1-RELEASE. But t= he build reliably fails because flock(2) returns EACCES. Dtrace shows the = cause is nfsrpc_advlock returning NFS_BADSEQID. This sounds like an NFS bu= g (server, client, or both? I'm not sure). I'm not an NFS expert. Is thi= s something I should pursue, and would somebody please give me advise on ho= w to debug further? -Alan From owner-freebsd-fs@freebsd.org Mon Mar 2 22:40:47 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8FD9825CA60 for ; Mon, 2 Mar 2020 22:40:47 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com [209.85.210.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48WZqL1626z4Prh; Mon, 2 Mar 2020 22:40:45 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ot1-f41.google.com with SMTP id j5so1007996otn.10; Mon, 02 Mar 2020 14:40:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iMQXw7D/7Gx/s2LJ6V6B+x22DwYKW4WMlHX+G1WNsKg=; b=CzjskxK9g3s+IF2ecI7VQMmVPGT/riIQzVx6b8TESpmtw+mD6QXj8ZVJnRCsy5jPdT 60TjKTRPbv3EIT2/tJYHs6iInPyU/L6vXjdzRLKiE2SMKEWpYuPJ5w5DdMW1IL6zKuR2 2IWl0+5SUMq8ZYfq9IKhXt9DK0WQe9z+8uOVMVxzDqgRXoohhLPdl2DY/F0sVWb9l62b ll1RnkggwutiCUyddIjyfozpy+KsHhOTMl3YQP9PtB9kZsPuM99+56ihRKEdqEQoSjIq NIsIwIlwW9vt8euZsnXIk2fwmhgdjAslyHd+7CTrx+BxToNoas+UPCTgvHxHg/nSUXz2 CyFw== X-Gm-Message-State: ANhLgQ3i4S0pl7S7cQc0SP8Z+zCiFDnyMEnvbFQJ4iHxUGiHAk+qP3uG jNwgcbpKNikXhVJAJwGZ5epNIjG/VoNxjPNkxOc= X-Google-Smtp-Source: ADFU+vuzvv8p5MgJBlKdSzsQPcDmatbgF2+O9ewFBj+gjRVzZAM6RPG+dso4JCQYM8Q3JjXmBshQE4lTFdv89eM6M/4= X-Received: by 2002:a9d:906:: with SMTP id 6mr1035472otp.251.1583188843794; Mon, 02 Mar 2020 14:40:43 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Mon, 2 Mar 2020 15:40:32 -0700 Message-ID: Subject: Re: go build, flock, and NFS_BADSEQID To: Rick Macklem Cc: freebsd-fs , Rick Macklem X-Rspamd-Queue-Id: 48WZqL1626z4Prh X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.210.41 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-3.02 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[freebsd.org]; RWL_MAILSPIKE_GOOD(0.00)[41.210.85.209.rep.mailspike.net : 127.0.0.18]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[41.210.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-1.02)[ip: (-0.43), ipnet: 209.85.128.0/17(-2.99), asn: 15169(-1.66), country: US(-0.05)]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 22:40:47 -0000 Is that a mount option? Because it seems like I can't set it with "mount -u". Do I need to completely unmount first? On Mon, Mar 2, 2020 at 3:28 PM Rick Macklem wrote: > Try "minorversion=1". The seqid stuff is NFSv4.0 specific and shouldn't > be broken, but NFSv4.1 fixed all this in better ways. > > rick > > ________________________________________ > From: alan somers > Sent: Monday, March 2, 2020 2:31 PM > To: freebsd-fs > Cc: Rick Macklem > Subject: go build, flock, and NFS_BADSEQID > > I'm trying to build a Go project with /usr/home mounted with NFSv4. The > server is running 12.0-RELEASE and the client is running 12.1-RELEASE. But > the build reliably fails because flock(2) returns EACCES. Dtrace shows the > cause is nfsrpc_advlock returning NFS_BADSEQID. This sounds like an NFS > bug (server, client, or both? I'm not sure). I'm not an NFS expert. Is > this something I should pursue, and would somebody please give me advise on > how to debug further? > -Alan > From owner-freebsd-fs@freebsd.org Mon Mar 2 22:48:10 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 00ED025CD8C for ; Mon, 2 Mar 2020 22:48:10 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660061.outbound.protection.outlook.com [40.107.66.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48WZzq6CD1z3G2n for ; Mon, 2 Mar 2020 22:48:07 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=knMLfRXgH94Bz+Xy4xdHfVqno8vy+9PSHcJIgOs2XazF2LkWZJeK6cKawqXlRz5z0NHNsb2PZ0tvP96iWFkm8fy0qLaJFcX1ZmUw2Vq4EyKgdpz9faFn7yjPRYwDQJCnetqFUDX0gWL4tmOcNJrPfK8cHSGSaldzeS8TK/suYsn+Ka9MA6qRlsUrieFfnd1NP/ZVySTvQ/3pIjv45VplYpU1gRTljLQVCF2vllGIAO2cZJQXq4bU2q4yEUVXtDRbGzwd3sXkNMv9/x1evyZQxUbgnkQVOG54hNwESmD8JO30de1erTUwz5/HYgTXB2LG2u59wzfICqbbI8cKeq1FeQ== 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=8wyJghDrYk+cN8mnjGMBmx5CpO1WbyiwrkALK9+o7cY=; b=YUhS/BsS09lqQTOcoTTPGBgF2/oYJXQ2Rfar3/qR6B05XWdZBCvlpDWEHSFJCQuap3atWozjJdjDu8FZSaexFp3BoiKbGPVoramjK6htlyWRHXAvPmFn/pKeNlP0K8SAdx++Tw1FrTcz+3LCEmdFf4jRefh08xdiPSasZf8PjLGNFxk6tiS/zYqPtzXny00pCszCtFxwC0N9ClVYdnUPTDNhMSt+YcuHXNRgHM27RrgiMQ1BvOkFlCXLauRN/y/dKwtUHmCsGqEkLYhh9w2VYCbxH3NTAcFn3E/KxbGzNIt4tTN8LwAJPAYllj9Gg79w9Eu8UtbSy+83w2KQgpyvsw== 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 YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM (10.255.46.82) by YTBPR01MB3552.CANPRD01.PROD.OUTLOOK.COM (10.255.45.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.15; Mon, 2 Mar 2020 22:48:06 +0000 Received: from YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4]) by YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4%6]) with mapi id 15.20.2772.019; Mon, 2 Mar 2020 22:48:06 +0000 From: Rick Macklem To: Peter Eriksson , freebsd-fs Subject: Re: Linux could write to read only files on FreeBSD NFS server Thread-Topic: Linux could write to read only files on FreeBSD NFS server Thread-Index: AQHV7ZU6To48aBpgW0mPQBk2wdIrMagvh4MAgAATIQCAAALPjYAACluAgADNX9KAAFvlAIADoSCIgACDYoCAAPdIjA== Date: Mon, 2 Mar 2020 22:48:06 +0000 Message-ID: References: <707243CD-C67E-4DAD-AC5A-68EC11CFFDFD@lysator.liu.se> <6EC06026-DA28-4CAC-8D56-5C7856D4625E@lysator.liu.se> <202002281113.01SBDlsl017697@higson.cam.lispworks.com> , <8247CFFC-C324-40BB-B0DD-B469A3B35851@lysator.liu.se> In-Reply-To: <8247CFFC-C324-40BB-B0DD-B469A3B35851@lysator.liu.se> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a3d5cbd4-8637-495a-3c38-08d7befbc5e2 x-ms-traffictypediagnostic: YTBPR01MB3552: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 033054F29A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(136003)(346002)(39860400002)(376002)(366004)(199004)(189003)(9686003)(66556008)(91956017)(66446008)(64756008)(76116006)(66476007)(30864003)(66946007)(53546011)(55016002)(6506007)(26005)(186003)(33656002)(7696005)(71200400001)(66574012)(296002)(316002)(86362001)(5660300002)(110136005)(52536014)(478600001)(81166006)(81156014)(8676002)(8936002)(966005)(786003)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTBPR01MB3552; H:YTBPR01MB3374.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: BCL:0; x-microsoft-antispam-message-info: 2FM4LOXMX67DdpPBu4q0s/Er5G0hVaBV9YDnboqDLXtaGdi7gJ5B139PqVUW5t3bCtr/nwnxYf5xHE+Ye9TDjfjefTfJx1RI9m/RvQCPjDbtF36xXsZ95hUAeBkdE6RRX3MgiR8rCiK2Ambf0H6GfZSHbEyEkV3LzC9i/e3WfmyTNQwRLozAdqYKSj+b5G8qOsuuR5qOvqOL3YusEvuhfDUgejPw7bQIu1+yiuS8RND9PjfEOfJiGKOSVwmdy5zu4SgtHHdT8yYHkZZyEcdWy3AL+pFZRt2/XUYY0v9F547KPaUN/5xGv+FarOO2XiVrl4r2ptf2F/hOhl3Q2jun3Bkcds/iAJ44+YAkdYqAgfeykRJuuTOW/wXH8eR7lFnPPJzYQVtsryFMjdvuTdsPbG3On8pCND38w95+kP1szCwIBDjH7ij6kPTvBd8CQGBBCgbvOM/VGDmTj9vfxL+vjiLvYRjpy7qLTXqvo6QBPwVInLOGs/Osm65eBGPJnLTSbbYaGsqGQOAym+YKeZSTXQ== x-ms-exchange-antispam-messagedata: wRP0483Hp+O8OHzHPBgA9/BqJ0znO7MTWmB06pczVdDoPIslCZqOuvLQfimsUP3kRDRMf9YUAelktjDPM3hdprf5rjpG66S7StcktwBIwnpfjDvoSnfxnqnjHD3iF5V+pv/Ohdsn04R84U4makOWVw== 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: a3d5cbd4-8637-495a-3c38-08d7befbc5e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2020 22:48:06.1661 (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: LosikXH6PytWxwsv8V/afOk3CnDzu1weT69/QUKb4llwMJrzt8cziIu68i6pZrA6ZQtu+GIO735W6LrEuKV9aA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTBPR01MB3552 X-Rspamd-Queue-Id: 48WZzq6CD1z3G2n X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 40.107.66.61 as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-4.69 / 15.00]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[uoguelph.ca]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[61.66.107.40.list.dnswl.org : 127.0.3.0]; IP_SCORE(-1.40)[ipnet: 40.64.0.0/10(-3.84), asn: 8075(-3.10), country: US(-0.05)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:8075, ipnet:40.64.0.0/10, country:US]; ARC_ALLOW(-1.00)[i=1] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 22:48:10 -0000 Peter Eriksson wrote:=0A= >I=92ve tested a Linux client vs FreeBSD, Linux & Solaris (OmniOS) NFS serv= ers and it seems both >Linux & Solaris does give a NFS4ERR_ACCESS (13) erro= r on the OPEN NFS procedure. >Tcpdump outputs for reference:=0A= Interesting. When I use the patch I posted a very old test suite I still us= e (from=0A= connectathon) breaks because it creates files with mode 444 and then tries = to write them.=0A= (This test suite was used for a long time for NFSv3. Maybe they patched it = for NFSv4=0A= testing at some point or just decided the test suite was broken for NFSv4?= )=0A= =0A= There is also the case where delegations are enabled and the Open doesn't e= ven happen.=0A= =0A= Anyhow, if others test the patch and like it, I can commit it controlled vi= a a sysctl.=0A= I'd just have to decide whether it should be enabled by default or not.=0A= =0A= rick=0A= =0A= Linux Client, Linux Server:=0A= =0A= > Frame 14: 394 bytes on wire (3152 bits), 394 bytes captured (3152 bits)= =0A= > Ethernet II, Src: Cisco_5f:47:00 (44:d3:ca:5f:47:00), Dst: HewlettP_0a:d4= :74 (98:4b:e1:0a:d4:74)=0A= > Internet Protocol Version 4, Src: 10.245.33.50, Dst: 130.236.146.121=0A= > Transmission Control Protocol, Src Port: 1007, Dst Port: 2049, Seq: 1773,= Ack: 1597, Len: 328=0A= > Remote Procedure Call, Type:Call XID:0xa1be47fe=0A= > Network File System, Ops(5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR=0A= > [Program Version: 4]=0A= > [V4 Procedure: COMPOUND (1)]=0A= > Tag: =0A= > minorversion: 1=0A= > Operations (count: 5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR=0A= > Opcode: SEQUENCE (53)=0A= > sessionid: 526f545ecc2d22bc0100000000000000=0A= > seqid: 0x00000237=0A= > slot id: 0=0A= > high slot id: 0=0A= > cache this?: Yes=0A= > Opcode: PUTFH (22)=0A= > FileHandle=0A= > Opcode: OPEN (18)=0A= > seqid: 0x00000000=0A= > share_access: OPEN4_SHARE_ACCESS_READ (1)=0A= > share_deny: OPEN4_SHARE_DENY_NONE (0)=0A= > clientid: 0x526f545ecc2d22bc=0A= > owner: =0A= > Open Type: OPEN4_NOCREATE (0)=0A= > Claim Type: CLAIM_FH (4)=0A= > Opcode: ACCESS (3), [Check: RD MD XT XE]=0A= > Check access: 0x2d=0A= > .... ...1 =3D 0x001 READ: allowed?=0A= > .... .1.. =3D 0x004 MODIFY: allowed?=0A= > .... 1... =3D 0x008 EXTEND: allowed?=0A= > ..1. .... =3D 0x020 EXECUTE: allowed?=0A= > Opcode: GETATTR (9)=0A= > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, FileId)= =0A= > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, Owner_Group,= RawDev, Space_Used, Time_Access, Time_Metadata, Time_Modify, Mounted_on_Fi= leId)=0A= > [Main Opcode: OPEN (18)]=0A= =0A= > Frame 15: 166 bytes on wire (1328 bits), 166 bytes captured (1328 bits)= =0A= > Ethernet II, Src: HewlettP_0a:d4:74 (98:4b:e1:0a:d4:74), Dst: Cisco_5f:47= :00 (44:d3:ca:5f:47:00)=0A= > Internet Protocol Version 4, Src: 130.236.146.121, Dst: 10.245.33.50=0A= > Transmission Control Protocol, Src Port: 2049, Dst Port: 1007, Seq: 1597,= Ack: 2101, Len: 100=0A= > Remote Procedure Call, Type:Reply XID:0xa1be47fe=0A= > Network File System, Ops(3): SEQUENCE PUTFH OPEN(NFS4ERR_ACCESS)=0A= > [Program Version: 4]=0A= > [V4 Procedure: COMPOUND (1)]=0A= > Status: NFS4ERR_ACCESS (13)=0A= > Tag: =0A= > Operations (count: 3)=0A= > Opcode: SEQUENCE (53)=0A= > Status: NFS4_OK (0)=0A= > sessionid: 526f545ecc2d22bc0100000000000000=0A= > seqid: 0x00000237=0A= > slot id: 0=0A= > high slot id: 9=0A= > target high slot id: 9=0A= > status flags: 0x00000000=0A= > Opcode: PUTFH (22)=0A= > Status: NFS4_OK (0)=0A= > Opcode: OPEN (18)=0A= > Status: NFS4ERR_ACCESS (13)=0A= > [Main Opcode: OPEN (18)]=0A= =0A= =0A= =0A= =0A= Linux Client, Solaris(OmniOS) Server:=0A= =0A= > Frame 45: 334 bytes on wire (2672 bits), 334 bytes captured (2672 bits)= =0A= > Ethernet II, Src: Dell_e5:42:64 (d4:be:d9:e5:42:64), Dst: Elitegro_63:aa:= 39 (c0:3f:d5:63:aa:39)=0A= > Internet Protocol Version 6, Src: 2001:6b0:17:f002:d6be:d9ff:fee5:4264, D= st: 2001:6b0:17:f002:c23f:d5ff:fe63:aa39=0A= > Transmission Control Protocol, Src Port: 989, Dst Port: 2049, Seq: 1877, = Ack: 1877, Len: 248=0A= > Remote Procedure Call, Type:Call XID:0x475ab0a2=0A= > Network File System, Ops(5): PUTFH, OPEN, GETFH, ACCESS, GETATTR=0A= > [Program Version: 4]=0A= > [V4 Procedure: COMPOUND (1)]=0A= > Tag: =0A= > minorversion: 0=0A= > Operations (count: 5): PUTFH, OPEN, GETFH, ACCESS, GETATTR=0A= > Opcode: PUTFH (22)=0A= > FileHandle=0A= > Opcode: OPEN (18)=0A= > seqid: 0x00000003=0A= > share_access: OPEN4_SHARE_ACCESS_WRITE (2)=0A= > share_deny: OPEN4_SHARE_DENY_NONE (0)=0A= > clientid: 0x000000655e5980e1=0A= > owner: =0A= > Open Type: OPEN4_NOCREATE (0)=0A= > Claim Type: CLAIM_NULL (0)=0A= > Opcode: GETFH (10)=0A= > Opcode: ACCESS (3), [Check: RD MD XT XE]=0A= > Check access: 0x2d=0A= > .... ...1 =3D 0x001 READ: allowed?=0A= > .... .1.. =3D 0x004 MODIFY: allowed?=0A= > .... 1... =3D 0x008 EXTEND: allowed?=0A= > ..1. .... =3D 0x020 EXECUTE: allowed?=0A= > Opcode: GETATTR (9)=0A= > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, FileId)= =0A= > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, Owner_Group,= RawDev, Space_Used, Time_Access, Time_Metadata, Time_Modify, Mounted_on_Fi= leId)=0A= > [Main Opcode: OPEN (18)]=0A= =0A= > Frame 46: 170 bytes on wire (1360 bits), 170 bytes captured (1360 bits)= =0A= > Ethernet II, Src: Elitegro_63:aa:39 (c0:3f:d5:63:aa:39), Dst: Dell_e5:42:= 64 (d4:be:d9:e5:42:64)=0A= > Internet Protocol Version 6, Src: 2001:6b0:17:f002:c23f:d5ff:fe63:aa39, D= st: 2001:6b0:17:f002:d6be:d9ff:fee5:4264=0A= > Transmission Control Protocol, Src Port: 2049, Dst Port: 989, Seq: 1877, = Ack: 2125, Len: 84=0A= > Remote Procedure Call, Type:Reply XID:0x475ab0a2=0A= > Network File System, Ops(2): PUTFH OPEN(NFS4ERR_ACCESS)=0A= > [Program Version: 4]=0A= > [V4 Procedure: COMPOUND (1)]=0A= > Status: NFS4ERR_ACCESS (13)=0A= > Tag: =0A= > Operations (count: 2)=0A= > Opcode: PUTFH (22)=0A= > Status: NFS4_OK (0)=0A= > Opcode: OPEN (18)=0A= > Status: NFS4ERR_ACCESS (13)=0A= > [Main Opcode: OPEN (18)]=0A= =0A= =0A= =0A= =0A= Linux Client, FreeBSD Server:=0A= =0A= > Frame 41: 362 bytes on wire (2896 bits), 362 bytes captured (2896 bits)= =0A= > Ethernet II, Src: Dell_e5:42:64 (d4:be:d9:e5:42:64), Dst: Cisco_6b:86:bf = (64:9e:f3:6b:86:bf)=0A= > Internet Protocol Version 6, Src: 2001:6b0:17:f002:d6be:d9ff:fee5:4264, D= st: 2001:6b0:17:2400::8:40=0A= > Transmission Control Protocol, Src Port: 802, Dst Port: 2049, Seq: 1913, = Ack: 2437, Len: 276=0A= > Remote Procedure Call, Type:Call XID:0xf62930df=0A= > Network File System, Ops(5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR=0A= > [Program Version: 4]=0A= > [V4 Procedure: COMPOUND (1)]=0A= > Tag: =0A= > minorversion: 1=0A= > Operations (count: 5): SEQUENCE, PUTFH, OPEN, ACCESS, GETATTR=0A= > Opcode: SEQUENCE (53)=0A= > sessionid: 183000000000000059a4585e18300000=0A= > seqid: 0x00000022=0A= > slot id: 0=0A= > high slot id: 0=0A= > cache this?: Yes=0A= > Opcode: PUTFH (22)=0A= > FileHandle=0A= > Opcode: OPEN (18)=0A= > seqid: 0x00000000=0A= > share_access: OPEN4_SHARE_ACCESS_WRITE (2)=0A= > share_deny: OPEN4_SHARE_DENY_NONE (0)=0A= > clientid: 0x59a4585e18300000=0A= > owner: =0A= > Open Type: OPEN4_NOCREATE (0)=0A= > Claim Type: CLAIM_FH (4)=0A= > Opcode: ACCESS (3), [Check: RD MD XT XE]=0A= > Check access: 0x2d=0A= > .... ...1 =3D 0x001 READ: allowed?=0A= > .... .1.. =3D 0x004 MODIFY: allowed?=0A= > .... 1... =3D 0x008 EXTEND: allowed?=0A= > ..1. .... =3D 0x020 EXECUTE: allowed?=0A= > Opcode: GETATTR (9)=0A= > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, FileId)= =0A= > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, Owner_Group,= RawDev, Space_Used, Time_Access, Time_Metadata, Time_Modify, Mounted_on_Fi= leId)=0A= > [Main Opcode: OPEN (18)]=0A= =0A= > Frame 42: 462 bytes on wire (3696 bits), 462 bytes captured (3696 bits)= =0A= > Ethernet II, Src: Cisco_6b:86:bf (64:9e:f3:6b:86:bf), Dst: Dell_e5:42:64 = (d4:be:d9:e5:42:64)=0A= > Internet Protocol Version 6, Src: 2001:6b0:17:2400::8:40, Dst: 2001:6b0:1= 7:f002:d6be:d9ff:fee5:4264=0A= > Transmission Control Protocol, Src Port: 2049, Dst Port: 802, Seq: 2437, = Ack: 2189, Len: 376=0A= > Remote Procedure Call, Type:Reply XID:0xf62930df=0A= > Network File System, Ops(5): SEQUENCE PUTFH OPEN ACCESS GETATTR=0A= > [Program Version: 4]=0A= > [V4 Procedure: COMPOUND (1)]=0A= > Status: NFS4_OK (0)=0A= > Tag: =0A= > Operations (count: 5)=0A= > Opcode: SEQUENCE (53)=0A= > Status: NFS4_OK (0)=0A= > sessionid: 183000000000000059a4585e18300000=0A= > seqid: 0x00000022=0A= > slot id: 0=0A= > high slot id: 63=0A= > target high slot id: 63=0A= > status flags: 0x00000000=0A= > Opcode: PUTFH (22)=0A= > Status: NFS4_OK (0)=0A= > Opcode: OPEN (18)=0A= > Status: NFS4_OK (0)=0A= > StateID=0A= > change_info=0A= > result flags: 0x00000004, locktype posix=0A= > Delegation Type: OPEN_DELEGATE_NONE (0)=0A= > Opcode: ACCESS (3), [Access Denied: RD MD XT XE]=0A= > Status: NFS4_OK (0)=0A= > Supported types (of requested): 0x2d=0A= > Access rights (of requested): 0x00=0A= > .... ...0 =3D 0x001 READ: *Access Denied*=0A= > .... .0.. =3D 0x004 MODIFY: *Access Denied*=0A= > .... 0... =3D 0x008 EXTEND: *Access Denied*=0A= > ..0. .... =3D 0x020 EXECUTE: *Access Denied*=0A= > Opcode: GETATTR (9)=0A= > Status: NFS4_OK (0)=0A= > Attr mask[0]: 0x0010011a (Type, Change, Size, FSID, FileId)= =0A= > Attr mask[1]: 0x00b0a23a (Mode, NumLinks, Owner, Owner_Group,= RawDev, Space_Used, Time_Access, Time_Metadata, Time_Modify, Mounted_on_Fi= leId)=0A= > [Main Opcode: OPEN (18)]=0A= =0A= =0A= =0A= - Peter=0A= =0A= =0A= > On 2 Mar 2020, at 01:19, Rick Macklem wrote:=0A= >=0A= > Luoqi Chen wrote:=0A= >> On Fri, Feb 28, 2020 at 3:13 AM Martin Simmons >> wrote:=0A= >>>>>>> On Thu, 27 Feb 2020 14:58:55 -0800, Luoqi Chen said:=0A= >>>=0A= >>> One more piece of information that might help: this behavior started=0A= >>> somewhere between centos 5 and 6, kernel 2.6.18 and 2.6.32, i.e., the s= ame=0A= >>> script would fail on 2.6.18. Timing wise I believe it coincided with th= e=0A= >>> introduction of nfsv4.=0A= >>=0A= >> Have you tried mounting it with nfsv3 recently? I can't repeat it with = that=0A= >> version (I don't run nfsv4 at all).=0A= >>=0A= >> Looks like I'm getting senile... The script works correctly with nfsv3 m= ounts. This is=0A= >> a nfsv4 specific problem.=0A= > Ok, I've re-read the Open section of the NFSv4 RFCs. They all have simila= r wording.=0A= > I can see how it can be interpreted multiple ways. Here's the RFC 5661 sn= ippet:=0A= >=0A= > Based on the share_access value (OPEN4_SHARE_ACCESS_READ,=0A= > OPEN4_SHARE_ACCESS_WRITE, or OPEN4_SHARE_ACCESS_BOTH), the client=0A= > should check that the requester has the proper access rights to=0A= > perform the specified operation. This would generally be the results= =0A= > of applying the ACL access rules to the file for the current=0A= > requester. However, just as with the ACCESS operation, the client=0A= > should not attempt to second-guess the server's decisions, as access=0A= > rights may change and may be subject to server administrative=0A= > controls outside the ACL framework. If the requester's READ or WRITE= =0A= > operation is not authorized (depending on the share_access value),=0A= > the server MUST return NFS4ERR_ACCESS.=0A= >=0A= > Now, I had interpreted the last sentence meaning "apply the same check=0A= > as Read/Write does". Since the owner of the file is always allowed to Rea= d/Write=0A= > (as explained in a previous post), that is what the FreeBSD NFSv4 server = does.=0A= > However, I can see that it could be interpreted as "return NFS4ERR_ACCESS= if=0A= > the file modes/ACL would result in an EACCES error".=0A= > --> As such, although it could result in an inconsistency between NFSv3 a= nd=0A= > NFSv4, I could see the Linux client depending on that instead of us= ing=0A= > the replied information for the Access operation to decide if a POS= IX=0A= > Open should be allowed.=0A= >=0A= > Anyhow, I've attached a trivial patch that changes the NFSv4 Open semanti= cs=0A= > to conform to what the mode/ACL indicates.=0A= > I am not sure that this patch should be applicable to head, but if it mak= es the=0A= > Linux client happy, I can see it being optionally enabled via a sysctl.= =0A= >=0A= > Please let me know if you can test the patch and determine if the Linux N= FSv4=0A= > mount works with the patched FreeBSD server.=0A= >=0A= > rick=0A= > _______________________________________________=0A= > freebsd-fs@freebsd.org mailing list=0A= > https://lists.freebsd.org/mailman/listinfo/freebsd-fs=0A= > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"=0A= =0A= _______________________________________________=0A= freebsd-fs@freebsd.org mailing list=0A= https://lists.freebsd.org/mailman/listinfo/freebsd-fs=0A= To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"=0A= From owner-freebsd-fs@freebsd.org Mon Mar 2 22:51:01 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CB9CB25CE42 for ; Mon, 2 Mar 2020 22:51:01 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660086.outbound.protection.outlook.com [40.107.66.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Wb391mB6z3Mnn; Mon, 2 Mar 2020 22:51:00 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lrk9WdTlub5b+rXkeNSQsT+0aFVlfioilpTy7rowhx5YtTmV8gYm9EgsuAkaXv5DGPZcUmUU+MsHb63YYbjPQB9m5vG1IdSeo8eqhH/Wtv37BcoYXxD4416USHTYZ0foc8wj1VDrI7uWpZNnjzlRP88uX0tN6RuY3Lr7yLlP4xVcf4AfiOp1g/I4jiayq1WdCCVB2aPpTyoytWszc6KWQ/CIKQFMuh/uBCToo5gMpJZEqkotQXxpl+X56qoCAnDitHDLnx0d2n6sCqzScvkm+fHPdYCoQQvSPTgixEB2Pez4MA7cRwqUNth8b80hUZJaO8KzDCrixbvu2WYv7/qfmw== 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=769Ek0FX+QkUe2NN2h25JECigbAbgCJusccMfHc4Di4=; b=OGvXQBV6T1crkO3jGO2PfZCwC3f/R8Aeuo9m2bx5yhMmvq6sYwbKKhthbokSejuYYKrk62bUmeQjy/iePXxc0ReIxPx1eTBe101EzrLRkUrq45rg3PerYSv3g07TbTDLbpOVcN6Azdl47XuqHpBUIH7rbGUyy37rkGSB3Qhv2UY1t3qVSWb045/3ZMk2/3mNAvYHoqZHZzxBUNFpfoF1OTi5v5Y7IxiqlKvb4dyJ1jLDiMtgznaYnP0EFxFfUqh6Kb47DhMfjOi5AQB78An2X/Nb6l+VIvk5qvsASw1QWVDPok9lJXQkzctCbMuq8Fo4PbUkWNL5YG4wNSLU5bTpBg== 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 YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM (10.255.46.82) by YTBPR01MB2431.CANPRD01.PROD.OUTLOOK.COM (10.255.47.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.15; Mon, 2 Mar 2020 22:50:59 +0000 Received: from YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4]) by YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4%6]) with mapi id 15.20.2772.019; Mon, 2 Mar 2020 22:50:59 +0000 From: Rick Macklem To: Alan Somers CC: freebsd-fs , Rick Macklem Subject: Re: go build, flock, and NFS_BADSEQID Thread-Topic: go build, flock, and NFS_BADSEQID Thread-Index: AQHV8MkuyE39915G806DwUCLKbUVs6g14d4/gAADuQCAAAKSQg== Date: Mon, 2 Mar 2020 22:50:59 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 960a6a09-07a1-4615-dd80-08d7befc2d4e x-ms-traffictypediagnostic: YTBPR01MB2431: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2399; x-forefront-prvs: 033054F29A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(366004)(376002)(39860400002)(396003)(136003)(199004)(189003)(66946007)(186003)(26005)(8676002)(66476007)(81156014)(786003)(316002)(91956017)(66446008)(66556008)(64756008)(54906003)(81166006)(8936002)(2906002)(76116006)(6916009)(33656002)(55016002)(9686003)(52536014)(478600001)(450100002)(53546011)(71200400001)(6506007)(86362001)(7696005)(4326008)(5660300002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTBPR01MB2431; H:YTBPR01MB3374.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: BCL:0; x-microsoft-antispam-message-info: Lo5tPXahs9YCbjpAvm+O9VmcFkML4twYGQ2NkD77KEvCZCkKIC7CteGxVtdQmFYVkts96tjKv8JYpTz2IQIxnlHgktbahNz3jHdVKL1Amd0RdJ1M+866N7HC26ZhgrLNW1KZHTO1fKdFV/I5ThrKdcEeuZtI+S2ZN+YDyh0Ux9OSx3WyihmkHVj/0FLEsvI7egOmh//LL51Poz+MzQ/Lgxr5w4uj9nxCEl/iITZnc7TTVxV7uONBtvwEMHbEC36hWq02U5PkU0+Ic+oxkLQWOkoJPGuZgii4cab0pjpNFiDnYFM+Qf5pbBk69F/szrRa+qPH6R9DoFJ3YAztgL8JO8qmv+ZTqZUe9TYQv60ccVFHGL3WHY96OoZeASgo6h/+GQbqIQ+xKpY5ixUSaAAfLpQ0YmMbq+4/LUD5JVQX+QOmLGyU5gphr0TkqZcJ44AG x-ms-exchange-antispam-messagedata: rsO9uO6pVoQQ4myXzY2OgxRq9tv0PUKDDyFuD8DFqngZPyUbaSaKGfvl9+CFMGCN8uvfKE+7GEEmZUJ7pUZKoDN3YQXPsza64SZJtsQ7RGswEBbIuPABjlfnPaP9XtdPvhSXTH0OfLicIyTB/mKczg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: 960a6a09-07a1-4615-dd80-08d7befc2d4e X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2020 22:50:59.6754 (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: Fh0ntCFMP57KTSDLKUEOVzCLUh2b5TMsr4mG9VP0GXgVPVsngn1ZtIXdFmGgQa+s3IENLCz0vqPs0QngKQiT2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTBPR01MB2431 X-Rspamd-Queue-Id: 48Wb391mB6z3Mnn X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.88 / 15.00]; NEURAL_HAM_MEDIUM(-0.88)[-0.884,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 22:51:01 -0000 Oh and avoid "soft,intr" options on the mount. Those are pretty much guaranteed to result in a BADSEQID sooner or later. rick ps: It's in the Bugs section of "man mount_nfs", but nobody reads that far;= -) ________________________________________ From: Alan Somers Sent: Monday, March 2, 2020 5:40 PM To: Rick Macklem Cc: freebsd-fs; Rick Macklem Subject: Re: go build, flock, and NFS_BADSEQID Is that a mount option? Because it seems like I can't set it with "mount -= u". Do I need to completely unmount first? On Mon, Mar 2, 2020 at 3:28 PM Rick Macklem > wrote: Try "minorversion=3D1". The seqid stuff is NFSv4.0 specific and shouldn't be broken, but NFSv4.1 fixed all this in better ways. rick ________________________________________ From: alan somers > Sent: Monday, March 2, 2020 2:31 PM To: freebsd-fs Cc: Rick Macklem Subject: go build, flock, and NFS_BADSEQID I'm trying to build a Go project with /usr/home mounted with NFSv4. The se= rver is running 12.0-RELEASE and the client is running 12.1-RELEASE. But t= he build reliably fails because flock(2) returns EACCES. Dtrace shows the = cause is nfsrpc_advlock returning NFS_BADSEQID. This sounds like an NFS bu= g (server, client, or both? I'm not sure). I'm not an NFS expert. Is thi= s something I should pursue, and would somebody please give me advise on ho= w to debug further? -Alan From owner-freebsd-fs@freebsd.org Tue Mar 3 00:04:43 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 88E3825EDF2 for ; Tue, 3 Mar 2020 00:04:43 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48WchB0fP4z425f for ; Tue, 3 Mar 2020 00:04:42 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-oi1-f179.google.com with SMTP id i1so1148646oie.8 for ; Mon, 02 Mar 2020 16:04:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=UNIQCr5JnHNLikJvozALvlMkhVP/8uUDuvVJ/OFlb7c=; b=WCnloCvIDv3oA8yA+aqT1sT2Pkzrc+hRJggr2XQ9Wo5sQEvrbnYbYnjcj7tjehpyKq C8wdECMfmcIW5rNVhsDeZZJyVCyjm8GsM5MSOgfy6BVCOugEHP4yrpGyr/2lGPvUtqAG RWpvH1kaLGcfkGu1NHBueTXZz+Wdmh9gM5wtJaRfut9r9TV+C7TLVGUtBwhZQYdiDm2c ABsohQYvxNuRLoqPlkHSDZ0QxU0KfJEA1dudp9d+CvsjFo8di5bxeJlTK4yLuIRkTjJV sVg7MOIVnVN+ribuYlEVmFQGYvD4QOkeECJ/SXD4B16ihl0PXFa/ZwcHMnt1hnz1XuyG NEJQ== X-Gm-Message-State: ANhLgQ1oBjlwiLE3x04do7q3aQXpPPoLwbIgw9I4mNk6uqI9ox7EMdg9 FyDtVEwX4EspOjAhEBNnmwzVSPqDWA29tUK8ifc= X-Google-Smtp-Source: ADFU+vsw5wcIJOturR95Gel1Zrvr4eSCxVFCJ06eF14sUzvNbDAcEm0bmljqpqGeRQJ/KRl74iyqswCUHR0y+UNvNB8= X-Received: by 2002:a05:6808:a8e:: with SMTP id q14mr640755oij.173.1583193880160; Mon, 02 Mar 2020 16:04:40 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Mon, 2 Mar 2020 17:04:29 -0700 Message-ID: Subject: Re: go build, flock, and NFS_BADSEQID To: Rick Macklem , freebsd-fs X-Rspamd-Queue-Id: 48WchB0fP4z425f X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-2.99 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MIME_TRACE(0.00)[0:+,1:+,2:~]; TO_DN_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[179.167.85.209.list.dnswl.org : 127.0.5.0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(-0.99)[ip: (-0.26), ipnet: 209.85.128.0/17(-2.99), asn: 15169(-1.66), country: US(-0.05)]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[179.167.85.209.rep.mailspike.net : 127.0.0.17]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Mar 2020 00:04:43 -0000 Yep. Remounting with minorversion=1 fixed the problem. Thanks!. On Mon, Mar 2, 2020 at 3:51 PM Rick Macklem wrote: > Oh and avoid "soft,intr" options on the mount. Those are pretty much > guaranteed to result in a BADSEQID sooner or later. > > rick > ps: It's in the Bugs section of "man mount_nfs", but nobody reads that > far;-) > > ________________________________________ > From: Alan Somers > Sent: Monday, March 2, 2020 5:40 PM > To: Rick Macklem > Cc: freebsd-fs; Rick Macklem > Subject: Re: go build, flock, and NFS_BADSEQID > > Is that a mount option? Because it seems like I can't set it with "mount > -u". Do I need to completely unmount first? > > On Mon, Mar 2, 2020 at 3:28 PM Rick Macklem rmacklem@uoguelph.ca>> wrote: > Try "minorversion=1". The seqid stuff is NFSv4.0 specific and shouldn't > be broken, but NFSv4.1 fixed all this in better ways. > > rick > > ________________________________________ > From: alan somers > > Sent: Monday, March 2, 2020 2:31 PM > To: freebsd-fs > Cc: Rick Macklem > Subject: go build, flock, and NFS_BADSEQID > > I'm trying to build a Go project with /usr/home mounted with NFSv4. The > server is running 12.0-RELEASE and the client is running 12.1-RELEASE. But > the build reliably fails because flock(2) returns EACCES. Dtrace shows the > cause is nfsrpc_advlock returning NFS_BADSEQID. This sounds like an NFS > bug (server, client, or both? I'm not sure). I'm not an NFS expert. Is > this something I should pursue, and would somebody please give me advise on > how to debug further? > -Alan > From owner-freebsd-fs@freebsd.org Tue Mar 3 00:16:33 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D72225F7C7 for ; Tue, 3 Mar 2020 00:16:33 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660059.outbound.protection.outlook.com [40.107.66.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Wcxr0vZ7z49Z5; Tue, 3 Mar 2020 00:16:31 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h/chOv5bYdOIq8g/JhiACg2tRXFQzJFYIDGuz13lspDxQepDymgEc4QEzyJNzcPj0vclOlkLZHXiN1UjPGedT+27/1U/1VTvz8jRsRg/rl+6tzojMG6cFuRTqfhz7RL8+Ns4tnd7PYt7TRhK3Oo3dHZEYrsxSTk6d7hVfr9+umAL3QPV2I3agodMChhJS1ovbjPnjvoY9e4VC4IT14wUznmHp1uJHGhtu4L1fPe7nmHJJvASK1QuyeKHiOxinyLRxvw7HGPxORhlULCCjp+Oex9R39k6b42CHcI52oi30rPk4Iga6sk5ju0f1AdY1x2bcV0uFxmTsZAnBX0L1pC8fQ== 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=0sNMsKpfl7yZFLUYo/qNar0M3VEPekbXJLuBb26yUSk=; b=BEfOTQhkw/UutOJ1VJi2HSu1scowS5PbVeOleiVVcfUVE79VHoVV9s51VMYtN7W4RnluBEIEf+z3hroYjoGu/2DFTb4CmG6u1pTc+1RVMgVVf/VtC+CPop8o/bkqPuJOyni/ebpBfPYv919C8fKz3ueEugbojuOesMKh31EDhEmk5RAz4dnEAnTLK5l3OU5Gqcpdy7yRkspji8/YV+rpKe5DePYrRuoqUP2zwajugeoph7GIU0h7yHxh6WUWG3tBzQnIwv83+STvPIK93EZa+CSC3ZnVy1XAJjFR2fbYwntjNhBa/DcpCWU5KhmASNv/k2fWfKVKKnim54Vf0xKsJw== 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 YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM (10.255.46.82) by YTBPR01MB2383.CANPRD01.PROD.OUTLOOK.COM (10.255.12.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.16; Tue, 3 Mar 2020 00:16:28 +0000 Received: from YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4]) by YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM ([fe80::a50d:6237:4074:f9c4%6]) with mapi id 15.20.2772.019; Tue, 3 Mar 2020 00:16:28 +0000 From: Rick Macklem To: Alan Somers , freebsd-fs Subject: Re: go build, flock, and NFS_BADSEQID Thread-Topic: go build, flock, and NFS_BADSEQID Thread-Index: AQHV8MkuyE39915G806DwUCLKbUVs6g14d4/gAADuQCAAAKSQoAAFOKAgAACXxg= Date: Tue, 3 Mar 2020 00:16:28 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3782262d-28a3-4ff1-30ba-08d7bf081e66 x-ms-traffictypediagnostic: YTBPR01MB2383: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-forefront-prvs: 03319F6FEF x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(39860400002)(396003)(376002)(366004)(189003)(199004)(81156014)(71200400001)(110136005)(8936002)(81166006)(2906002)(53546011)(6506007)(8676002)(478600001)(7696005)(55016002)(66556008)(66946007)(64756008)(66446008)(33656002)(186003)(9686003)(66476007)(86362001)(786003)(450100002)(52536014)(316002)(76116006)(5660300002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTBPR01MB2383; H:YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: I7rT2m1l9vEmaSicZXzcS+NHeS6jIr06p13wI3pLtTDRi1xZRBF5eK/xjPcKkH6+hwkaqxxvWguQHTJt36NumWeEkyNTRnjYGQkSl/m13AYupXH7Ae50yrhSva8rqxDPld1VnGggkfZWyM6ETm0Xv8mfjAXWTOTuTNVhep10xORRfqvd4DvaKg0RD9g1ko/Jf+jh0o8oX1L3FJs+cn/oG7KS/X1iOj7QD6hhryGEdyGt3R4qTWMul8i4RD+VwvVuolmBIqL9taUsnbphBuMOkE/x6IrMjVGQ5arw2M4DYl34NLcB0Ai+EutVj2lxKUntCgDUqNmmg1aHTIPmmZBXosCIXJHiBXADCu9As7pW3pPfWySxlAJorddc4MCRyk4qRd4/xUYzOwfztCm+OjMVDhkfvJTTNU4GHj4XmHQyTAkuXDPSi28EGlcCV51tC1ZN x-ms-exchange-antispam-messagedata: fsJ9qvbN3iNUktXAwZjOLiYiuTKcCyoAj2xvT8u4igGTwN14h0fxU4+TLREt5XSOVAnjRPF2AFgf+C5+WvMXTbie+xxv2Yuf9ilJf2xpE+A4bQ1lNGNPXfU3eIJ5FWKTvD8IJJVY9n13rQofWJ/y0W+L8Vt8nrvjL3RDP5577uOWnFy5Qw+kVZJKlI2OGjGpwIOgDCz9WUyVexPudTEWYA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: 3782262d-28a3-4ff1-30ba-08d7bf081e66 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2020 00:16:28.5162 (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: Du0b1NcNFwnQoQ6j0YwtRHBl9RWXF4JUrNZ6Vq54OYUyK7O5KbpXF+TiXMEeocIs4Qtj+09siWsJnPRozvtVBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTBPR01MB2383 X-Rspamd-Queue-Id: 48Wcxr0vZ7z49Z5 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.87 / 15.00]; NEURAL_HAM_MEDIUM(-0.87)[-0.868,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Mar 2020 00:16:33 -0000 Good to hear. For some reason, the IETF NFSv4 working group does a lot of work trying to get NFSv4.0 right. >From my point of view, it is just a typical .0 release that was fixed by th= e .1 release. Linux always uses the newest version supported by the server by default. Maybe I could get away with doing the same for FreeBSD? (For NFSv4 minor versions, not NFSv4 instead of NFSv3, which I think would be a POLA violation.) What do you think? rick Thanks, rick ________________________________________ From: Alan Somers Sent: Monday, March 2, 2020 7:04 PM To: Rick Macklem; freebsd-fs Subject: Re: go build, flock, and NFS_BADSEQID Yep. Remounting with minorversion=3D1 fixed the problem. Thanks!. On Mon, Mar 2, 2020 at 3:51 PM Rick Macklem > wrote: Oh and avoid "soft,intr" options on the mount. Those are pretty much guaranteed to result in a BADSEQID sooner or later. rick ps: It's in the Bugs section of "man mount_nfs", but nobody reads that far;= -) ________________________________________ From: Alan Somers > Sent: Monday, March 2, 2020 5:40 PM To: Rick Macklem Cc: freebsd-fs; Rick Macklem Subject: Re: go build, flock, and NFS_BADSEQID Is that a mount option? Because it seems like I can't set it with "mount -= u". Do I need to completely unmount first? On Mon, Mar 2, 2020 at 3:28 PM Rick Macklem >> wrote: Try "minorversion=3D1". The seqid stuff is NFSv4.0 specific and shouldn't be broken, but NFSv4.1 fixed all this in better ways. rick ________________________________________ From: alan somers >> Sent: Monday, March 2, 2020 2:31 PM To: freebsd-fs Cc: Rick Macklem Subject: go build, flock, and NFS_BADSEQID I'm trying to build a Go project with /usr/home mounted with NFSv4. The se= rver is running 12.0-RELEASE and the client is running 12.1-RELEASE. But t= he build reliably fails because flock(2) returns EACCES. Dtrace shows the = cause is nfsrpc_advlock returning NFS_BADSEQID. This sounds like an NFS bu= g (server, client, or both? I'm not sure). I'm not an NFS expert. Is thi= s something I should pursue, and would somebody please give me advise on ho= w to debug further? -Alan From owner-freebsd-fs@freebsd.org Tue Mar 3 00:26:23 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3EC2325FE85 for ; Tue, 3 Mar 2020 00:26:23 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Wd994hR7z4MND for ; Tue, 3 Mar 2020 00:26:21 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ot1-f45.google.com with SMTP id j5so1244185otn.10 for ; Mon, 02 Mar 2020 16:26:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZJbFM8l8+SmXojKbrMpAapCufAsncfLYy6Pbu1x/E/s=; b=c10OnyF3vXoXhcaRebeJk1GKT3WzEhf3YXr/Cw2DMHSjpxAsHw9qV2x5+nNPhV3eii euoFVhaY6J54wac6V5UEic0/M0vQ40Zk/MEU59liNnsENsYgetQWzg7zd+/jLjKfex4d o28L+Oz7l0pTRXfBl4v+A8GXlMXIBucXaC3ERTpTG6kFMhKRwwZq/IDlllEAw0iA7CDy AeJ58zH4jrcDrOquGsQv0tjeakRiF9sUpwdn5d7chfMUChrBQ1ppVJgeBu1qqgFRYyDp ascS2bqmywgU+zHlMNcfuY06fduntQYU5EuZyn0yYym57XZpD7kC7deaNCG2LOKb1MXD pPHw== X-Gm-Message-State: ANhLgQ0w90lURRWeK7/dZemzUN10IlDutKf2jPbL6BsdPwOtWm1kEOly kCufIL/v5x13wv7F2KqRsLUdIck7/fBPbN+Dbk8= X-Google-Smtp-Source: ADFU+vsS01IyzV+xVgjyY/6qgj82rhW6Zux5qoCJEYKMkm2PYRiFNeMeVqp62ihIav7XOk2LSP97dq3zaHW74dpXslk= X-Received: by 2002:a9d:3b84:: with SMTP id k4mr1463724otc.18.1583195179075; Mon, 02 Mar 2020 16:26:19 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Mon, 2 Mar 2020 17:26:08 -0700 Message-ID: Subject: Re: go build, flock, and NFS_BADSEQID To: Rick Macklem Cc: freebsd-fs X-Rspamd-Queue-Id: 48Wd994hR7z4MND X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.210.45 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-3.03 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_GOOD(0.00)[45.210.85.209.rep.mailspike.net : 127.0.0.18]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MIME_TRACE(0.00)[0:+,1:+,2:~]; TO_DN_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[45.210.85.209.list.dnswl.org : 127.0.5.0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(-1.03)[ip: (-0.47), ipnet: 209.85.128.0/17(-2.99), asn: 15169(-1.66), country: US(-0.05)]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Mar 2020 00:26:23 -0000 Yeah, that makes sense to me. On Mon, Mar 2, 2020 at 5:16 PM Rick Macklem wrote: > Good to hear. For some reason, the IETF NFSv4 working group does a > lot of work trying to get NFSv4.0 right. > From my point of view, it is just a typical .0 release that was fixed by > the .1 > release. > > Linux always uses the newest version supported by the server by default. > Maybe I could get away with doing the same for FreeBSD? > (For NFSv4 minor versions, not NFSv4 instead of NFSv3, which I think would > be a POLA violation.) > What do you think? > > rick > > Thanks, rick > > ________________________________________ > From: Alan Somers > Sent: Monday, March 2, 2020 7:04 PM > To: Rick Macklem; freebsd-fs > Subject: Re: go build, flock, and NFS_BADSEQID > > Yep. Remounting with minorversion=1 fixed the problem. Thanks!. > > On Mon, Mar 2, 2020 at 3:51 PM Rick Macklem rmacklem@uoguelph.ca>> wrote: > Oh and avoid "soft,intr" options on the mount. Those are pretty much > guaranteed to result in a BADSEQID sooner or later. > > rick > ps: It's in the Bugs section of "man mount_nfs", but nobody reads that > far;-) > > ________________________________________ > From: Alan Somers > > Sent: Monday, March 2, 2020 5:40 PM > To: Rick Macklem > Cc: freebsd-fs; Rick Macklem > Subject: Re: go build, flock, and NFS_BADSEQID > > Is that a mount option? Because it seems like I can't set it with "mount > -u". Do I need to completely unmount first? > > On Mon, Mar 2, 2020 at 3:28 PM Rick Macklem rmacklem@uoguelph.ca> rmacklem@uoguelph.ca>>> wrote: > Try "minorversion=1". The seqid stuff is NFSv4.0 specific and shouldn't > be broken, but NFSv4.1 fixed all this in better ways. > > rick > > ________________________________________ > From: alan somers asomers@gmail.com>> > Sent: Monday, March 2, 2020 2:31 PM > To: freebsd-fs > Cc: Rick Macklem > Subject: go build, flock, and NFS_BADSEQID > > I'm trying to build a Go project with /usr/home mounted with NFSv4. The > server is running 12.0-RELEASE and the client is running 12.1-RELEASE. But > the build reliably fails because flock(2) returns EACCES. Dtrace shows the > cause is nfsrpc_advlock returning NFS_BADSEQID. This sounds like an NFS > bug (server, client, or both? I'm not sure). I'm not an NFS expert. Is > this something I should pursue, and would somebody please give me advise on > how to debug further? > -Alan > From owner-freebsd-fs@freebsd.org Thu Mar 5 04:22:50 2020 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9BA0525C0C2 for ; Thu, 5 Mar 2020 04:22:50 +0000 (UTC) (envelope-from luoqi.chen@gmail.com) Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48XyK42yTFz3wjL for ; Thu, 5 Mar 2020 04:22:47 +0000 (UTC) (envelope-from luoqi.chen@gmail.com) Received: by mail-oi1-x229.google.com with SMTP id v19so4564143oic.12 for ; Wed, 04 Mar 2020 20:22:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VU1eeh9Gd8PsP8ki3MwnTEhgRWmDsX1KmVrqBgjQRzo=; b=gCLPRqIyzoHnlkSq8e0X/sUI3ToJyPKHXojBLn1lLJQhQ/H/WTwNwqlkFTwn4C2xWf RpFg8J9eDOOuCfpssQ/3WHmLYh/FZQgfWIwSHW7YH+4GYDvwtuXOKzJhGmonRbQwlnGR e0NvLNuWSdfRhZ17v3F1f+EtT5C+JaeLGF5reyC/x5YJOazicUjjx+kjIusClCqfw2rd EaHptzSLpUCYFXAd/LDUJUyW3DNdRg9uA7RqWvHpozb+Fzk+aZ0YxdmkgUR+gP+TAuGE 60BTOupDgDBhQpBH9QxNJ0YpV36V2mEHyxhnehh1F2UmykVhU7lW5NeZAx2RlkDpno6A +ZXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VU1eeh9Gd8PsP8ki3MwnTEhgRWmDsX1KmVrqBgjQRzo=; b=HGTZDCqeNHFfUukLkPI6V3qwuQQShijR0bljqC3Z75yFyQSTYtLQ5NlUG84/diweU4 l5ItlpqXjbvZUtnU2Ecs100KLdJ6UuQIU2pgiPfdrRMAFRx2iNiCU7q3sCNzoQ8Bq3+N wSINyME6q09ooZq01yoxVgvCm7uXyfG6isF6t55hVYoTWhhYU0MpbpbEM+R7upfDv+Vp vBbh3m7fO8A799nmTooxxX31ziM38glGQIqC20/oPc5RbNpAeenjbQ5uB38Qo+xcJsst rJf+LU1GI4LI04mogsgAVGpKBfgzf89+umKx/3cWQ1VYJ3OvWqR1u1iWYsozEwDYdgez MLlw== X-Gm-Message-State: ANhLgQ1hXewzqXyp9s/x3VNVvRHQubzhtMcgEkmrUKET5IpxQOSOjH0s x5KlRI9bwibjE8Wy7iFmcgYt4J9HJOGrKySX5Dq7NQ== X-Google-Smtp-Source: ADFU+vtZKDoRLRrg5KeozOwA+0qhOlFtHt5Dqg8sw3gUE1CtXo1PiDkZirEEnYUD67r3TZ2GFKJW46rb7UcfOGc02tc= X-Received: by 2002:aca:db43:: with SMTP id s64mr4086560oig.144.1583382166064; Wed, 04 Mar 2020 20:22:46 -0800 (PST) MIME-Version: 1.0 References: <707243CD-C67E-4DAD-AC5A-68EC11CFFDFD@lysator.liu.se> <6EC06026-DA28-4CAC-8D56-5C7856D4625E@lysator.liu.se> <202002281113.01SBDlsl017697@higson.cam.lispworks.com> <8247CFFC-C324-40BB-B0DD-B469A3B35851@lysator.liu.se> In-Reply-To: From: Luoqi Chen Date: Wed, 4 Mar 2020 20:22:36 -0800 Message-ID: Subject: Re: Linux could write to read only files on FreeBSD NFS server To: Rick Macklem Cc: Peter Eriksson , freebsd-fs X-Rspamd-Queue-Id: 48XyK42yTFz3wjL X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=gCLPRqIy; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of luoqichen@gmail.com designates 2607:f8b0:4864:20::229 as permitted sender) smtp.mailfrom=luoqichen@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[9.2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(0.00)[ip: (-8.46), ipnet: 2607:f8b0::/32(-1.86), asn: 15169(-1.66), country: US(-0.05)]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Mar 2020 04:22:50 -0000 On Mon, Mar 2, 2020 at 2:48 PM Rick Macklem wrote: > Anyhow, if others test the patch and like it, I can commit it controlled > via a sysctl. > I'd just have to decide whether it should be enabled by default or not. > > rick > > It has been more than a decade since I last developed for freebsd, I don't have anything running -current, but I did try the fix under 12-RELEASE, and can confirm it works. But my test is too ad hoc, it may need more thorough regression. -luoqi