[{"id":3673610,"web_url":"http://patchwork.ozlabs.org/comment/3673610/","msgid":"<20260405225442.GA1763@macsyma-wired.lan>","list_archive_url":null,"date":"2026-04-05T22:54:42","subject":"Re: [RFC PATCH v1 0/6] provenance_time (ptime): a new settable\n timestamp for cross-filesystem provenance","submitter":{"id":350,"url":"http://patchwork.ozlabs.org/api/people/350/","name":"Theodore Tso","email":"tytso@mit.edu"},"content":"On Sun, Apr 05, 2026 at 02:49:56PM -0500, Sean Smith wrote:\n> \n>   1. Application atomic saves destroy xattrs. Programs that save\n>      via write-to-temp + rename() replace the inode, permanently\n>      destroying all extended attributes. Only the VFS sees both\n>      inodes during rename -- no userspace mechanism can intercept\n>      this and copy metadata across.\n\nThe VFS could potentially copy the xattr on a rename, no?\n\n>   2. Every tool in the copy chain must explicitly opt in to xattr\n>      preservation. cp requires --preserve=xattr, rsync requires -X,\n>      tar requires --xattrs. Each missing flag causes silent data\n>      loss. Transparent preservation through arbitrary tool flows\n>      is not achievable in userspace.\n\nBut this is true for your proposed ptime as well.  You have to change\nevery single tool to copy over the ptime.  Worse, you have to change\nthe format of tar in a non-standard on-disk format change to support\nthis new ptime timestamp.  And rsync will require a non-standard\nprotocol change to support the new timestamp.\n\n> Atomic saves are the default behavior of mainstream applications\n> (LibreOffice, Vim, Kate, etc.).\n\nYou will also have to change mainstream applications to copy ptime\nfrom the original file to the file.new before the atomic rename.\nUsing ptime doesn't change this.  So you will need to make this\nnon-standard, Linux-specific change to all of these mainstream\napplications.\n\nIs it worth it?  It's a huge amount of cost being spread across a very\nlarge part of the open source ecosystem just this fairly narrow use\ncase.  Personally, I'm not convinced it's worth the effort.\n\n\t\t\t\t\t\t- Ted","headers":{"Return-Path":"\n <SRS0=KDyo=CE=vger.kernel.org=linux-ext4+bounces-15649-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=mit.edu header.i=@mit.edu header.a=rsa-sha256\n header.s=outgoing header.b=WXmTsZcX;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=kdyo=ce=vger.kernel.org=linux-ext4+bounces-15649-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.232.135.74 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=mit.edu","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=mit.edu header.i=@mit.edu header.a=rsa-sha256\n header.s=outgoing header.b=WXmTsZcX;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15649-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=mit.edu header.i=@mit.edu\n header.b=\"WXmTsZcX\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=18.9.28.11","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=mit.edu","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=mit.edu"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fpnqL6Vk8z1yFt\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 06 Apr 2026 08:55:26 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fpnqF1kpWz4wD3\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 06 Apr 2026 08:55:21 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4fpnqF1MhHz4wCX; Mon, 06 Apr 2026 08:55:21 +1000 (AEST)","from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4fpnq76dK7z4wD3\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 06 Apr 2026 08:55:15 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 7B66D3002B30\n\tfor <patchwork-incoming@ozlabs.org>; Sun,  5 Apr 2026 22:55:13 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2407638236D;\n\tSun,  5 Apr 2026 22:55:13 +0000 (UTC)","from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id A33A63845A3\n\tfor <linux-ext4@vger.kernel.org>; Sun,  5 Apr 2026 22:55:11 +0000 (UTC)","from macsyma.thunk.org (pool-173-48-116-90.bstnma.fios.verizon.net\n [173.48.116.90])\n\t(authenticated bits=0)\n        (User authenticated as tytso@ATHENA.MIT.EDU)\n\tby outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 635Msg1r009981\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tSun, 5 Apr 2026 18:54:43 -0400","by macsyma.thunk.org (Postfix, from userid 15806)\n\tid A498F6197604; Sun,  5 Apr 2026 18:54:42 -0400 (EDT)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1775429721; cv=pass;\n\tb=QoRBwU/vsO8svUZpB4HfdfRxybE3HLkCszj0L9diueS8y308bNt4OrZ6mUIPwXkWbUieqjr6R2UBh8T6PnBNA9dICBaE1CjuczzQKqeHiYAtAyq+ocBfePZBhFjI/v/39lLVYwARGV+EOccQsboBJt5q/WUZZ5MW9MP5iKorOwMMtiruY/9XINtvjseNsRSN+0qicJ/H5NO2PA79jds0Hw7yj+qdR3fhuP1LRXztEgUM8NKUvKJBCuoJpRRR49W1xY5o5XX5z6J99xMogwcOiFxQKejKUXdYkkXWv92wcjb4Ip8hsd/UdXSOMbMk+JJi83b1eJ9qVELIncQZ62iPVA==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775429712; cv=none;\n b=s6DsQnIHhUyMoSeyUlN99ZK41Tcb1JCj1zzrLrNyyEGVco4mqLlgotFlDD0lXTx3P8Vmaye6NqmkccdBXv4Lc6HD1nUB97Z/RzBTbSscSj+Ns0xV+ilbkqHhBDCRkNKztiDuYvr3AiExS5TWU6kTURxmJLnijvPrhn6Kx+8zNG8="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1775429721; c=relaxed/relaxed;\n\tbh=is0uAhPmS8GmcK5xBjDF7hNxAIaVmzS7E4WlgjWx0y0=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=vssXFo3iWNwY9x9JDKx8RTfI/8eYgMdWYWKVKlKpeH3aB1+Zqp6PPLrM3zrWP773J501yukOWDK8aGAxtoZOE1CdM2r7mwlCt/d0n76MEoCQYtEMfgaZCBSVlSN7pwC9N8mMsWeP2LR5XnelFWYTsQtszdQ3F8mIe84qzUdLVkpS3EvA0gwvcAGAWWoDS0ILYk/3QPqLh4734us+YfnLcGraHcuAATUqYAOPgY0w47h5ClvfiBLudCDSrtKlOnUIkTWDkJA9LbWHt7scQrYQN/tZsfIdb1LIr77h5qdl/Jtdbr+b9FPHWfIhGMbtl3VETConXkkTdrvdCRWjeXHKfw==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775429712; c=relaxed/simple;\n\tbh=Wlx2jjMrH0FxKcAR0UxoZkv28T0av6CJ3xlkfnli3zw=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=qXrywjeNJq5LJAiK75BS9fGUqZtDVhw1U+HifI05Cq8Hid152HIDFlclIAD9+e7iMhBGoXqRaAkRP/Zs8mzt8FWZilhYDppIgSlP/PVNfrMrjfbz88ntmy8exIU/SDLra81XPk2CUM7AlyDcUSpO8k7LpgpSiiY8mht1QLSQmTI="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=mit.edu; dkim=pass (2048-bit key;\n unprotected) header.d=mit.edu header.i=@mit.edu header.a=rsa-sha256\n header.s=outgoing header.b=WXmTsZcX; dkim-atps=neutral;\n spf=pass (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15649-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=mit.edu;\n spf=pass smtp.mailfrom=mit.edu;\n dkim=pass (2048-bit key) header.d=mit.edu header.i=@mit.edu\n header.b=WXmTsZcX; arc=none smtp.client-ip=18.9.28.11"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing;\n\tt=1775429685; bh=is0uAhPmS8GmcK5xBjDF7hNxAIaVmzS7E4WlgjWx0y0=;\n\th=Date:From:Subject:Message-ID:MIME-Version:Content-Type;\n\tb=WXmTsZcXjnAH+QijBhduXaathityRpjrZMCQnbtSjFw4ZMkBpj3bEOuOC6SUrSDhF\n\t bnTz84oUXf/YsR6dOxEL3tMnKvWMGyK0a48Sl/KV8LpHpe66YvLfZFHv5gLcOnaepc\n\t iU1F8v6KAwIpIvBi+O9khI4SLWOadDDq0yjMVVad4H26FjLuiP5+alUzL3Tg+UwUxM\n\t tg7kfJbNXNYkZ4nGCcVnsFVL5JZdK3lQjfLoSQtZVLvPoqDI8/wUyRF6/jPs3BZg/p\n\t Amo4XTccHxRfmoOZQ4JqAKdtLnqGf909H212R4yVlvaiLc75wwjy4oip7n1J27X0JZ\n\t c+1a3ssusdr9Q==","Date":"Sun, 5 Apr 2026 18:54:42 -0400","From":"\"Theodore Tso\" <tytso@mit.edu>","To":"Sean Smith <defendthedisabled@gmail.com>","Cc":"linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,\n        linux-btrfs@vger.kernel.org, dsterba@suse.com, david@fromorbit.com,\n        brauner@kernel.org, osandov@osandov.com, almaz@kernel.org,\n        hirofumi@mail.parknet.co.jp, linkinjeon@kernel.org","Subject":"Re: [RFC PATCH v1 0/6] provenance_time (ptime): a new settable\n timestamp for cross-filesystem provenance","Message-ID":"<20260405225442.GA1763@macsyma-wired.lan>","References":"<20260405195007.1306-1-DefendTheDisabled@gmail.com>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260405195007.1306-1-DefendTheDisabled@gmail.com>","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}}]