Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp525303pxb; Wed, 22 Sep 2021 07:27:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/W39r0N8PCSAIJjR41XtBq9pFckAybaX4tqx62rivDHBJ3JIAW4XOqWmCh6VApdXTArUA X-Received: by 2002:a17:906:974d:: with SMTP id o13mr40646527ejy.563.1632320849097; Wed, 22 Sep 2021 07:27:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632320849; cv=none; d=google.com; s=arc-20160816; b=m56DJl44VM1PqKyu9TUghGW5N+zV6WC0xveNUnzKuF924+yUomYjaUmdflE3MC+HoZ bdpM34TAMovUPGNN9y/XDmFIKaf6Zdf2ApScY8VexYtjXMiMyULyiJzYzlUUWB/Vi6tX el081omxAuYso6HAbPgsHEGmFzj815CH1Mp6V/iPPwlJjMQS57okFrjkybTw5nNQfaB3 Sx0I/kZZSx6i7d6hQdHW5X7izAMbNMBRKqzVNCibCZ1IeIoDI8bhXnefj8BjYp/l6F+S rk5UXxcEk/wu0AUNkAzViYqg27FOGV8N1451F+KmVnJzHD9JrTWYWAOyyXQl4qyPWhyZ Y0sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:dkim-filter; bh=ze+0jcQBzL6Ulx22ziDKjl/vaKbRclTnC12s+Dg9obI=; b=FXQpJvbY2Ps5ydg7O4j1Maffdjos/1h9HFHgCB4MU7wWi0hSmfCHcfIhO/v1MdDk5t OubY/t9rwCRk6wNv88Q7lw44eHUA5mTErkcD6VZGCuzjaDWgFodaFawBaGPI8vo+F+rj yH+ZJGLGX5lCdP5E3446dbARgAeYzIe7GY26zOseSZchKYR9tfF/UaMnAQ4V02dV2yS3 5/Y/vj4eYYlE4lG2h4uE3uxW+aM9Fu6YJ1HFCRBVD9bokwXwM/V0CYn8kINoEMeOYpq4 MEhwggk8FbsyfXL3zcDIs+JsJZzc/+J+1FyYwrhVShpE9ZFGVDl1LaiCRjWFhmHBLPrR c6fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fieldses.org header.s=default header.b=T71QDNLT; 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 n5si3334019ejl.433.2021.09.22.07.26.58; Wed, 22 Sep 2021 07:27:29 -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; dkim=pass header.i=@fieldses.org header.s=default header.b=T71QDNLT; 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 S235600AbhIVO20 (ORCPT + 99 others); Wed, 22 Sep 2021 10:28:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234359AbhIVO20 (ORCPT ); Wed, 22 Sep 2021 10:28:26 -0400 Received: from fieldses.org (fieldses.org [IPv6:2600:3c00:e000:2f7::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D185C061574 for ; Wed, 22 Sep 2021 07:26:56 -0700 (PDT) Received: by fieldses.org (Postfix, from userid 2815) id 1C7A6367; Wed, 22 Sep 2021 10:26:55 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.11.0 fieldses.org 1C7A6367 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fieldses.org; s=default; t=1632320815; bh=ze+0jcQBzL6Ulx22ziDKjl/vaKbRclTnC12s+Dg9obI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=T71QDNLTYYL0ZvBWv1dAf3PL1HNULmXGqi8nuAnGm49LqLRZTF3bOy6YTcARy5g71 FFHY5JzQJl5wMd0J1G8wdrw+oXD2633dS36EL2PaBDJrWG70Jh19Q6ImDzPlSCYSoY dp5V/VIVZ/wRXrpiZyB3oYNauHWsjgAgcyY1dGmI= Date: Wed, 22 Sep 2021 10:26:55 -0400 From: Bruce Fields To: Daire Byrne Cc: Chuck Lever III , Linux NFS Mailing List Subject: Re: [PATCH] nfs: reexport documentation Message-ID: <20210922142655.GA22937@fieldses.org> References: <20210921143259.GB21704@fieldses.org> <37851433-48C9-4585-9B68-834474AA6E06@oracle.com> <20210921160030.GC21704@fieldses.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Wed, Sep 22, 2021 at 10:47:35AM +0100, Daire Byrne wrote: > We don't use or need crossmnt functionality, but I know from chatting > to others within our industry that the fsid/crossmnt limitation causes > them the most grief and confusion. I think in the case of Netapps, > there are similar problems with trying to re-export a namespace made > up of different volumes? > > As noted on the wiki, the only way around that is probably to have a > "proxy" mode (similar to what ganesha does?). I'm not sure what Ganesha does. I spent some time thinking about and couldn't figure out how to do it, at least not on my own in a reasonable amount of time. I liked the idea of limiting the proxy to reexport only one original server and reusing the filehandles from the original server without any wrapping. That addresses the fsid/crossmnt limitation and filehandle length limitations. It means proxies all share the same filehandles so eventually you could also implement migration and failover between them and the original server. It means when you get a filehandle the only way to find out *anything* about it--even what filesystem it's from--is to go ask the server. That's slow, so you need a filehandle cache. You have to deal with the case where you get a filehandle for an object that isn't mounted yet. Its parents may not be mounted yet either. If it's a regular file you can't call LOOKUPP on it. I'm not sure how to handle the vfs details in that case--how do you fake up a superblock and vfsmount? Simpler might be to give up on that idea of reusing the original server's filehandle, and automatically generate and persistently store uuids for new filesystems as you discover them. I don't know, I'm rambling. --b.