From owner-freebsd-current@freebsd.org Wed Oct 3 14:51:29 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6909110C5A12 for ; Wed, 3 Oct 2018 14:51:29 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670081.outbound.protection.outlook.com [40.107.67.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-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 0B3D57F080 for ; Wed, 3 Oct 2018 14:51:28 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from YTOPR0101MB1820.CANPRD01.PROD.OUTLOOK.COM (52.132.44.160) by YTOPR0101MB1417.CANPRD01.PROD.OUTLOOK.COM (52.132.47.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.21; Wed, 3 Oct 2018 14:51:27 +0000 Received: from YTOPR0101MB1820.CANPRD01.PROD.OUTLOOK.COM ([fe80::65af:417a:161f:f4eb]) by YTOPR0101MB1820.CANPRD01.PROD.OUTLOOK.COM ([fe80::65af:417a:161f:f4eb%3]) with mapi id 15.20.1207.021; Wed, 3 Oct 2018 14:51:27 +0000 From: Rick Macklem To: "gljennjohn@gmail.com" CC: "freebsd-current@FreeBSD.org" , Josh Paetzel Subject: Re: which way to update export_args structure? Thread-Topic: which way to update export_args structure? Thread-Index: AQHUWq0WJEV5v0B9NEODb8Fv+fAB/qUNGj6AgAB8jz0= Date: Wed, 3 Oct 2018 14:51:27 +0000 Message-ID: References: , <20181003090751.68d23005@ernst.home> In-Reply-To: <20181003090751.68d23005@ernst.home> 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-microsoft-exchange-diagnostics: 1; YTOPR0101MB1417; 6:ZQSmoxSjWn4EtdMnsTgAxMBdGfdllQOkgeTO4XJYF/HlKd2KWst7O2MwqoG3DmKh2xyquDvWDt5EajJ1NyisR0tqiu47iDd9a9ALjrwlLjuYDReBcVmdTWbH/X41a/c0fBwsNSM/U4J7wDndcIJdI21EbZmQW9L3XhRfxwAg4U7hAXV6waox7251pH4YCXxiuWM/YnYiWhtrb2cl55v0QzH8evKhRt8qt3HCwgbJc1/wOV6uWBMfL2d2F0tTNmeCy6Nwdy1aTxggv49IbAhfforU4xJOdkdiMTNHDwZULy4UFRN7B79Klr2iCUNfWfjiKy0HRGslBiHI0kN4mJU6kju6CihtvTT+/mtEe2X6iv6Ax8PiDcN3GfQD0g52UlD1fh+MV/1uZDNKQ58ZGlX8XEmfn69b6iDOElHDQXuhVXIyJDeqwoS2hQMyXb+RDI/g2a2ocCiTN5zM3cVUlw2aaw==; 5:posrVQegM7P9cnb1KIt1w/BqNgyClb6/tq+44/qhcTzYeEC4PxuWiCJujpgZDnWomxy+IxQYILUnnWp9b+hj4YNcg32S65kpXaQ4sUOpzUOZFCbDALKw2VYWHbJf4dVab+AcExg9iNn1wBGMw9LkYKX75rtSjHX5WynGWydfVRA=; 7:hPQuarmtovMaEk9UIywEUuEBR3xlb4l2dkVxR+npqs+HBrPpqeB9MoLYFQtOKnOhLtEjuucgx5RGkCJyZg2X/khvpIA7D8nY/CpBDM9IvCiNS7ohMrgulS9yvRc8WDQOzraJkDK/zqFZR5J134q9fOWa/+Yobgn1Ek/we0dQlrztSv/mJR9AQTAuGTjgj+lq4ezL71x8juTcM9Ci4x+luOg3eeHBdoCKetUG480216XMUrToHHrvJtMgPYjGomt/ x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: ea9611cf-eed9-4544-44e4-08d6293fb2ca x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:YTOPR0101MB1417; x-ms-traffictypediagnostic: YTOPR0101MB1417: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(3231355)(944501410)(52105095)(10201501046)(93006095)(93001095)(149066)(150057)(6041310)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051); SRVR:YTOPR0101MB1417; BCL:0; PCL:0; RULEID:; SRVR:YTOPR0101MB1417; x-forefront-prvs: 0814A2C7A3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(346002)(366004)(396003)(376002)(136003)(189003)(199004)(97736004)(68736007)(7696005)(39060400002)(229853002)(6246003)(74482002)(4326008)(105586002)(2351001)(106356001)(55016002)(5640700003)(9686003)(53936002)(1361003)(14454004)(25786009)(446003)(478600001)(76176011)(11346002)(476003)(6506007)(486006)(33656002)(2900100001)(6436002)(99286004)(305945005)(6916009)(46003)(256004)(74316002)(5660300001)(8676002)(2501003)(2906002)(1730700003)(71190400001)(71200400001)(54906003)(8936002)(102836004)(186003)(5250100002)(786003)(316002)(1411001)(86362001)(81156014)(81166006)(43043002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTOPR0101MB1417; H:YTOPR0101MB1820.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-microsoft-antispam-message-info: K49fUI0tywWTQ63BQBkm4hmZoMgYzgx5Ja6O/NeNXUhEaSoqPOPvE5cjt4yGXdCF2nhQXtLhlpFCqHuine7zxk4OuKvQmH27TeW7YfyjupRyJJjN+zhvmP9ZwgSZ0DFPnxdmvw6/4KeoeYaLRdBX/fCmLfK1FRklNHvzZZcAjwTeiJDnB14jZjQ4ZlZbJgkoGYjplUZ4UTSma16GlubTXcKBtZVfPaC/FuOiwYZ6EKXdySEk+fOTZNTPMnSLxbX6wAKE0ixGua7o7bDU9kM5nr2pauf/fYOt7ZuVIJuOOye+ZZxytr4aaFejcwfYB2NxZdOyZVMJ1TIEDc8HWhh2uXeiS5xNl36QgDP8+aKlLc0= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: ea9611cf-eed9-4544-44e4-08d6293fb2ca X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2018 14:51:27.8152 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTOPR0101MB1417 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Oct 2018 14:51:29 -0000 Gary Jennejohn wrote: [stuff snipped] >In B, shouldn't ex_flags become uint32_t if all 32 bits can contain >flag bits? You could. For B) my intent was to leave the structure exactly the same as = the old versions and only add new fields at the end. The current compatibility= code in head does bcopy() of the structure, which means a change to uint32= _t would require that to be re-written. (For A) it gets re-written anyhow.) > And why make ex_flagshighbits a uint64_t? You could >make it uint32_t and simply shift the high bits around. Again, you could. I didn't do that, since the code then does require bit sh= ifts every time you test a flag and I thought that would look messy. I also get worried that compilers will do weird things like truncate the co= nstant to 32bits before the shift and drop the flag. (I do test cases for these in= a little program, but can only test i386.) (The flags are constants defined in mount.h as MNT_xx for 64bits.) Since I figured out a way that I think allows A) to be MFC'd, I'm leaning t= owards A) anyhow. rick