Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2610011pxa; Mon, 24 Aug 2020 20:38:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEH/knbkXxGNoKvR9KCNeQbmSpwqM0Ls0GaeqV/01v2BuQOWJP3rxWwv9a48OtIeKvsEsa X-Received: by 2002:a17:906:69d5:: with SMTP id g21mr8186771ejs.461.1598326707902; Mon, 24 Aug 2020 20:38:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598326707; cv=none; d=google.com; s=arc-20160816; b=lJcAgZKciUMt3NCysd8MTlJrtWzo/H5uOx4I4g4GyoDLyrdyTUA5a0QbQD5Xmjxx5I jCCZRgrlNp1Gd0Db6Cu2wQD6/XesZ5Cydy7sicBKENxq4iRMK8z6AufMCr7LLwh9BRSD zKnGLRmMyOKtIaNeU6zfNzVtqmgm0ykxcACuAxavsZV1herLQB4QM3N76eKs7QfN/bFX Euic0arH+/NRPKO9bYyNa1omP6LJAvSXSArD+4wgjpm7NDARG7iEDPQY408yDBsMmtSG 1ezig6nKzWjICAC4+GdcNxJPlY12Hy3JIu7pHgYSRcjYXthYs4ZNzJbbdR52yLTxjyNM dijA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:to:cc:in-reply-to:date:subject :mime-version:message-id:from:dkim-signature; bh=jMst9AALyVE1vuNR7TVhktCGxVDBADXL6clCiwvRDF4=; b=YR0Xnh2Zu7A78uX2aRNSPoeU85G5zIhV4Bfec6gTTNsA+mLJz2+61gCgFU9QQ7TXfO nPoiMCZc0YzQkET6XAte6rrEQobgeUf6MVJjUgwRPRdE2pOriW8EvZONxwrd/quqMUQg Yd2D2ufrJf9XshKHkerV1SRcAByJ1nmNR9lilP4GKDsm0e+kB2gmjvx23jgz0pKYetr0 v8WMXh9Y5TbBNrLVRyHPvZU2rG/cwuPNMa0FIGlfsn9ylXGLgG250yhhjH9yxJ6XQmV8 G9SYA8AbsksQtus4v/mWFZA/+I6TthDqkMYwKyXAg25rVoiLCANjeAMXJH9EcgUMa/Sj WuRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dilger-ca.20150623.gappssmtp.com header.s=20150623 header.b=1EbY6cqH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id sb29si291958ejb.43.2020.08.24.20.38.05; Mon, 24 Aug 2020 20:38:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@dilger-ca.20150623.gappssmtp.com header.s=20150623 header.b=1EbY6cqH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728573AbgHYDgG (ORCPT + 99 others); Mon, 24 Aug 2020 23:36:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726532AbgHYDgD (ORCPT ); Mon, 24 Aug 2020 23:36:03 -0400 Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83B59C061574 for ; Mon, 24 Aug 2020 20:36:03 -0700 (PDT) Received: by mail-pf1-x444.google.com with SMTP id f193so6214420pfa.12 for ; Mon, 24 Aug 2020 20:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dilger-ca.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=jMst9AALyVE1vuNR7TVhktCGxVDBADXL6clCiwvRDF4=; b=1EbY6cqHzWJ8O5xJucVD6EGWUfFV/sOP5pT0xJwxdbllnLVz47G6Zh/q/HCihEgjMF E+HvYQE2mzaQyPZ2NVV6CCYObcm/lxIMxDCBZZVCFuVswDSKwinMoPvFZwz0rYEny0Zk RvU6m5BzuenPCBtp8cnPmR2ldM9p2H3i2Zx1xr3FXQP/CbTMtAJUE3oGl/Lem9mhZk9v XjTHaRC7v76gEAYHy8wCVHEvHwXVyxij9SYMv83TmRoiEePGUvFgBwxSUcgik57/S7vD mOzWAEIqhXqkbGPwMMFV574UE/d/02sLBmeyxMpR3oQ0TnSQfnEmkhotRBPbWqp/JsSM hXiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=jMst9AALyVE1vuNR7TVhktCGxVDBADXL6clCiwvRDF4=; b=IYWKPHh1ubms8zyTn/EUZB5Dr0GSCJAB7VjvLovbTVm2GycGn3zAJRwA4g+BpKlg45 puxwX7NPtCM7LygKFWw1eP0HirWx5UycinjqZfjyrFbBGMYsAOM4wEN4NeoMVjmfHe9B DgImgsLjaYyETIa2y6plQu/gyCjIDzFOIuhom7xN9rW4O0FwQGVs0nkWPr2KdOU2hq9O 0x5iGIsbOunQvhfbCYq4Yh4cGEYtz300KD260xmZFk2x7o5UdSoCW7GdSdXQCvIRG5Ds eXFNBr/78nlnTPsUQFMInbZhTrsHsHLjukaeBPZhSmqGUDhKmbCNKoaWDS67CUm3ub47 MxNA== X-Gm-Message-State: AOAM530/wU99rBDSQI4LhsSFenqsFSaxPMavqP4o52e23QCdVnGyJM17 zC7czST111IVE8/6wqtHNq9iGg== X-Received: by 2002:aa7:858c:: with SMTP id w12mr1295615pfn.157.1598326563022; Mon, 24 Aug 2020 20:36:03 -0700 (PDT) Received: from [192.168.10.160] (S01061cabc081bf83.cg.shawcable.net. [70.77.221.9]) by smtp.gmail.com with ESMTPSA id x5sm1877284pfj.1.2020.08.24.20.36.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Aug 2020 20:36:02 -0700 (PDT) From: Andreas Dilger Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_23D8BB5C-5128-4552-921A-F0AEEE76FFB1"; protocol="application/pgp-signature"; micalg=pgp-sha256 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: [PATCH 9/9] iomap: Change calling convention for zeroing Date: Mon, 24 Aug 2020 21:35:59 -0600 In-Reply-To: <20200825032603.GL17456@casper.infradead.org> Cc: Dave Chinner , linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org To: Matthew Wilcox References: <20200824145511.10500-1-willy@infradead.org> <20200824145511.10500-10-willy@infradead.org> <20200825002735.GI12131@dread.disaster.area> <20200825032603.GL17456@casper.infradead.org> X-Mailer: Apple Mail (2.3273) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Apple-Mail=_23D8BB5C-5128-4552-921A-F0AEEE76FFB1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On Aug 24, 2020, at 9:26 PM, Matthew Wilcox wrote: > > On Tue, Aug 25, 2020 at 10:27:35AM +1000, Dave Chinner wrote: >>> do { >>> - unsigned offset, bytes; >>> - >>> - offset = offset_in_page(pos); >>> - bytes = min_t(loff_t, PAGE_SIZE - offset, count); >>> + loff_t bytes; >>> >>> if (IS_DAX(inode)) >>> - status = dax_iomap_zero(pos, offset, bytes, iomap); >>> + bytes = dax_iomap_zero(pos, length, iomap); >> >> Hmmm. everything is loff_t here, but the callers are defining length >> as u64, not loff_t. Is there a potential sign conversion problem >> here? (sure 64 bit is way beyond anything we'll pass here, but...) > > I've gone back and forth on the correct type for 'length' a few times. > size_t is too small (not for zeroing, but for seek()). An unsigned type > seems right -- a length can't be negative, and we don't want to give > the impression that it can. But the return value from these functions > definitely needs to be signed so we can represent an error. So a u64 > length with an loff_t return type feels like the best solution. And > the upper layers have to promise not to pass in a length that's more > than 2^63-1. The problem with allowing a u64 as the length is that it leads to the possibility of an argument value that cannot be returned. Checking length < 0 is not worse than checking length > 0x7ffffffffffffff, and has the benefit of consistency with the other argument types and signs... Cheers, Andreas --Apple-Mail=_23D8BB5C-5128-4552-921A-F0AEEE76FFB1 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIzBAEBCAAdFiEEDb73u6ZejP5ZMprvcqXauRfMH+AFAl9EhyAACgkQcqXauRfM H+A2bA/+PJl5m7FnhjTWHQEwftqKx/Ihjoc2ef7C7c8Kdyb+cda3QwWzm+mFKLB/ S0ORVi1pC9acc6wTSQNKa38aIj6o/oqeAevz2fXiAF4K0P8JrgWhH0WQE2tFry5O ZFcS2+ppn14u69WkcEvtFG7kXfT2KFf8LfPy5/nXTTJFodVFFVg1kaa6UNyfR6QB mLG0x8YD7QoAU8RmUgbXR2E7j/2JItJyIdDzMIm4O6Bc1B5akrj679DlYgyW6pb2 Po4L23OEDHHB+dNEvJuY3XpjEg6cbb6AvB8oZGMBfMGoVs1/zV3OcMfDqyJ9Wm7/ sPszYKLpnpZyVTV3tKd7u6p8WAbQJSdlqNj33OIiXWg6EPtqdOnCcDO9Bx0+CHhf UBDtcjgXGZvJ5gsurTfQHr1hz40x2MIbkwpsxuy5ogal1kO4eQJZvfCVgsUR4n6c 4TkI1vEYW6GGxaEOvXSZuTtRccIJkmnNeUHSOrl5XTMjfVg9UsiueKtrkjkMLo+s 5sOQTI/+4ocYeccNJObLDwj4ENDOahJz0G7lM5C4R3lBCb+RmBvjqDmqkI1zmonN f7+/jKRPT1p6V7COLZ/SHg4HY9M6EV3lm4tMXsiu445rWTUR0Fi3bKFOeN/+E9wg a+wwO+kzZUswiDVqDtfpZmnON1msvguMHvgEfIwormwE9FwU1GQ= =dr3G -----END PGP SIGNATURE----- --Apple-Mail=_23D8BB5C-5128-4552-921A-F0AEEE76FFB1--