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 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?

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature


[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