RE: [PATCH v2] fio: add device dax engine

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

 




> -----Original Message-----
> From: fio-owner@xxxxxxxxxxxxxxx [mailto:fio-owner@xxxxxxxxxxxxxxx] On
> Behalf Of Dave Jiang
> Sent: Wednesday, December 07, 2016 4:55 PM
> Subject: [PATCH v2] fio: add device dax engine
> 
...
> +static int fio_devdax_init(struct thread_data *td)
> +{
> +	struct thread_options *o = &td->o;
> +	const char *path;
> +	void *dl;
> +
> +	if ((o->rw_min_bs & page_mask) &&
> +	    (o->fsync_blocks || o->fdatasync_blocks)) {
> +		log_err("fio: mmap options dictate a minimum block size
> of "
> +			"%llu bytes\n", (unsigned long long) page_size);
> +		return 1;
> +	}
> +
> +	path = getenv("FIO_PMEM_LIB");
> +	if (!path)
> +		path = "libpmem.so";
> +
> +	dl = dlopen(path, RTLD_NOW | RTLD_NODELETE);
> +	if (!dl) {
> +		log_err("fio: unable to open libpmem: %s\n", dlerror());
> +		return 1;
> +	}

Should that open libpmem.so.1 rather than libpmem.so? (same question
for the pmemblk engine)

Although my upstream nvml Makefile installs a libpmem.so symbolic link,
it looks like some or all of the distro packages (e.g. Fedora 25 and
SUSE Linux  Enterprise Server 12 SP2) are just installing so.1
symbolic links.  So, fio fails to find the library.

If I understand the version conventions correctly, including .1 would
ensure ABI compatibility.

distro library *pmem* files:
/usr/lib64/libpmemblk.so.1      /usr/lib64/libpmemobj.so.1
/usr/lib64/libpmemblk.so.1.0.0  /usr/lib64/libpmemobj.so.1.0.0
/usr/lib64/libpmemlog.so.1      /usr/lib64/libpmem.so.1
/usr/lib64/libpmemlog.so.1.0.0  /usr/lib64/libpmem.so.1.0.0

vs. upstream nvml installation:
/lib64/libpmem.a            /lib64/libpmemlog.so.1.0.0
/lib64/libpmemblk.a         /lib64/libpmemobj.a
/lib64/libpmemblk.so        /lib64/libpmemobj.so
/lib64/libpmemblk.so.1      /lib64/libpmemobj.so.1
/lib64/libpmemblk.so.1.0.0  /lib64/libpmemobj.so.1.0.0
/lib64/libpmemlog.a         /lib64/libpmem.so
/lib64/libpmemlog.so        /lib64/libpmem.so.1
/lib64/libpmemlog.so.1      /lib64/libpmem.so.1.0.0


---
Robert Elliott, HPE Persistent Memory



��.n��������+%������w��{.n�������^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[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