[dpdk-dev] [PATCH] eal: fix plugindir processing to be filesystem agnostic
Panu Matilainen
pmatilai at redhat.com
Mon Nov 23 12:42:10 CET 2015
On 11/23/2015 12:41 PM, Thomas Monjalon wrote:
> Hi Panu,
>
> 2015-11-23 08:04, Panu Matilainen:
>> On 11/20/2015 06:38 PM, David Marchand wrote:
>>> It looks like you would skip the symbolic links while you were not before.
>>> Intended ?
>>
>> Intended. We want to accept symlinks in the driver directory, but the
>> actual drivers are always regular files.
>
> No we use symbolic links:
> http://dpdk.org/browse/dpdk/commit/mk/rte.lib.mk?id=133b75923
> http://dpdk.org/browse/dpdk/tree/mk/rte.lib.mk#n170
Those symlinks eventually point to the actual drivers which are always
regular files (and not for example directories), that is the point.
Please apply.
>
> On the same topic, you've added a check in 9f8eb1d9:
> + if (stat(solib->name, &sb) == -1) {
> + RTE_LOG(ERR, EAL, "Invalid plugin specified: %s: %s\n",
> + solib->name, strerror(errno));
>
> It is a regression because we cannot anymore load a plugin from
> LD_LIBRARY_PATH without specifying its full path.
> It can be tested with scripts/test-null.sh.
> How do you suggest to fix it?
My first and foremost thought is regret over messing with -d at all,
instead of keeping with the original plan of a new -D option for
directories. Supporting directories with -d opened up all these annoying
little issues that did not exist in the original plan, and lost the
ability to disable/override the default plugindir.
I suppose the fix is to only use a successful stat to determine if
something is a directory and feed everything else to dlopen() which will
then fail on its own if file is not existent.
I'll send a separate patch for the regression.
- Panu -
> Thanks
>
More information about the dev
mailing list