lkml.org 
[lkml]   [2008]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [RFC][PATCH] sunrpc: fix oops in rpc_create() when the mount namespace is unshared
    "Chuck Lever" <chuck.lever@oracle.com> writes:

    > That makes sense.
    >
    > This is likely coming from lockd_down(), and is almost certainly not
    > coming from the same uts namespace as the lockd_up() that did the
    > pmap_set, which was done by the first NFS mount done in the first uts
    > namespace on the system. It's just something that the kernel has to
    > do for maintenance.
    >
    > There is only one lockd() instance that is shared among all the uts
    > namespaces, right? In this case, what is the correct utsname to use?

    Interesting.

    As a general rule I would say we should capture the uts instance
    in locked_up(). And use the same instance in locked_down().

    I'm not at all familiar with how locked interacts with nfs mounts
    in a practical sense. Is there one locked instance (or at least context)
    per nfs mount?

    The way I would expect things to work is that when we mount an nfs filesystem
    from an nfs server. We would create a locked context for that server, that
    additional nfs mounts to the same nfs server could share.

    The way I would expect nfs to interact with the namespaces is for the nfs
    mount to capture the uts and network namespaces, and use them for all
    transactions relating to the mount. In particular when creating
    or a locked context the nfs mount would use the uts namespace and the
    network namespace as discriminators to see if an existing locked context
    is the same.

    I don't think nfs has a 1-1 thread to context model which is where things
    get really hazy for me.


    The conservative play is to always force use of the initial namespace
    and to deny creation of mounts that would use different namespaces. In part
    because the initial version of the namespace always exists. Which means
    as relates to Cedrics initial patch we would still need to know which
    mounts should cause us to use a different uts namespace so we can deny
    them.

    Eric


    \
     
     \ /
      Last update: 2008-09-10 22:07    [W:0.025 / U:32.268 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site