Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp22352548ybl; Tue, 7 Jan 2020 00:37:46 -0800 (PST) X-Google-Smtp-Source: APXvYqzysSa6whYdOVv8kXUjMk1HVVGW6XUnz55F6zLeHg7TK3Hx2oX+GxVjHdBa7hmeUnYG+Wgd X-Received: by 2002:a9d:6d8f:: with SMTP id x15mr112649556otp.322.1578386266796; Tue, 07 Jan 2020 00:37:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578386266; cv=none; d=google.com; s=arc-20160816; b=wW39LA3BVBNjduapxWi3xV8AgeVCjii0o2ouAlw86j2P1UHbyNk72zYpybskN+tZWY qi6n+1u+drOiMG9cQKTQ/6ekridbiKXK3G0yQHtKzTsQQX44F2LrhmsXLZ8JILnkuVG5 86ZM9sWGYFbdX8zH0dZaCsoMwxZz9p7xX343xPUwYm0VB+AVdkFjCuqTL45YXahaNqRE 0O8QblhX0s99Hjwwi1uNV7kDATTRWdt1eHakV7vRQBrLifmCYvuQkUhnYqkhHqdBpbUN dmnxyQz/Ko9XK6gq1+oZyPop0MnOyWRZRWY0Ohv//EI93J8gzIuvvwjH31Bf1KRu7LXL 1z/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date:dkim-signature; bh=cOdZAX6bsGnTIchAQhLsNAwpxMUPLA3EpB3d63E+2FU=; b=San60/t8Lb+0NrwY4iH3EXEC+wPdvTUQ2M7Mv9Jb5pDekfOGieLoUZPlhGT51yRpGh rFDde1iSHPDuzY5RpW2fItfeyd+1YAiGplBNg9C9u0scsEk6MihYV2xp5rxnVHyTcx9K 1GLZzk+8jVsmDpp4ECUeyt5YwjS085vfsC7dOchawX2Tou0iz294BTGdI+UoBqfLl5u1 RlZinbYCqbllmE//5+bRhZeF58CpVzJe0+pg7BRHKIz4We+WKBZuHX1phWjCTLEjr+xX ofS13s33Poxy5yGqUlY4V1NwC5fODNXiQPrZPelIh0MmvuKabsmeuf/xhPfbNRWUiBRn 6OGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=J72Dzp2P; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t7si39423673otl.133.2020.01.07.00.37.32; Tue, 07 Jan 2020 00:37:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=J72Dzp2P; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727662AbgAGIga (ORCPT + 99 others); Tue, 7 Jan 2020 03:36:30 -0500 Received: from mail-ot1-f68.google.com ([209.85.210.68]:36954 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726485AbgAGIga (ORCPT ); Tue, 7 Jan 2020 03:36:30 -0500 Received: by mail-ot1-f68.google.com with SMTP id k14so75436927otn.4 for ; Tue, 07 Jan 2020 00:36:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=cOdZAX6bsGnTIchAQhLsNAwpxMUPLA3EpB3d63E+2FU=; b=J72Dzp2Pc1ix1KqKPjR7hkXUdNeNaqrgOczC9Unr+irRcVYW4TWdsdjfQeCeMlrwcm PFZ65kpnrQ6YmDjk80VwvM/SxBsNM+52Opzo7pS85kYfTYur7XsTQnHZCQbUWugsTYxR nxE/j6duj6rUgXeLOroyn5EBodSV9iqwcQbnGN/0v0U0fZeJjW3b/eqdZX9kizzMprD8 Zjf8Qa5IJZ9tY73atR8Lts5nO+9GpDqq7iMrx1GJzXCPu+978yo0ntFDGhWQM3vO6zbw HnbubKn/hofrLDiKrmsY+rwk7Nai4NIyG/JTzGqfEbqW03PkC5x4CKQX+iS9o5O+yPNU AhiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=cOdZAX6bsGnTIchAQhLsNAwpxMUPLA3EpB3d63E+2FU=; b=QvOBke+Pi1FmJoR1s3xhiHz4kXycxZgV1xoJQXQf2zgykAE9FXugnhqh/pUcXhIHhy SU8jNYI5dtsLBZ3Ua9dkl1NngTBFVhSr5cYDdIcTRnQWx0/dHgdh6Mci7iPvgq+84dK8 +5RSV0mlb1pEYMNX3ZTSJFkpZSM0tZkk5P1UimBXygYwgrD/6bcWGOPtGHN9isjeIFfj T23vEKDYbZA25TKtpfTZqKDfJ/0YDHvFiVWqCw5ZslRBJLpNf0S0bodcOmHijjlnbJpM 0Hti53r9QuGguDICiYqYFw9Xvn6wno89is/ICS1VPT7UqHs9i0pfXGIZubte5bFvds9W l13g== X-Gm-Message-State: APjAAAWey6FWWIynsNE/jAc+PmUN0bHNLAbFpnqoc69h5jcwm87hEM2m WieZh+JeHaupDxLN9JXtbmQ0Cw== X-Received: by 2002:a9d:7c90:: with SMTP id q16mr104640629otn.191.1578386188486; Tue, 07 Jan 2020 00:36:28 -0800 (PST) Received: from eggly.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id w12sm24922791otk.75.2020.01.07.00.36.26 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 07 Jan 2020 00:36:27 -0800 (PST) Date: Tue, 7 Jan 2020 00:36:25 -0800 (PST) From: Hugh Dickins X-X-Sender: hugh@eggly.anvils To: Amir Goldstein cc: Dave Chinner , Chris Down , Linux MM , Hugh Dickins , Andrew Morton , Al Viro , Matthew Wilcox , Jeff Layton , Johannes Weiner , Tejun Heo , linux-fsdevel , linux-kernel , kernel-team@fb.com Subject: Re: [PATCH v5 2/2] tmpfs: Support 64-bit inums per-sb In-Reply-To: Message-ID: References: <20200107001039.GM23195@dread.disaster.area> <20200107001643.GA485121@chrisdown.name> <20200107003944.GN23195@dread.disaster.area> User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 7 Jan 2020, Amir Goldstein wrote: > On Tue, Jan 7, 2020 at 2:40 AM Dave Chinner wrote: > > On Tue, Jan 07, 2020 at 12:16:43AM +0000, Chris Down wrote: > > > Dave Chinner writes: > > > > It took 15 years for us to be able to essentially deprecate > > > > inode32 (inode64 is the default behaviour), and we were very happy > > > > to get that albatross off our necks. In reality, almost everything > > > > out there in the world handles 64 bit inodes correctly > > > > including 32 bit machines and 32bit binaries on 64 bit machines. > > > > And, IMNSHO, there no excuse these days for 32 bit binaries that > > > > don't using the *64() syscall variants directly and hence support > > > > 64 bit inodes correctlyi out of the box on all platforms. Interesting take on it. I'd all along imagined we would have to resort to a mount option for safety, but Dave is right that I was too focused on avoiding tmpfs regressions, without properly realizing that people were very unlikely to have written such tools for tmpfs in particular, but written them for all filesystems, and already encountered and fixed such EOVERFLOWs for other filesystems. Hmm, though how readily does XFS actually reach the high inos on ordinary users' systems? > > > > > > > > I don't think we should be repeating past mistakes by trying to > > > > cater for broken 32 bit applications on 64 bit machines in this day > > > > and age. > > > > > > I'm very glad to hear that. I strongly support moving to 64-bit inums in all > > > cases if there is precedent that it's not a compatibility issue, but from > > > the comments on my original[0] patch (especially that they strayed from the > > > original patches' change to use ino_t directly into slab reuse), I'd been > > > given the impression that it was known to be one. > > > > > > From my perspective I have no evidence that inode32 is needed other than the > > > comment from Jeff above get_next_ino. If that turns out not to be a problem, > > > I am more than happy to just wholesale migrate 64-bit inodes per-sb in > > > tmpfs. > > > > Well, that's my comment above about 32 bit apps using non-LFS > > compliant interfaces in this day and age. It's essentially a legacy > > interface these days, and anyone trying to access a modern linux > > filesystem (btrfs, XFS, ext4, etc) ion 64 bit systems need to handle > > 64 bit inodes because they all can create >32bit inode numbers > > in their default configurations. I thought ext4 still deals in 32-bit inos, so ext4-world would not necessarily have caught up? Though, arguing the other way, IIUC 64-bit ino support comes bundled with file sizes over 2GB (on all architectures?), and it's hard to imagine who gets by with a 2GB file size limit nowadays. > > > > Chris, > > Following Dave's comment, let's keep the config option, but make it > default to Y and remove the mount option for now. > If somebody shouts, mount option could be re-added later. > This way at least we leave an option for workaround for an unlikely > breakage. Though I don't share Dave's strength of aversion to the inode32 and inode64 mount options, I do agree that it's preferable not to offer them if they're so very unlikely to be necessary. Do we even need the config option? We certainly do need to hold the patch with config option and mount options "in our back pocket", so that if a regression does get reported, then upstream and stable can respond to fix it quickly; but do we need more than that? My main concern is that a new EOVERFLOW might not be reported as such, and waste a lot of someone's time to track down. Hugh