Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp177880ybz; Thu, 30 Apr 2020 19:06:39 -0700 (PDT) X-Google-Smtp-Source: APiQypLOoKsZD9ce9g0b085pTrtEMfEQkMz8LU/dJvCMgdXwdBwib9LHhK+rKLw/rKmmjsv66ipc X-Received: by 2002:a17:906:18a2:: with SMTP id c2mr1298110ejf.167.1588298799812; Thu, 30 Apr 2020 19:06:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588298799; cv=none; d=google.com; s=arc-20160816; b=kKJSUoLaiWlyQh3pUHgwEOZ4nA5HNH23mH18GTp6hTje49Cms6Ad1Typ6jlv81zq5e whsanvQRtwhaZvN8jedMCx8tPoOu4bGyOho7rnaBgdg77UL3KTuFPa7epThre6jyhg2L FteItNpGarx8/UmbthAbRqDpDH9+pfzk1ns5oQMx4isQLKanq25vwPtfgRfAmlgLRW0R M/nbsoDVeCiM2Ytp3RyXTQpbsOsM7HCsvsx9iUkqt7DabgE/Gjv3P33/aFqByA/erK8o fwb2iBpYvKkVM9MTtophFKj81EBI5qQAXtX5GwH83P0xK9NmZyqNoRONnJFx5ai0yrbZ tzCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=JPRHbOntz/V4k92Ze0Dp1vfNCHaruJSYjIfp7JoN8ZA=; b=VGykHSkqab4PgQxDpN3FrRLLQM67XwFijQ7c8DNjHOtdkW/iOOSaVytji8gs2ULec8 sE/2mmsOfGi+vY3Id/eytmBucvCROE0RK77q8hxRY3Mja3btC7Qb2QNIR08YCRorLQxi yHB8Xv8I1udTxEVCI+Fq3ne/U7LYPKGsKLwIqE0mYyICt6FlvmSkQ8M/R7tAs+EZg1gd bQEYs6m3b69cPNo1x/nqj4OtZ7czuf65kkBw/O0sDyc+hSU/pXbiK78Ci3+iabqGt1T5 PdXFnSKgKhkUf0h+ddwSjIpM/ssjVPmeYGWi67DxI7Q83lA/g40JdlhvFVvRv25ZHHiK kWzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-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 la2si938527ejb.371.2020.04.30.19.06.01; Thu, 30 Apr 2020 19:06:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728008AbgEACFz (ORCPT + 99 others); Thu, 30 Apr 2020 22:05:55 -0400 Received: from p3plsmtpa08-07.prod.phx3.secureserver.net ([173.201.193.108]:57304 "EHLO p3plsmtpa08-07.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727889AbgEACFz (ORCPT ); Thu, 30 Apr 2020 22:05:55 -0400 Received: from [192.168.0.78] ([24.218.182.144]) by :SMTPAUTH: with ESMTPSA id UL3pjzX7B34inUL3qjnQMg; Thu, 30 Apr 2020 19:05:54 -0700 X-CMAE-Analysis: v=2.3 cv=UeEvt5aN c=1 sm=1 tr=0 a=ugQcCzLIhEHbLaAUV45L0A==:117 a=ugQcCzLIhEHbLaAUV45L0A==:17 a=IkcTkHD0fZMA:10 a=mJjC6ScEAAAA:8 a=e3r7bHJG3znUvQNh8RUA:9 a=QEXdDO2ut3YA:10 a=ijnPKfduoCotzip5AuI1:22 X-SECURESERVER-ACCT: tom@talpey.com Subject: Re: handling ERR_SERVERFAULT on RESTOREFH To: Olga Kornievskaia , "J. Bruce Fields" Cc: Trond Myklebust , "linux-nfs@vger.kernel.org" References: <98410608e028cb4b53024c7669e0fb70fea98214.camel@hammerspace.com> <98a10c8775e4127419ac57630f839744bdf1063d.camel@hammerspace.com> <8549f1fc955faedc35d810a4ad3e21904379a59a.camel@hammerspace.com> <20200429154638.GB4799@fieldses.org> From: Tom Talpey Message-ID: <0e626cd6-deca-14e7-3b9a-3218c4962e63@talpey.com> Date: Thu, 30 Apr 2020 22:05:53 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfHoY/L+S13o8UWK0RkW3tfG4qtdjVXaq40uA6LMi/8+efIlevMffz0Txv47ciGlCgH9NH0oFbbUel6OCGHrVLaWMtLCcj2S6ENOF0bNJXAgTjbqvImbU JdlGMbOpl4tfmFBQFh6SNZRuIPSyuhlLfn32c7J7aqFOjJBvifLzD+XR1x80gDdR3KtJk7qZsWWQkEC4+Oh/xgQQ8hQP4z0M8lz9HEXjNQU3XtUXMbe4wt1O 3rRYXUBGjBbGbBq0mM+5jkQvT3RGfbV2dWm47Cf763I= Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On 4/29/2020 12:22 PM, Olga Kornievskaia wrote: > On Wed, Apr 29, 2020 at 11:46 AM J. Bruce Fields wrote: >> >> On Tue, Apr 28, 2020 at 10:12:29PM -0400, Olga Kornievskaia wrote: >>> I also believe that client shouldn't be coded to a broken server. But >>> in some of those cases, the client is not spec compliant, how is that >>> a server bug? The case of SERVERFAULT of RESTOREFH I'm not sure what >>> to make of it. I think it's more of a spec failure to address. It >>> seems that server isn't allowed to fail after executing a >>> non-idempotent operation but that's a hard requirement. I still think >>> that client's best set of action is to ignore errors on RESTOREFH. >> >> Maybe. But how is a server hitting SERVERFAULT on RESTOREFH, anyway? >> That's pretty weird. > > An example error is ENOMEM. A server is doing operations to lookup the > filehandle (due to it being some other place) and needs to allocate > memory. It's possible that resources are currently unavailable. Since > RESTOREFH doesn't allow EDELAY, server can only return SERVERFAULT. Why does the server need to do that? Surely it can best know how and when to reschedule a memory allocation, instead of whining about its temporary failure to the client. > But as I mentioned before, even if EDELAY was allowed, client only > resends the whole compound which is incorrect in case of > non-idempotent operations. Indeed, that's a protocol imperative, which the client should obey by "cracking" the compound to determine what to retry. Tom.