Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp27065pxb; Wed, 16 Feb 2022 20:40:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJycimUFgAJ/mZWo22oyMOQp3GWvzyn6Zewgj6K31s9db/miCDhJuJcbyaewrxPYJh70Qr73 X-Received: by 2002:a17:902:ec82:b0:14e:e811:a058 with SMTP id x2-20020a170902ec8200b0014ee811a058mr1181242plg.170.1645072850553; Wed, 16 Feb 2022 20:40:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645072850; cv=none; d=google.com; s=arc-20160816; b=fET6zuIAf5kFznQ4IQHxAVMvI1lqUppHlIgCecilWQyz4sJMvXhsHKMRdZE3KjjfDa 6oRAKNUCZOfskK59gW1iQQa/bhDk1Uim7ve3Q/nArqkx8caJI9BMIeyhP0Mua5z6fNyd AuWbmWcPaFC4uexx58u/t4+5C/77qB80fZYMSBsFl6xMtqGJfUz8k4Hhtp++L8PuCGDY Qt1eeUlNCZ0OTCZn/Acg7gnY5+qnKfXXyaES6YE8jH+ymfyhjyWiVEgh6va+kXtDQZox NEE68KF5qJeG4h1oAGc/nW8RpDUlh7XX/Ixafz0Kg1CAoVkkmcBUrlWoArjH9JgVi3S9 RvOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=U6oR9r0KiYK9Pu6eS91cggax3SeEDZriA07CUQtbYMw=; b=ioqYTqmfxnkwrHJxoi5YYI86RAivDczSv9w3HgD0P8TbYyiz7N0lcp/JypmDx/3Y9A 1Gsw7sw8maXaW/rH/nTuGyhczmzE3FfrtoPWFBWM5/6dDrUIHmI+lTRsNiTBcYFxSrJs aVjRtXUBCuz1vfjobA4d0zMYmttBoQKGJFUFeRJQDr09UBuAhAv6GN3uBu/saD3RNVrZ r9qu8Zl66+Ye6xNuBBDB2lrBvIp++R03oqHRntrY5ouoDo3y8787oc7R32rlCNBEMili 8tCs2I28xRd0zNJyi7qQKoEJIsnY985G+OD/YWQH30C7o8s60edxI/JNJ98u8+n8xjPp ptiA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="R/wujvaY"; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j193si7572675pge.772.2022.02.16.20.40.18; Wed, 16 Feb 2022 20:40:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="R/wujvaY"; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237891AbiBPTB6 (ORCPT + 99 others); Wed, 16 Feb 2022 14:01:58 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:35826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237823AbiBPTB5 (ORCPT ); Wed, 16 Feb 2022 14:01:57 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CD02E1CFC8 for ; Wed, 16 Feb 2022 11:01:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1645038102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=U6oR9r0KiYK9Pu6eS91cggax3SeEDZriA07CUQtbYMw=; b=R/wujvaY5AULfy95xMTYTKvsgLkd5fVM/8a/gj7NFui/9sWwvbwiJBBdlrrfz9waHbYUdX FrfqbUcBRzPmSUflc7Fz/lQNU68JOO/VOdaQpkMYZPQI+PGndlt9vaKkefpliX8RPqYgHy zlQ9VkO7M4cftfsw0d++olfeY8G+56U= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-159-e8T5NgrWPomWDuB52aDt3Q-1; Wed, 16 Feb 2022 14:01:40 -0500 X-MC-Unique: e8T5NgrWPomWDuB52aDt3Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5AC6C363A4; Wed, 16 Feb 2022 19:01:36 +0000 (UTC) Received: from [172.16.176.1] (ovpn-64-2.rdu2.redhat.com [10.10.64.2]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 67B2010013D0; Wed, 16 Feb 2022 19:01:35 +0000 (UTC) From: "Benjamin Coddington" To: "Chuck Lever III" Cc: "Neil Brown" , "Steve Dickson" , "Linux NFS Mailing List" Subject: Re: [PATCH v2 1/2] nfsuuid: a tool to create and persist nfs4 client uniquifiers Date: Wed, 16 Feb 2022 14:01:32 -0500 Message-ID: <3AF29DC6-2EEB-4C3E-BD6C-BE31910921AE@redhat.com> In-Reply-To: <42AAFEDD-F4EE-4A91-BD23-E08B1149EF1C@oracle.com> References: <9c046648bfd9c8260ec7bd37e0a93f7821e0842f.1644515977.git.bcodding@redhat.com> <7642FA55-F3F2-4813-86E2-1B65185E6B36@oracle.com> <3d2992df-7ef7-50ba-4f11-f4de588620d2@redhat.com> <4657F9AE-3B9E-4992-9334-3FF1CF18EF31@redhat.com> <945849B4-BE30-434C-88E9-8E901AAFA638@redhat.com> <06B01290-E375-455E-A6D7-419CA653A0D1@oracle.com> <948D8123-E310-4A35-BF04-C030F20EA83C@redhat.com> <164479707170.27779.15384523062754338136@noble.neil.brown.name> <863AB69A-D5D6-4F22-950C-E5F468CD4552@redhat.com> <42AAFEDD-F4EE-4A91-BD23-E08B1149EF1C@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On 14 Feb 2022, at 10:39, Chuck Lever III wrote: >> On Feb 14, 2022, at 6:15 AM, Benjamin Coddington >> wrote: >> >> On 13 Feb 2022, at 19:04, NeilBrown wrote: >> >>> On Sat, 12 Feb 2022, Benjamin Coddington wrote: >>>> On 11 Feb 2022, at 15:51, Chuck Lever III wrote: >>>> >>>>>> On Feb 11, 2022, at 3:16 PM, Benjamin Coddington >>>>>> wrote: >>>>>> >>>>>> On 11 Feb 2022, at 15:00, Chuck Lever III wrote: >>>>>> >>>>>>>> On Feb 11, 2022, at 2:30 PM, Benjamin Coddington >>>>>>>> wrote: >>>>>>>> >>>>>>>> All the arguments for exacting tolerances on how it should be >>>>>>>> named >>>>>>>> apply >>>>>>>> equally well to anything that implies its output will be used >>>>>>>> for >>>>>>>> nfs client >>>>>>>> ids, or host ids. >>>>>>> >>>>>>> I completely disagree with this assessment. >>>>>> >>>>>> But how, and in what way? The tool just generates uuids, and >>>>>> spits >>>>>> them >>>>>> out, or it spits out whatever's in the file you specify, up to 64 >>>>>> chars. If >>>>>> we can't have uuid in the name, how can we have NFS or machine-id >>>>>> or >>>>>> host-id? >>>>> >>>>> We don't have a tool called "string" to get and set the DNS name >>>>> of >>>>> the local host. It's called "hostname". >>>>> >>>>> The purpose of the proposed tool is to persist a unique string to >>>>> be >>>>> used as part of an NFS client ID. I would like to name the tool >>>>> based >>>>> on that purpose, not based on the way the content of the >>>>> persistent >>>>> file happens to be arranged some of the time. >>>>> >>>>> When the tool generates the string, it just happens to be a UUID. >>>>> It >>>>> doesn't have to be. The tool could generate a digest of the boot >>>>> time >>>>> or the current time. In fact, one of those is usually part of >>>>> certain >>>>> types of a UUID anyway. The fact that it is a UUID is totally not >>>>> relevant. We happen to use a UUID because it has certain global >>>>> uniqueness properties. (By the way, perhaps the man page could >>>>> mention >>>>> that global uniqueness is important for this identifier. Anything >>>>> with >>>>> similar guaranteed global uniqueness could be used). >>>>> >>>>> You keep admitting that the tool can output something that isn't a >>>>> UUID. Doesn't that make my argument for me: that the tool doesn't >>>>> generate a UUID, it manages a persistent host identifier. Just >>>>> like >>>>> "hostname." Therefore "nfshostid". I really don't see how >>>>> nfshostid >>>>> is just as miserable as nfsuuid -- hence, I completely disagree >>>>> that "all arguments ... apply equally well". >>>> >>>> Yes - your arguement is a good one. I wasn't clear enough >>>> admitting >>>> you >>>> were right two emails ago, sorry about that. >>>> >>>> However, I still feel the same argument applied to "nfshostid" >>>> disqualifies >>>> it as well. It doesn't output the nfshostid. That, if it even >>>> contains >>>> the >>>> part outputted, is more than what's written out. >>>> >>>> In my experience with linux tools, nfshostid sounds like something >>>> I can >>>> use >>>> to set or retrieve the identifier for an NFS host, and this little >>>> tool >>>> does >>>> not do that. >>>> >>> >>> I agree. This tool primarily does 1 thing - it sets a string which >>> will >>> be the uniquifier using the the client_owner4. So I think the word >>> "set" should appear in the name. I also think the name should start >>> "nfs". >>> I don't much care whether it is >>> nfssetid >>> nfs-set-uuid >>> nfssetowner >>> nfssetuniquifier >>> nfssetidentity >>> nfsidset >>> though perhaps I'd prefer >>> nfs=set=id >>> >>> If not given any args, it should probably print a usage message >>> rather >>> than perform a default action, to reduce the number of holes in >>> feet. >>> >>> .... Naming - THE hard problem of computer engineering .... >> >> No, it does NOT set the uniquifier string. It returns it on stdout. >> If >> you run it without args it just prints the string. Its completely >> harmless. > > OK, my understanding was that if you run it as root, and the > string isn't already set, it does indeed set a value in the > persistence file. > > That should be harmless, though. Once it is set, it is always > the same afterwards, and that's fine. Someone who just types > in the command to see what it does can't damage their > metatarsals; the worst that happens is the persistence file > is never used again. > > I agree that's not very "set"-like. > > nfsgetuniquifier > nfsguestuniquifier > nfsnsuniquifier > ns-uniquifier > > Use with copious amounts of tab completion. Coming back to this.. so it seems at least part of our disagreement about the name had to do with a misunderstanding of what the tool did. Just to finally clear the air about it: the tool does not write to sysfs, it doesn't try to modify the client in any way. I'm going to leave it up to the distros. Considering this, I think your only remaining objection to "nfsuuid" is that it might return data other than a uuid if someone points it at a file that contains data other than a uuid. I can fix that. And its probably not a bad idea either. The nfsuuid tool can ensure that the persisted data is a uuid. Maybe I also need to change the man page or description of the patch to be clearer about what the tool does. Any suggestions there? Ben