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 Feb 26, 2014, at 5:58 PM, NeilBrown <neilb@xxxxxxx> wrote:

[ … rationale removed … ]

> So rather than dlopening "libnfsjunct.so.0" rpc.mountd should probably
> use a library name provided by the include file
> 
> Thanks,
> NeilBrown
> 
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index ca35de28847a..1a8c20492869 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -1139,7 +1139,11 @@ static struct exportent *lookup_junction(char *dom, const char *pathname,
> 	struct link_map *map;
> 	void *handle;
> 
> -	handle = dlopen("libnfsjunct.so", RTLD_NOW);
> +#ifdef JP_LIB_NAME
> +	handle = dlopen(JP_LIB_NAME, RTLD_NOW);

What I can do now for fedfs-utils 0.10.1 is add a macro to the header file that defines the library name. I'd like to go with

#define JP_NFSPLUGIN_SONAME “libnfsjunct.so.0”

unless there are objections.

The mountd patch could also remove the API version check in invoke_junction_ops() when this macro is present.

> +#else
> +	handle = dlopen("libnfsjunct.so.0", RTLD_NOW);
> +#endif
> 	if (handle == NULL) {
> 		xlog(D_GENERAL, "%s: dlopen: %s", __func__, dlerror());
> 		return NULL;

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com



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