linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stanislav Kinsbursky <skinsbursky@parallels.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Pavel Emelianov <xemul@parallels.com>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: NFS client virtualization plan v2
Date: Mon, 12 Sep 2011 19:03:58 +0400	[thread overview]
Message-ID: <4E6E1F5E.1010508@parallels.com> (raw)
In-Reply-To: <1055810C-4BE8-4950-8F39-A844834CF666@oracle.com>

12.09.2011 18:50, Chuck Lever пишет:
>
> On Sep 12, 2011, at 9:59 AM, Stanislav Kinsbursky wrote:
>
>> Hello.
>> This is an update for this plan. Added rpc_pipefs and NFS cache virtualization.
>
> You may need a per-net namespace NSM monitor list as well.  That means running a per-namespace statd, each with its own local sm and sm.bak directories, and keeping the in-kernel monitor information sorted by namespace.
>
> The caller_name argument of NLM_LOCK needs to be the namespace's local utsname, and this string should be used as the my_name argument when sending an SM_MON upcall.  I've got a patch or two that make this simpler.
>

Great. Thanks for advise, Chuck.
Right now this part of the code is not clear enough for me and I'm mainly 
concentrated on rpcbind and pipefs.
Hope for your assistance later when I'll get to the point (if any problems occur).

>> ==============================================================================
>>
>> "NFS client" virtualization plan:
>>
>> _RPC layer_:
>>
>> 1) Make rpcbind clients (rpcb_local_clnt and rpcb_local4_clnt) to be
>> per net namespace.
>>
>> 2) Make RPC pipefs to be per net namespace.
>>
>> _NFS layer_:
>>
>> 1) Net namespace inheritance (current->nsproxy->net have to be used instead
>> of init_net).
>> Pointer to net namespace can be stored on nfs_client structure, which will
>> give easy access to proper net namespace during RPC transports creation.
>>
>> 2) Make Lockd kthread able to handle requests from different net namespaces.
>>
>> 3) Make NFS callbacks kthreads (nfs4_callback_svc and nfs4.1_callback_svc) able
>> to handle requests from different net namespaces.
>>
>> 4) Make NFS info lists (nfs_volume_list and nfs_client_list) to be per
>> net namespace in addition to global ones.
>>
>> 5) Make NFS proc variables and it's internal content variables to be per
>> net namespace in addition to global ones.
>>
>> 6) Make NFS sysctl variables and it's internal content variables to be per
>> net namespace in addition to global ones.
>>
>> 7) Make NFS cache per net namespace.
>>
>>
>>
>> --
>> Best regards,
>> Stanislav Kinsbursky
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
> --
> Chuck Lever
> chuck[dot]lever[at]oracle[dot]com
>
>
>


-- 
Best regards,
Stanislav Kinsbursky

      reply	other threads:[~2011-09-12 15:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-12 13:59 NFS client virtualization plan v2 Stanislav Kinsbursky
2011-09-12 14:50 ` Chuck Lever
2011-09-12 15:03   ` Stanislav Kinsbursky [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E6E1F5E.1010508@parallels.com \
    --to=skinsbursky@parallels.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=xemul@parallels.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).