Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp2962791lqo; Tue, 14 May 2024 15:18:52 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUtROOeYuH7TlTKg+CBQtwrVcz0ue5dKTYNrONMAvn2qiBWEZlZqoJZJZyh+PoXSqm/w+1NQTRPwz5/zeh5AtVUuDSy0EG7p6uBOi+YEg== X-Google-Smtp-Source: AGHT+IFgBjTMJQRxosOKJQZG6FlJv2HZyTCq44z7zxLE/kk7UH/FuMfN8ssF3UCBPUo03MfQXW86 X-Received: by 2002:a17:906:5655:b0:a59:8786:3850 with SMTP id a640c23a62f3a-a5a2d681266mr938894666b.72.1715725132575; Tue, 14 May 2024 15:18:52 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715725132; cv=pass; d=google.com; s=arc-20160816; b=aLCEpAewGm+eaTI4EVXYE7vWbjFJHABg/wDN8xYBc1SpiiQeukgg6mfow8/APEJbHr AvnTso3qD/okVuoZTytjLsxWi03XCyDrrzVrasvmK2hpri9gzPQlSNZntqcGVyUzW6L/ ivkI8qLvdahNCDupBTW2hwh7fB6qqkPskZq2TBqKlKyc3V7yR2Q4fgtEsih7KCUvH/LM sAwPpwhgA1OBWzdj4u/xGtBRyhMQJT19Mz4YAzzHpOEZE05BpNgAmtnJgRFy5meED6FF lgYFhcd1fjivQEeml/BzqH+h4JUzpKdvxi/MQHxX38x9e6utgCgbPnvYUDwpEHf3bimd rmCg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=thread-index:content-language:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :message-id:date:subject:in-reply-to:references:cc:to:from :dkim-signature; bh=wsQ3S2Qw2jrfkdv5Sza1kfOD2kHWvZdCoUJjA0tMfsI=; fh=GbF7/qIIRvema8/JKYkfWmS/HGo2J0VUMdRqWWRMOyQ=; b=dtbMSF/pWQBaMRv61H70LCyd7zI0Kc6hh6ZybhvB4fnnMPEvqcO758OcDgudTio8+d 5KENVvI0+N27Xwbx2lWJzIMDSBRfwTVYhx3WWyp4PpE6zpEyJ/IUHjFz+BWptse8dL3g O1gfgUAWV4OaHH4rj//C894G3S5G2sAzJXKTF7nY+mDTOF2JqlTLhaNquu7VP+PM2hlc Uv9Kx6vLOuTvQDWxWVv9Y1XJ1F+jwI4Lu7eFRLDjhu6IYajPXqNkwR8W7nazZ15pV2hG 2ykR8r60+DGkilRMy8+me6HyB/VsD870T9ZiKMxCGG2OplO2mHvaUic1O4oxkorSWmQa f2Pw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=fail header.i=@earthlink.net header.s=dk12062016 header.b=CJXcModG; arc=pass (i=1 spf=pass spfdomain=mindspring.com dkim=pass dkdomain=earthlink.net dmarc=pass fromdomain=mindspring.com); spf=pass (google.com: domain of linux-nfs+bounces-3257-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-nfs+bounces-3257-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mindspring.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a640c23a62f3a-a5a17ba55b9si662606566b.577.2024.05.14.15.18.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 May 2024 15:18:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs+bounces-3257-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=fail header.i=@earthlink.net header.s=dk12062016 header.b=CJXcModG; arc=pass (i=1 spf=pass spfdomain=mindspring.com dkim=pass dkdomain=earthlink.net dmarc=pass fromdomain=mindspring.com); spf=pass (google.com: domain of linux-nfs+bounces-3257-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-nfs+bounces-3257-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mindspring.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 4C3871F2188F for ; Tue, 14 May 2024 22:18:52 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7915C181CFB; Tue, 14 May 2024 22:18:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=earthlink.net header.i=@earthlink.net header.b="CJXcModG" X-Original-To: linux-nfs@vger.kernel.org Received: from mta-102a.earthlink-vadesecure.net (mta-102a.earthlink-vadesecure.net [51.81.61.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C34F181CE9 for ; Tue, 14 May 2024 22:18:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=51.81.61.66 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715725130; cv=none; b=noUGdE023c1/+GYNJHeji1em15jHP56gfdj/2uZt3i8uo5lIYNvqMD1scnnF30Sxw6dQ/te0PVZycldKeyfT0sYxrPsvW1rho2PFYCbGmMyRwVBmtArHNlznCoaoKgALdey89LHsnlOc3XeRPHePOj1YFXWLoGZeSj10TmBVyTI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715725130; c=relaxed/simple; bh=wsQ3S2Qw2jrfkdv5Sza1kfOD2kHWvZdCoUJjA0tMfsI=; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID: MIME-Version:Content-Type; b=F4RCslBp4gVHSBuj0/nBYxwZg8Pc1uuSWYbKDi4YHLKjH4aeCsjDVK2a+DyjO69+JV2+lMzm5Xj0+DeSZxcm13Dqqwujd3v7njvWOCHyMG8HJ6dbcO4NVEDRore05obRaSKQZvPtjE/wAn6o+QCHXe5qP/yYfr0ovAvuGIWnWNw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mindspring.com; spf=pass smtp.mailfrom=mindspring.com; dkim=pass (2048-bit key) header.d=earthlink.net header.i=@earthlink.net header.b=CJXcModG; arc=none smtp.client-ip=51.81.61.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mindspring.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mindspring.com DKIM-Signature: v=1; a=rsa-sha256; bh=wsQ3S2Qw2jrfkdv5Sza1kfOD2kHWvZdCoUJjA0 tMfsI=; c=relaxed/relaxed; d=earthlink.net; h=from:reply-to:subject: date:to:cc:resent-date:resent-from:resent-to:resent-cc:in-reply-to: references:list-id:list-help:list-unsubscribe:list-subscribe:list-post: list-owner:list-archive; q=dns/txt; s=dk12062016; t=1715724813; x=1716329613; b=CJXcModGfloIMbTA8IudCc2443sFUoUQfRMCyrKYo8ILuOtjSDPIbNR my02X4UcHy+6lzjZPKzLNnB/tJ6XZ3nqZ1mdGfvB6OmZXQSwTFg9sAUhXcd3sqHOMCPoZj2 PH7A86pF0VJ5R8rzt96o1cvZi2ElrHhlElxFwevw3j4lEqyBLRKUeJA8tLlXc32HiI2lNr1 AGLSYOFbytAJczwP/L2jnv0dIL491iYVMre2qnZmhpB6Jqv7YGwzp1J/6ixFfP1J9fuvd/r XeRsSJpQ2HZphdAHWiHDP26Omax0yZGK1Q/fEPbQRmnPEGVeW17bnw2GjTgFaEIsorsc/D6 BTg== Authentication-Results: earthlink-vadesecure.net; auth=pass smtp.auth=ffilzlnx@mindspring.com smtp.mailfrom=ffilzlnx@mindspring.com; Received: from FRANKSTHINKPAD ([174.174.49.201]) by vsel1nmtao02p.internal.vadesecure.com with ngmta id b0b2da87-17cf7aa070535064; Tue, 14 May 2024 22:13:32 +0000 From: "Frank Filz" To: "'Olga Kornievskaia'" Cc: "'Chuck Lever III'" , "'Linux NFS Mailing List'" References: <2C80B5BC-AAEC-41F8-BEB6-C920F88C89BB@oracle.com> <0b1101daa646$d26a6300$773f2900$@mindspring.com> In-Reply-To: Subject: RE: sm notify (nlm) question Date: Tue, 14 May 2024 15:13:32 -0700 Message-ID: <0b1401daa64b$f5831ee0$e0895ca0$@mindspring.com> Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Content-Language: en-us Thread-Index: AQHEASMWtXHACiXspnILht8YFbc9TwH0RebzAOjRexECfegJKbGZvMmA > -----Original Message----- > From: Olga Kornievskaia [mailto:aglo@umich.edu] > Sent: Tuesday, May 14, 2024 2:50 PM > To: Frank Filz > Cc: Chuck Lever III ; Linux NFS Mailing List = nfs@vger.kernel.org> > Subject: Re: sm notify (nlm) question >=20 > On Tue, May 14, 2024 at 5:36=E2=80=AFPM Frank Filz = wrote: > > > > > > On May 14, 2024, at 2:56=E2=80=AFPM, Olga Kornievskaia = > wrote: > > > > > > > > Hi folks, > > > > > > > > Given that not everything for NFSv3 has a specification, I post = a > > > > question here (as it concerns linux v3 (client) implementation) > > > > but I ask a generic question with respect to NOTIFY sent by an = NFS server. > > > > > > There is a standard: > > > > > > https://pubs.opengroup.org/onlinepubs/9629799/chap11.htm > > > > > > > > > > A NOTIFY message that is sent by an NFS server upon reboot has a > > > > monitor name and a state. This "state" is an integer and is > > > > modified on each server reboot. My question is: what about state > > > > value uniqueness? Is there somewhere some notion that this value > > > > has to be unique (as in say a random value). > > > > > > > > Here's a problem. Say a client has 2 mounts to ip1 and ip2 (both > > > > representing the same DNS name) and acquires a lock per mount. = Now > > > > say each of those servers reboot. Once up they each send a = NOTIFY > > > > call and each use a timestamp as basis for their "state" value = -- > > > > which very likely is to produce the same value for 2 servers > > > > rebooted at the same time (or for the linux server that looks = like > > > > a counter). On the client side, once the client processes the = 1st > > > > NOTIFY call, it updates the "state" for the monitor name (ie a > > > > client monitors based on a DNS name which is the same for ip1 = and > > > > ip2) and then in the current code, because the 2nd NOTIFY has = the > > > > same "state" value this NOTIFY call would be ignored. The linux > > > > client would never reclaim the 2nd lock (but the application > > > > obviously would never know it's missing a lock) > > > > --- data corruption. > > > > > > > > Who is to blame: is the server not allowed to send "non-unique" > > > > state value? Or is the client at fault here for some reason? > > > > > > The state value is supposed to be specific to the monitored host. = If > > > the client is indeed ignoring the second reboot notification, = that's incorrect > behavior, IMO. > > > > If you are using multiple server IP addresses with the same DNS = name, you > may want to set: > > > > sysctl fs.nfs.nsm_use_hostnames=3D0 > > > > The NLM will register with statd using the IP address as name = instead of host > name. Then your two IP addresses will each have a separate monitor = entry and > state value monitored. >=20 > In my setup I already have this set to 0. But I'll look around the = code to see what > it is supposed to do. Hmm, maybe it doesn't work on the client side. I don't often test NLM = clients with my Ganesha work because I only run one VM and NLM clients = can=E2=80=99t function on the same host as any server other than = knfsd... Frank