Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp677682imm; Wed, 18 Jul 2018 08:51:09 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcgOHhXL3gMhC5WWsCbgBRmE4D3sCl2H5gHMCNK/SALsTccqVbsu12ND8uaC3SMHSNFlOqU X-Received: by 2002:a63:c608:: with SMTP id w8-v6mr6241652pgg.16.1531929069410; Wed, 18 Jul 2018 08:51:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531929069; cv=none; d=google.com; s=arc-20160816; b=QZ/Xdy7xm9NWOtsoPcI20kzb38tiCczy1wt8e/9qlWAygXU2F/lQfw2cIyY6nv4SZa 5bsIv++sDZCidn4GDo9mT2PqKr5XQaghCUaSSyhqP3GR93B2ZZMohm3jJwleufTk+aTW gWwVlgtNC71Co5TKE0LHZsST4c5+AKqvL0PzDuXpZ4H0K7cDKyzKpH4EmwsXGK4MMwW1 9KJJQ/4hDoegvRk5DVjO10Mh8Pbq4/3rN0wz3t0TKOyKERviyW4u8JIagQvZA3MnjsVi AK6/pNS8gtQn7ZpwFcG3dGkTcDkJLyAi5qmkvlcjJNoPdh8tX2Hp5r+CD5Ky0gYPhElR vAUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:arc-authentication-results; bh=TCnUvaBB3UWU6uryQhH64OaF2yYxUiqYPYe9tG6XaHo=; b=Y8pSxD6oSMLxSkhTgzUt2dt8MzNDbTV40+AOy792DK95UAfWRXdkTIKSJbFQo0mHST ALQWuaybKinzCoey4+TbyLzcwmuzkeyIQPswO+242FGIVTpWO/3CZh0FKkPVKIZ03ZvZ Eah5sadL0NWI21J4ZsP4oS9ZUWTaikWHVaTtj9T+RP9p9i0Z5LusVoR79lVr3avN1ZAq 5dDhjCwyLhITDTllZe2Bv/T06k2zRns7wdEZY2QTL9FZgYeMK613GqsH6Dyk6hS3QOAI 3ZWXbV1IKbO1DsJxTdi38h9V9jJRn9wssLc8rxn2KttmlShPJmzpOrtQVe3RcGGD+tQC 9VtQ== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=cmu.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s8-v6si3348612plq.327.2018.07.18.08.50.54; Wed, 18 Jul 2018 08:51:09 -0700 (PDT) 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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=cmu.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731391AbeGRQ2t (ORCPT + 99 others); Wed, 18 Jul 2018 12:28:49 -0400 Received: from hurricane.elijah.cs.cmu.edu ([128.2.209.191]:45244 "EHLO hurricane.elijah.cs.cmu.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731295AbeGRQ2s (ORCPT ); Wed, 18 Jul 2018 12:28:48 -0400 Received: from [127.0.0.1] (helo=cs.cmu.edu) by hurricane.elijah.cs.cmu.edu with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.91) (envelope-from ) id 1ffoiT-0003wA-Py; Wed, 18 Jul 2018 11:50:13 -0400 Date: Wed, 18 Jul 2018 11:50:06 -0400 From: Jan Harkes To: Arnd Bergmann Cc: Jonathan Corbet , Deepa Dinamani , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] [RESEND] coda: stop using 'struct timespec' in user API Message-ID: <20180718155006.lkoktldllafrfqbf@cs.cmu.edu> Mail-Followup-To: Arnd Bergmann , Jonathan Corbet , Deepa Dinamani , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org References: <20180718114645.591551-1-arnd@arndb.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180718114645.591551-1-arnd@arndb.de> User-Agent: NeoMutt/20180512 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 18, 2018 at 01:46:25PM +0200, Arnd Bergmann wrote: > Unfortunately, this breaks the layout of the coda_vattr structure, so > we need to redefine that in terms of something that does not change. > I'm introducing a new 'struct vtimespec' structure here that keeps > the existing layout, and the same change has to be done in the coda > user space copy of linux/coda.h before anyone can use that on a 32-bit > architecture with 64-bit time_t. I think the userbase is small enough that we can handle a much simpler transition to 64-bit timespecs everywhere. In that case the CODA_KERNEL_VERSION should be updated, which is currently defined in include/uapi/linux/coda.h as 3. As moving to 64-bit timespecs only breaks 32-bit systems this allows userspace to catch that case and refuse to run userspace with a mismatched layout (or handle translation). It also would make how to handle questions about truncation moot, or at least moves the problem out of the kernel into userspace. We actually were already using unsigned integers for timestamps in the client <-> server protocol, so as you noted, that does give us a little breather until 2106. > Originally sent on June 19, which lead to a short discussion > and an Ack, but the patch did not get picked up for 4.19 yet. I'm sorry, somehow I missed the follow up questions in that discussion. > > If we only have one code base, it should be fairly straightforward to > > make it deal with 'unsigned' timestamps consistently, which would > > let the code work fine until 2106 rather than wrapping around from > > 2038 to 1902. At some point there was a webdav filesystem that used the Coda kernel apis, but I think they may have moved to FUSE since then so I would not be surprised if there is only a single code base at this point. Jan