Re: What does rpc.mountd dlopen() libnfsjunct.so rather than libnfsjunct.so.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-02-26 at 18:01 +1100, NeilBrown wrote:
> On Tue, 25 Feb 2014 22:06:58 -0800 Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
> 
> > 
> > 
> > > On Feb 25, 2014, at 9:16 PM, NeilBrown <neilb@xxxxxxx> wrote:
> > > 
> > > 
> > > See $SUBJ
> > > 
> > > Shared libraries are usually versioned so you can release a new version with
> > > an incompatible API and gradually transition to it.
> > > 
> > > A rpc.mountd dlopens libnfsjunct.so with no version it is effectively
> > > prohibited from ever changing the API in an incompatible way.
> > 
> > There is an API version field that mountd can examine before using the plug-in.  .so symlinks to whichever library version is the blessed one.
> 
> What exactly does "blessed one" mean...
> 
> Maybe the question I want to ask is:
>  Is libnfsjunct.so something that only rpc.mountd would ever use and it could
>  not possibly make any sense for anything else to ever use it?
> 
> If so, then we probably don't want to install the .so.0 or .so.0.0.0 files
> and maybe should give libnfsjunct.so a different suffix because it is not
> "shared" in any sense (I wanted to suggest ".lo" for loadable object, but I
> think that is already used).
> 
> If not, then you could conceivably have two tool installed which use
> different version, so it doesn't make sense for either to be "blessed".
> The bare ".so" name would be "the version that should be used when building
> anything from source".
> 
> Does the question have a simple answer?

Shared objects are always called .so, however private modules SHOULD be
installed in a package private directory and no in /usr/lib[64]

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux