Re: [PATCH 4/5] fix load_ioengine() not to support no "external:" prefix

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

 



On 31 August 2017 at 21:13,  <kusumi.tomohiro@xxxxxxxxx> wrote:
> From: Tomohiro Kusumi <tkusumi@xxxxxxxxxx>
>
> To load ioengines, it should be done by either
>  1) find the ioengine from the existing (static linked) ioengines or
>  2) dlopen the path in case of external ioengine,
>
> but not to do 2 if 1 failed, as fio doesn't expect an ioengine to be
> dynamically loaded unless with "external:" prefix by design.
>
> The current implementation (i.e. do 2 if 1 failed) happened to have
> been able to load an external ioengine with below syntax without
> "external:" prefix, but this is a bug rather than a feature.
>
> (--)ioengine=./engines/skeleton_external.so
>
> The design of the external ioengine option since below commits in 2007
>  7b395ca5('Prefix external io engine loading with 'external'')
>  8a7bd877('Document loading external io engines')
> is to use "external:/path/to/so" syntax.
>
> This commit fixes above bug, which also potentially avoids the case
> where "/path/to/so" within the given "external:/path/to/so" happens
> to match the existing name, though this is normally unlikely to happen.

People have already started depending on the "wrong" behaviour e.g.
ioengine=libfio_ceph_objectstore.so # must be found in your LD_LIBRARY_PATH
from https://github.com/ceph/ceph/blob/master/src/test/fio/ceph-bluestore.fio
. Because they're external it's hard to find out just how prevalent
this behaviour is.

-- 
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux