From nobody Wed Aug 18 00:00:02 2021 X-Original-To: freebsd-fs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 3959C1767744 for ; Wed, 18 Aug 2021 00:00:12 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-to1can01on060d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5d::60d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Gq7Ly5NTCz4cZl; Wed, 18 Aug 2021 00:00:10 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MMlWzNqdtC/6KTJcLwF/oHCkuuZ54/DS1JouZTYwaj4+DCJjXlE8nsUXqfe3PQ54HoK8IfJWIMBLXfyFYOf4AxzgK/K30AkQPolE9u3BSvLZ+eEdVD0wgeCLNHWH4e8hw7Z6GPRy2LgeD/w6NEuosujEo//Z5Hkcww4wVddBb5BggzcONqxRg7lwILq+5LBNkFV1nBdVP73Pp2aFSVzO8UenXqXhGudRAWeS7PF6em0yntqW52rHcjqT7IK/9J3oE+HUStWjy9JzY26T24IPAqXe4E/dSWXhEwcreQ2/J5Be5SkDh91EWFHMjYjFe09lYNasujfqK65Kxh62URZN6A== 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=us35njFqh9UpFqZjxjtzAolKxylwYyWnE7SIA0OBk/I=; b=WkZD9TMu4pDzIbF0CGxoG20ankekg1ooUm739XtMVIIas2vwU01G9Uf1viG8X4MorDUeIc+r57kS4ncfT5OTCZiwf7V3Zoam8pZuyNdiUYNTGKrpMxPuLzrwtek7x6S8j0tOIk0OCJAj/3yD9rzqDcEpkhXEU2AyedXhI7ICBGDH09/JOZye8II5xHCNs36QKaWLysw4lmTuceS5CD7CjhStUSU7EUvKfJvKoLqsPTm5QdGlv267JTUtX3FDjsh1sWL6lvdlwy8RhvYFJ0iN+zHzFWJ6Ey9PkwwvJNskBfls+D9VmzFF7INi0RR9g7BwIVjKOoTGfquAbXoiublXbw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=us35njFqh9UpFqZjxjtzAolKxylwYyWnE7SIA0OBk/I=; b=R5kgrk3SKiSoNjv94fhuqKT3xKz1pIhgTtxUP5PDf6qG9CKIUmIwFmeeNTP99dMYSnXB8AKKAEaZk3WW9Zgquznq+8pQW4rcRFwclcDgn5DDP6J1CwM4qN7NXisFxIjs1YXrzNJGK3TriXi6E6V5BbML4XifHhhekPt81MuoQVHHHT52qV5pDeKvkBGMximDeabquuvDADQgplnYtPQCRKLgBpMCaaYKdn57zspwvlVhy+MAxX8L8hTG9t6/6oh8sQHyEDb8qhjmpH6GkwFfN43KmFprCBfJbhh8MZ+SKOAQxi06otR/hbNC92ubI6IEXU1QRq76fZtplWGRBJOBsw== Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:19::29) by YQBPR0101MB4780.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:18::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Wed, 18 Aug 2021 00:00:03 +0000 Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::1174:bfb8:7a34:f67c]) by YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::1174:bfb8:7a34:f67c%7]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021 00:00:03 +0000 From: Rick Macklem To: Ka Ho Ng CC: FreeBSD Filesystems Subject: fspacectl(2) questions Thread-Topic: fspacectl(2) questions Thread-Index: AQHXk8H96862pfDLFk6WeR3YvpWGCQ== Date: Wed, 18 Aug 2021 00:00:02 +0000 Message-ID: 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: bc333452-991a-4261-a557-08d961db2114 x-ms-traffictypediagnostic: YQBPR0101MB4780: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sM2WvVXBhuA+k74UBLJ2Yhcq5HSool7R4fqNQzY3wMO0qkSjs4XVtOJLdDCRFdNwUx1CSL8wdICCvdKu8NKo3uIwlgxBXDbxYslgsintngawxkJTr2b6RcgGPYnBEKg+TLoTUAk0B7HyOZ4CRm5BLQXSvLWJzcWbxp/sAVwJswRE07PDMBr7lIbwseLFAWPMpPKllWRphErxyOLnX273mIiyQNxRneKzoqbfyeB/DCkgFE+9ZCWWOXuBjPfsB6sCgsSc+Vpqh04hqy+tTaEfjviMlIkwXeIhTebUH1JcJnRMjlSazqG4WCs9ZnuR9Bghg3WJHin2QC7GHuEcROm7PcQQpUw+FZufrQHWGnFGA308cjE82SE266i0OGuC+TWbBJ9p7/kHfDRVxFeY0aMTwrE5v3+rfu9BEJuQ/kaaLxeQ+5/dTRnUqUQJRI08P0YgvSGSOsMEaweYIkN2QAgjYHQfP34ftpp1IgOKlELeSjaWTU0niwmCXxN94YeY4Do7iVtAxeB/z7xs1Ynmyh14iIdEXuDGdCkcZyg++3wU2A1OWm+UHB+LE3dpvQDHhvEP+bbJ9s3Llow8cquVSOjUUkYW2iX4hIro4/svoafY3flYgFCml7r+aVbW+JauJmSQe0mAguMT7aJifqL7TCbQwUfH5ZGIcV8tdmpQ3s+/EyeAYdAs2gr6eUfKZIGoBAYsPrORPT34zlgZh3jC2eBhtw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(366004)(38070700005)(2906002)(8676002)(86362001)(508600001)(8936002)(6916009)(4326008)(7696005)(450100002)(316002)(786003)(5660300002)(66446008)(66556008)(66476007)(66946007)(76116006)(52536014)(55016002)(91956017)(64756008)(9686003)(71200400001)(38100700002)(122000001)(186003)(33656002)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?aRauy+Ia9VFQT1JIa1YdM+/nymRqE7NFf+EHdxzZPsMSZdv6E7Vtr+PxH4?= =?iso-8859-1?Q?c53AgGBH65ozoaWi9RY6HJPE2DmXFQRRTm+lZRlUV6uxxypb2fDFk5JFwy?= =?iso-8859-1?Q?D2B3szSDJqoWGK+VgcC1A4JxmfNWuPlt3RIRsDkJ7A9XOHwdGz/nnrnY2a?= =?iso-8859-1?Q?2l7Kag76DMeWxvC7Ytm0qR2jEBFF0GbgDogSk3xrciyES5V2Qxz0UqNBwc?= =?iso-8859-1?Q?bxGkK/ZiEIQ2qV7+MoWHnQ6NTTqH/5XOO6/3kHpUEWNulzSY15pcSCO4Lr?= =?iso-8859-1?Q?d7xX9B+sYCms0izFQAN9QNkR/vq4qV65Aq91bN5fAAlOdSuNX9J442cJIt?= =?iso-8859-1?Q?oxWL8KvT5s7GksbkfuMooFsz1mZGO/bxBYwC8Cwz0T/LSjWXjMGA+eUyvY?= =?iso-8859-1?Q?DT2Ul7T8FceVDnjGdUaUoy+0adOWKFeBR59H+qKut4Q+fdfLlCyYxlv6nU?= =?iso-8859-1?Q?dBsMxxiKoXS4RINNEo85uxJcMzi51VPtdYy9Tm6mi2weILoj4VbsbE75W3?= =?iso-8859-1?Q?1TCAa81QSMmkaSK+nGup7UiC0X1VRX0rE9wpgzMvDLZyIRnqxFyGYqPAjC?= =?iso-8859-1?Q?Ua6EIoEwV5QoPLent3jh7zqbf+1ZJy1sDDAfQI74WtfgoZpD+8JsIDnx+X?= =?iso-8859-1?Q?sxe1OEXxHedRukbgWUHoKaCISGmgtIHgOH2eNr+XC2VwpE9zzzIF12nbxz?= =?iso-8859-1?Q?XdkSBDYIUmMTf/nLXxePoaCCUDzDGowCO8PmKNQ233S7hajx4E7DoJgxjB?= =?iso-8859-1?Q?Sxk7SeFldSpyCzNIyCYdrH3tCEbmirt3WTqBPQjxsSHHVmS21e7UiVspTe?= =?iso-8859-1?Q?v5WienUAKCkebrp2X541IjcOgJN6wfJ50eyoGuv7jMUUR37pIh8J5hPNu7?= =?iso-8859-1?Q?yD81dpIiY5HsoH58bD/pFnvSizpHxcxFfbsr8NT1hsihIOhF33xCidqjnc?= =?iso-8859-1?Q?iRiRIgynIo1n5jPsMVjB0IsHP1fk175lPgU9QSwl6455NTdMBBJK9sNSqS?= =?iso-8859-1?Q?4+EEYOfBIITOEzD4/tcGWT112VqshlAQA70jZkwG7hb/8/sArHpSohKemu?= =?iso-8859-1?Q?Cyt2HSixJf6gL+Dbpd3llFJ2D2ZlYlXTLUoMTYyM/mZ9a9qL5pRvOVcMbg?= =?iso-8859-1?Q?mrW8YtCnXkZEYbRoCBH+rTsi5XzsJb/lbGK/UgfDzED44RpxdPAtEG2mo9?= =?iso-8859-1?Q?QQTQT6mBulSIkLs+JO3j1TiMww+EQTTgNObWc1KI/Nk/Dd5zZjs+Yfjd+a?= =?iso-8859-1?Q?WaheEDVyYp6lDx4Creh6Vk5VrMFkVEydlKE8Vobxyem1TIAXbNwo0VH0J1?= =?iso-8859-1?Q?UMiFVqLWpwp4PWXXljMybfpARNZCtY3wdn34F6m+gctb3coMDuDTooW4Q5?= =?iso-8859-1?Q?BmRHiDbKJ+/+FHuy55SHLyci4gfP7Yh441qkJlsOJrBhk0f+x4CBnlhk6l?= =?iso-8859-1?Q?2tn21LCfQwG+a4xh?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable List-Id: Filesystems List-Archive: https://lists.freebsd.org/archives/freebsd-fs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-fs@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: bc333452-991a-4261-a557-08d961db2114 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2021 00:00:02.9199 (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: Sv66q+8DwnDMXJw+rXhuIR5g/AjdThGg01j7JFGPMW8W4UGcLYQI5UmwovZ3Co52R+4nQOn8rLd4DUcLitNTdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB4780 X-Rspamd-Queue-Id: 4Gq7Ly5NTCz4cZl X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=uoguelph.ca header.s=selector2 header.b=R5kgrk3S; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=uoguelph.ca; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 2a01:111:f400:fe5d::60d as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[uoguelph.ca:s=selector2]; FREEFALL_USER(0.00)[rmacklem]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; MIME_GOOD(-0.10)[text/plain]; NEURAL_HAM_LONG(-1.00)[-1.000]; DWL_DNSWL_LOW(-1.00)[uoguelph.ca:dkim]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[uoguelph.ca:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[uoguelph.ca,none]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1] X-ThisMailContainsUnwantedMimeParts: N First off, thanks for doing this. I am just implementing the NFSv4.2=0A= Deallocate operation using it. (I'll put the patches up on phabricator=0A= soon.)=0A= =0A= There are a couple of things I've spotted during testing.=0A= 1 - If you specify (for example):=0A= rqst.r_offset =3D 65536=0A= rqst.r_len =3D 1048576=0A= and then use these to do a fspacectl(fd, SPACECTL_DEALLOC, &rqst, 0= , &rqst)=0A= on a file < 1048576 bytes in length, it works and zeros out 65536->EOF,= =0A= which is what I would have expected.=0A= However, rqst.r_offset is set to 1114112 after the syscall.=0A= Is that intended? I just thought it was a little weird to return r_offse= t > EOF instead=0A= of the size of the file.=0A= If that is the intended behaviour, I'm fine with that, but maybe "man fs= pacectl"=0A= should indicate that? Maybe something like "bytes beyond EOF in the spec= ified=0A= range will not be set to zero (ie. file size not increased), but that r_= offset will be=0A= advanced to the end of the range, even if beyond EOF".=0A= =0A= 2 - Setting=0A= rqst.r_offset =3D OFF_MAX=0A= rqst.r_len =3D 65536=0A= results in an EINVAL errno, which seems fine, but isn't mentioned in t= he=0A= man page.=0A= =0A= But overall, works fine for me. (Of course, it will be nice when UFS and ZF= S=0A= get VOP_DEALLOCATE() calls that really deallocate.)=0A= =0A= Again, thanks for doing this, rick=0A=