Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp55709pxb; Wed, 20 Jan 2021 00:44:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJxc2Z1daMVxIoWoLu2wSU8Q8q6loXH8qYi3eCvgrI5/rxDVO/p9Y9CjzI2J5LX3vEhYP9vW X-Received: by 2002:aa7:d7c8:: with SMTP id e8mr2087174eds.355.1611132263511; Wed, 20 Jan 2021 00:44:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611132263; cv=none; d=google.com; s=arc-20160816; b=ZLffqSBAA27RG1vfvaPwrR2keoJ8c9mg9po8qVPxtY0GFtgY64nqGCLoKgIcBhBtEz swj4zBnWlquo7JZ+QRU5qMABAEaP53hVA7lm/JtNu5tS6vO5ROZtAFKBah/eFNpACq2x m52etzfQWzsT7pb+Q2vfpQ2kpBKen5VSsm9S7g5agA37LWuqM+H/bRj4yNi+h5wyDjO7 /Ua4u+xrCv+GuwPLRwNQ3hIUdze9ooY79BetjnfJ1cNUyx5S4NC82zMXlGUeH1l365ed CovV4tyqTI7IaBClumN8MGxneO7syr/s/YdfvZvGU5wO2ocoIY39c5DtyJyt0UYKwsDp VtmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=LcErNgQLVWOD8ZTCaEhXK6vs+u411+l0rmQgZ6zam9o=; b=toUPVU/F6aYzxlJ+6BJs/SL6ByREVQX9B/GN4Qi7LBd9VaphJyYY8MGWv+Jkg+9UuJ 7mnx9TxN6ppUviWM0K4Ywhhy0spbtcUwhjdGwY//G7XmI2fcjYJ72lDpHQELaprFX2s2 kDTM6GtZeUPW9uhAffYmcpNJzQrVs9VPtonVHKWWQUUuNvWu9XtK6TZ5cBUbsrMEa0S+ UCnKONXqmQYOsZh4c7FyzETcMNm2S1/PadX1v79Oo5eTRo4KMXxsVpkiVQHwumpVxf2/ YCTRU874TrN4QWKUrbUMlqMlHuwrb5zfA6uiYd5STf9i1cBq0fGNlc0E6U3L59D7YVOk yyQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=cncXbFML; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-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 a89si633863ede.326.2021.01.20.00.43.56; Wed, 20 Jan 2021 00:44:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=cncXbFML; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730997AbhATInR (ORCPT + 99 others); Wed, 20 Jan 2021 03:43:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730935AbhATInI (ORCPT ); Wed, 20 Jan 2021 03:43:08 -0500 Received: from mail-ua1-x92f.google.com (mail-ua1-x92f.google.com [IPv6:2607:f8b0:4864:20::92f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBB79C061757 for ; Wed, 20 Jan 2021 00:42:27 -0800 (PST) Received: by mail-ua1-x92f.google.com with SMTP id g13so142172uaw.5 for ; Wed, 20 Jan 2021 00:42:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=LcErNgQLVWOD8ZTCaEhXK6vs+u411+l0rmQgZ6zam9o=; b=cncXbFMLNFZZMMMPVG/Cxaj4sOUIGJCzaSgMLUBQhIL3ueXk6g/Gd8aMHXGs1uDMcq 4tDdt48TteXTHB+MtkDISORE7UViRflrovrpIxP4OVXR3f26526nNL9SsIeio/venNVd wXT9ExhAd4o0/EYvX1vgXZ9ek36X3Xu6woq1E= 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=LcErNgQLVWOD8ZTCaEhXK6vs+u411+l0rmQgZ6zam9o=; b=L1neE07byQAnOE0Z7q0WfqRUaaEnXde4j6KoBnsX0xxMariPmGt4P0S4qRDa1TMc// ESYSTRkrReMKDhKTtW8QH1c9U4/cfjXZDkQdxKdCCGwmz97itQUfiEkBA565E+QzOdtt Q1nSb+PC5Cl+w9yqGNyuyKMWpIkC8ZDD8k0Bjk07Xah5R/msUAkfurh7GdwvqGaGQGut WrDQXyVPkhbNzCP8u6l2WB6Gm0Njx8cahAF4j1ta+33xNMOWc5oj36ziD2pGC3xQibSA AbOFLp9xCtTNc22HsZ/UfTJTnjcFY5JAxxsT1GQOGRIDx+TxvarIRtCVDrpeIpwfLig2 GfFQ== X-Gm-Message-State: AOAM532nDN6OdwXGrxENGcvrKdUAehhdYO74HOU1D0afxkd+GwLRJKbG HAcUd5X2PzDDbCI0Q3DezLBK6C4AIaOcIt4Bpv57hA== X-Received: by 2002:ab0:3c91:: with SMTP id a17mr5484553uax.9.1611132147206; Wed, 20 Jan 2021 00:42:27 -0800 (PST) MIME-Version: 1.0 References: <20210105062857.3566-1-yangerkun@huawei.com> In-Reply-To: From: Miklos Szeredi Date: Wed, 20 Jan 2021 09:42:16 +0100 Message-ID: Subject: Re: [PATCH v3] ext4: fix bug for rename with RENAME_WHITEOUT To: Amir Goldstein Cc: "Theodore Ts'o" , harshad shirwadkar , yangerkun , Ext4 , Andreas Dilger , Jan Kara , "zhangyi (F)" , lihaotian , lutianxiong@huawei.com, linfeilong , fstests , Vijaychidambaram Velayudhan Pillai Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Wed, Jan 20, 2021 at 7:57 AM Amir Goldstein wrote: > And as long as I am ranting, I'd like to point out that it is a shame > that whiteout > was not implemented as a special (constant) inode whose nlink is irrelevant > (or a special dirent with d_ino 0 and d_type DT_WHT for that matter). > It would have been a rather small RO_COMPAT on-disk change for ext4. > It could also be implemented in slightly more backward compat manner by > maintaining a valid nlink and postpone setting the RO_COMPAT flag until > EXT4_LINK_MAX is reached. > > As things stand now, overlayfs makes an effort to maintain a singleton > hardlinked whiteout inode, without being able to use it with RENAME_WHITEOUT > and filesystems have to take special care to journal the metadata of all > individual whiteout inodes, without any added value to the only user > (overlayfs). > > But I guess that train has left the station long ago... Not so, I believe. Kernel internal interfaces are easy to change, and adding support for DT_WHT to overlayfs would mostly be a trivial undertaking. The big issue (as always) is userspace API's and not introducing DT_WHT there was a very deliberate choice. Adding a translation layer from an internal whiteout representation to the userspace API also does not seem to be a very complex problem, but I haven't looked into that deeply. So AFAICS there's really nothing preventing the addition of whiteout objects to filesystems, other than developer dedication. Thanks, Miklos