Spdk/test/unit/lib
Darek Stojaczyk c049304a95 env: add spdk_pci_device_unclaim()
spdk_pci_device_claim() could create a file on the
filesystem that couldn't be deleted programatically.
It could only be overwritten - e.g. by another spdk
instance - but this didn't really work if that
another instance had less privileges and hence no
access to the previous file.

This is exactly the case we're seeing on our CI when
running SPDK as non-root. In general it's a good idea
not to leave any leftover files, so now we'll delete
the pci claim file when the spdk process exits.

spdk_pci_device_claim() used to return a file descriptor
that could be simply closed to "un-claim" the device.
It'll now return only a return code. The fd will be
stored inside spdk_pci_device and will be closed either
when user calls the newly introduced spdk_pci_device_unclaim(),
or when the device is detached.

We'll still need to clean up those files somewhere in
our test scripts (probably ./setup.sh cleanup) to
clean up after crashed processes or so - but we don't
necessarily want to run such scripts inside the autotest
whenever a non-root spdk is about to be started.

Change-Id: I797e079417bb56491013cc5b92f0f0d14f451d18
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/467107
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-09-18 20:34:39 +00:00
..
bdev module/raid: simplify code 2019-09-12 12:29:43 +00:00
blob ut/cunit: added missing semicolon on CU_ASSERT macros 2019-07-24 18:21:22 +00:00
blobfs UT/blobfs: add a append write over blob boundary UT 2019-08-14 21:42:06 +00:00
event ut/event: remove unused spdk_event_*() functions 2019-08-28 15:26:12 +00:00
ftl lib/ftl: track defragged bands in ftl_reloc 2019-08-27 18:55:40 +00:00
ioat test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
iscsi iscsi: change the field bhs to pointer type. 2019-09-18 18:14:53 +00:00
json ut/cunit: added missing semicolon on CU_ASSERT macros 2019-07-24 18:21:22 +00:00
jsonrpc jsonrpc: always allocate response for request 2019-07-19 20:56:54 +00:00
log log: passing user-defined log 2019-06-18 03:56:50 +00:00
lvol ut/lvol: fixed scan-build error on spdk_bs_init 2019-07-01 13:08:33 +00:00
notify lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
nvme env: add spdk_pci_device_unclaim() 2019-09-18 20:34:39 +00:00
nvmf test/nvmf: Remove event function stubs 2019-09-18 16:45:05 +00:00
reduce test/reduce: support iovecs in compress/decompress UT 2019-08-21 22:09:32 +00:00
scsi scsi_bdev_ut: add SPDK_CU_ASSERT_FATAL before put task. 2019-06-27 12:09:56 +00:00
sock sock: Fix return value of spdk_sock_group_poll to return number of events 2019-08-02 00:19:43 +00:00
thread thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
util test/unit: add test for base64 with Arm NEON intrinsics 2019-09-09 05:40:57 +00:00
vhost test/vhost: Remove event function stubs 2019-09-18 16:45:05 +00:00
json_mock.c subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
Makefile bdev/nvme: always enable FTL 2019-05-02 08:41:56 +00:00