History log of /spdk/test/unit/lib/blob/blob.c/ (Results 101 – 125 of 226)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
b88f0c4f17-Feb-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: simplify error handling for UT

Failure to prepare CUnit for tests is always a fatal error,
and application exits.
Most test managment functions in CUnit set some CU_ErrorCode,
that can be r

ut/blob: simplify error handling for UT

Failure to prepare CUnit for tests is always a fatal error,
and application exits.
Most test managment functions in CUnit set some CU_ErrorCode,
that can be retrived by return code from a function or CU_get_error().

Thus usual structure of UT in SPDK checked every output from every
test managment function.
There is a helper function CU_set_error_action() that when set to
CUEA_ABORT, will abort the application run with proper error return code.
Along with nice error message.

For example if one were to add same UT twice:
"Aborting due to error #32: Test having this name already in suite."
Application return code set to 32.

Using CU_set_error_action(CUEA_ABORT), removes the need for error checking
on test managment functions in CUnit.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ida7de5e040b714509e79957d47a006ee518a42b8
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/930
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...

a324e6d011-Feb-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: issue to consecutive md syncs

Expands blob_simultaneous_operations to cover case
when second md sync is perfomed without waiting for the first
one to complete.

The blob state is forced in

ut/blob: issue to consecutive md syncs

Expands blob_simultaneous_operations to cover case
when second md sync is perfomed without waiting for the first
one to complete.

The blob state is forced in UT, but in normal usage could be
changed by modifying xattr, allocating thin clusters or other.

Related to #1170

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I880d289cdf957d4513c080efdcb7a5d8c6b3b447
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/775
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...

a123ac2710-Feb-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: add tests for persiting metadata

This new UT is checking validity of md sync being run
along another md sync with changed metadata.

At this time added case where first md sync is being
int

ut/blob: add tests for persiting metadata

This new UT is checking validity of md sync being run
along another md sync with changed metadata.

At this time added case where first md sync is being
interrupted by removal of xattr with second md sync.
This interruption is perfomed at increasing number of
poller executions, until the number is enough to
complete first md sync.

There are two expected states of used_md_pages array,
either with xattr or without. The state is verified
after md syncs.

This UT will be expaned in similar manner by other
operations (than xattr) that casue changes in persisted metadata.

Related to #960

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I251dca92ffc3080d8dc503a7f1ff342aa59adef9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/774
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...

248fbf2a11-Feb-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: use poll_thread_times()

Making use of recently added utility to poll exact number of times.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I23a9dc702c899285626522ace

ut/blob: use poll_thread_times()

Making use of recently added utility to poll exact number of times.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I23a9dc702c899285626522ace8ec77a9ba0f7757
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/773
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/ISSUE_TEMPLATE.md
/spdk/Makefile
/spdk/README.md
/spdk/app/iscsi_tgt/Makefile
/spdk/app/nvmf_tgt/Makefile
/spdk/app/spdk_tgt/Makefile
/spdk/app/vhost/Makefile
/spdk/autobuild.sh
/spdk/autotest.sh
/spdk/doc/about.md
/spdk/doc/applications.md
/spdk/doc/bdev.md
/spdk/doc/blob.md
/spdk/doc/concurrency.md
/spdk/doc/containers.md
/spdk/doc/ftl.md
/spdk/doc/gdb_macros.md
/spdk/doc/getting_started.md
/spdk/doc/index.md
/spdk/doc/iscsi.md
/spdk/doc/jsonrpc.md
/spdk/doc/notify.md
/spdk/doc/nvme-cli.md
/spdk/doc/nvme.md
/spdk/doc/nvmf.md
/spdk/doc/spdkcli.md
/spdk/doc/system_configuration.md
/spdk/doc/vagrant.md
/spdk/doc/vhost.md
/spdk/doc/vhost_processing.md
/spdk/doc/virtio.md
/spdk/doc/vpp_integration.md
/spdk/dpdkbuild/Makefile
/spdk/examples/bdev/fio_plugin/Makefile
/spdk/examples/bdev/fio_plugin/README.md
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/bdev/hello_world/Makefile
/spdk/examples/blob/cli/Makefile
/spdk/examples/blob/cli/README.md
/spdk/examples/blob/hello_world/Makefile
/spdk/examples/blob/hello_world/hello_blob.c
/spdk/examples/nvme/fio_plugin/README.md
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvmf/nvmf/Makefile
/spdk/examples/nvmf/nvmf/README.md
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/include/spdk/accel_engine.h
/spdk/include/spdk/bdev_zone.h
/spdk/include/spdk/event.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_cmd.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/thread.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/ipsecbuild/Makefile
/spdk/isalbuild/Makefile
/spdk/lib/Makefile
/spdk/lib/accel/Makefile
/spdk/lib/accel/accel_engine.c
/spdk/lib/accel/accel_engine_rpc.c
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_zone.c
/spdk/lib/bdev/scsi_nvme.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/env_dpdk/init.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/event/app.c
/spdk/lib/event/json_config.c
/spdk/lib/event/reactor.c
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/iscsi/portal_grp.h
/spdk/lib/log/log.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/ctrlr_discovery.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/transport.h
/spdk/lib/rocksdb/env_spdk.cc
/spdk/lib/rocksdb/spdk.rocksdb.mk
/spdk/lib/thread/thread.c
/spdk/lib/trace/trace.c
/spdk/mk/spdk.lib.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.modules.mk
/spdk/module/Makefile
/spdk/module/accel/Makefile
/spdk/module/accel/ioat/Makefile
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/accel/ioat/accel_engine_ioat.h
/spdk/module/accel/ioat/accel_engine_ioat_rpc.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/crypto/vbdev_crypto.h
/spdk/module/bdev/crypto/vbdev_crypto_rpc.c
/spdk/module/bdev/delay/vbdev_delay.c
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/gpt/vbdev_gpt.c
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/bdev/nvme/nvme_rpc.c
/spdk/module/bdev/nvme/vbdev_opal.c
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/raid0.c
/spdk/module/bdev/split/vbdev_split.c
/spdk/module/event/subsystems/Makefile
/spdk/module/event/subsystems/accel/Makefile
/spdk/module/event/subsystems/accel/accel.c
/spdk/module/event/subsystems/bdev/bdev.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/sock/posix/posix.c
/spdk/scripts/config_converter.py
/spdk/scripts/genconfig.py
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/__init__.py
/spdk/scripts/rpc/accel.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/ioat.py
/spdk/scripts/setup.sh
/spdk/scripts/vagrant/README.md
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/Vagrantfile_vhost_vm
/spdk/scripts/vagrant/create_vbox.sh
/spdk/scripts/vagrant/update.sh
/spdk/test/app/bdev_svc/Makefile
/spdk/test/app/fuzz/nvme_fuzz/README.md
/spdk/test/app/fuzz/vhost_fuzz/README.md
/spdk/test/app/match/match
/spdk/test/bdev/bdevio/Makefile
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevperf/Makefile
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/blockdev.sh
/spdk/test/bdev/gen_crypto.sh
/spdk/test/blobfs/blobfs.sh
/spdk/test/blobfs/fuse/Makefile
/spdk/test/blobfs/mkfs/Makefile
/spdk/test/blobstore/blobstore.sh
/spdk/test/blobstore/btest.out.ignore
/spdk/test/blobstore/btest.out.match
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/README.md
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/common/lib/ut_multithread.c
/spdk/test/config_converter/spdk_config.json
/spdk/test/config_converter/spdk_config_virtio.json
/spdk/test/config_converter/test_converter.sh
/spdk/test/event/reactor_perf/reactor_perf.c
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/json_config/alias_rpc/conf.json
/spdk/test/json_config/clear_config.py
/spdk/test/json_config/config_filter.py
/spdk/test/lvol/basic.sh
/spdk/test/lvol/hotremove.sh
/spdk/test/lvol/lvol.sh
/spdk/test/lvol/lvol2.sh
/spdk/test/lvol/resize.sh
/spdk/test/lvol/test_cases.py
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/nvme_rpc.sh
/spdk/test/nvme/perf/README.md
/spdk/test/nvme/spdk_nvme_cli.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/pmem/pmem.sh
/spdk/test/unit/lib/bdev/Makefile
/spdk/test/unit/lib/bdev/raid/Makefile
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/.gitignore
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/Makefile
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/bdev_raid_ut.c
blob_ut.c
/spdk/test/unit/lib/event/app.c/app_ut.c
/spdk/test/unit/lib/event/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/fiotest/conf.json
/spdk/test/vhost/initiator/bdev.json
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/other/conf.json
655e8e1615-Jan-2020 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

lib/thread: Assert if spdk_put_io_channel() is called on the wrong thread

spdk_put_io_channel() was designed to be called on the same thread
that called spdk_get_io_channel(). spdk_put_io_channel()

lib/thread: Assert if spdk_put_io_channel() is called on the wrong thread

spdk_put_io_channel() was designed to be called on the same thread
that called spdk_get_io_channel(). spdk_put_io_channel() sends a
message to its own thread, to allow the context to unwind before
releasing the resources. This had the side effect to allow an
incorrect thread to call spdk_put_io_channel(). This patch will fix
that.

Bdevperf tool had a design flaw that needed the side effect, but
it was fixed recently. We do not know if we have any other case.

Hence add assert to spdk_put_io_channel() to find other case.

We found that unit test for blobstore had called
spdk_put_io_channel() and fix it together in this patch.

Besides, correct the comment for spdk_put_io_channel() in
include/spdk/thread.h not to create any other case in future.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I6ec7bf074818abef43b23ca40bc9385adac70a75
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479390
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>

show more ...


/spdk/.gitignore
/spdk/CHANGELOG.md
/spdk/app/spdk_lspci/spdk_lspci.c
/spdk/autorun_post.py
/spdk/doc/bdev.md
/spdk/doc/blob.md
/spdk/doc/ftl.md
/spdk/doc/performance_reports.md
/spdk/examples/bdev/fio_plugin/Makefile
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/bdev/hello_world/Makefile
/spdk/examples/bdev/hello_world/hello_bdev.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/vmd/led/led.c
/spdk/examples/vmd/lsvmd/lsvmd.c
/spdk/include/spdk/base64.h
/spdk/include/spdk/event.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/version.h
/spdk/include/spdk/vmd.h
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/env_dpdk/memory.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
/spdk/lib/util/base64.c
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd.h
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/compress/vbdev_compress.h
/spdk/module/bdev/compress/vbdev_compress_rpc.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/crypto/vbdev_crypto.h
/spdk/module/bdev/crypto/vbdev_crypto_rpc.c
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/bdev_raid_rpc.c
/spdk/module/event/subsystems/vmd/vmd.c
/spdk/module/sock/posix/posix.c
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/vagrant/README.md
/spdk/test/blobfs/blobfs.sh
/spdk/test/common/autotest_common.sh
/spdk/test/compress/compress.sh
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/nvmf/host/bdevperf.sh
blob_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/util/base64.c/base64_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
12d1404123-Jan-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

lib/blob: set default use_extent_table to true

Extent table and extent page descriptors are now
set to be default way clusters are serialized on disk.

With this patch UT are ran with and without
ex

lib/blob: set default use_extent_table to true

Extent table and extent page descriptors are now
set to be default way clusters are serialized on disk.

With this patch UT are ran with and without
extent table.

Changed two asserts in test, since amount is dependent on
which type of serialization is used.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ica58fce6a4effd014d7dd40ee26edd0fa3196d0f
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/481901
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>

show more ...

954cb9cd20-Jan-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: redefine spdk_blob_opts_init()

This will be used to add another run of whole UT suite
with extent pages on/off.

Next patch in series will be enabling both types of
extent serialization for

ut/blob: redefine spdk_blob_opts_init()

This will be used to add another run of whole UT suite
with extent pages on/off.

Next patch in series will be enabling both types of
extent serialization for all UT.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ia8b4b8822edefb90ffc13cf777885f9af95e4545
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/482170
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>

show more ...

6a5bb71227-Jan-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: replace all blob creation with extended version

All the non-ext version of the call is doing, is calling
ext with NULL as opts. Then default opts are used in
its place.

This change was fac

ut/blob: replace all blob creation with extended version

All the non-ext version of the call is doing, is calling
ext with NULL as opts. Then default opts are used in
its place.

This change was facilitated by next on in series,
where all blob opts will be initalized in UT
with parameter use_extent_table either set to
true or false.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I62b642c1808b38a5f7c94a5900f25f4978a4ec39
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/482859
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>

show more ...

97a7cacc24-Jan-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: assure bs and blobs have expected state during power failure

After creation of blobs in both tests, only clusters indexed from
0 to 10 are supposed to be used. Index 0 for md and 1-10 for d

ut/blob: assure bs and blobs have expected state during power failure

After creation of blobs in both tests, only clusters indexed from
0 to 10 are supposed to be used. Index 0 for md and 1-10 for data
of single blob since it was create thick provisoned.
Cluster allocations are done in order so if there was a bug for
overflow amount of clusters claimed, first in order would be
one with index 11.
This patch adds asserts after each bs load for first data cluster
that is supposed to be used and for first data cluster that is
not.
During the tests those should remain constant.

When creating/deleting snapshots, the blobs are affected
by changing their type to/from thin_provisioned.
Added asserts to verify their state at every blob open.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I38418da55850d5b8468e578b3c42c5b817ae8045
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/482661
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

6429953a24-Jan-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: do not check for success on power failure UT

g_bserrno from blob deletion or snapshot creation,
should not be checked. It is implementation
dependent whether the error (or success) from tho

ut/blob: do not check for success on power failure UT

g_bserrno from blob deletion or snapshot creation,
should not be checked. It is implementation
dependent whether the error (or success) from those
calls actually means that enough data was persisted
on disk.
This test case should work even if we set the threshold
high enough that no failed opperations occur.

On the other hand some parts of those calls do cleanup
in them, meanwhile there is enough metadata data on disk already.
Such as cleaning up unused clusters or pages issue
writes, but at that point the blobs already are in expected
state.

Thus removed assert for g_bserrno, as failure is not indicative
of impossibility to recover.

While here, removed the spdk_bs_unload(). This UT are for
testing power fail safety. Never should it be the case that
enough writes occured in create/delete, but blobs are not
in the expected state.
When such bug would be introduced, it could be covered up
by spdk_bs_unload() cleanly closing up the blobstore.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ic69c3061f2cc1fe04bf895632cdb11efb2fe6912
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/482660
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

eebbd95103-Jan-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

lib/blob: pass Extent Page offset on cluster allocation

Extent Pages claim and insertion can be asynchronous
when cluster allocation happens due to writing to a new cluster.

In such case lowest fre

lib/blob: pass Extent Page offset on cluster allocation

Extent Pages claim and insertion can be asynchronous
when cluster allocation happens due to writing to a new cluster.

In such case lowest free cluster and lowest free md page
is claimed, and message is passed to md_thread.
Where inserting both into the arrays and md_sycn happens.

This patch adds parameters to pass the Extent Page offset
in such case.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I46d8ace9cd5abc0bfe48174c2f2ec218145b9c75
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479849
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/autobuild.sh
/spdk/autorun_post.py
/spdk/autotest.sh
/spdk/doc/Doxyfile
/spdk/doc/containers.md
/spdk/doc/misc.md
/spdk/doc/nvme.md
/spdk/doc/performance_reports.md
/spdk/examples/blob/hello_world/hello_blob.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/sock.h
/spdk/include/spdk_internal/sock.h
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/conn.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/transport.h
/spdk/lib/rte_vhost/rte_vhost.h
/spdk/lib/rte_vhost/vhost.c
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
/spdk/lib/vhost/vhost_blk.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/bdev/zone_block/vbdev_zone_block.c
/spdk/module/event/subsystems/nvmf/event_nvmf.h
/spdk/module/sock/posix/posix.c
/spdk/module/sock/vpp/vpp.c
/spdk/scripts/dpdk_mem_info.py
/spdk/scripts/iostat.py
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/blockdev.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/lib/test_sock.c
/spdk/test/common/skipped_build_files.txt
/spdk/test/common/skipped_tests.txt
/spdk/test/dpdk_memory_utility/test_dpdk_mem_info.sh
/spdk/test/fuzz/autofuzz_nvmf.sh
/spdk/test/fuzz/autofuzz_vhost.sh
/spdk/test/iscsi_tgt/common.sh
/spdk/test/lvol/lvol.sh
/spdk/test/lvol/rpc_commands_lib.py
/spdk/test/lvol/test_cases.py
/spdk/test/nvme/spdk_nvme_cli_cuse.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/initiator_timeout.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
blob_ut.c
/spdk/test/unit/lib/iscsi/common.c
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/vhost/perf_bench/vhost_perf.sh
ea69d6d623-Oct-2019 paul luse <paul.e.luse@intel.com>

lib/blob: store clear_method in per blob metadata

Accept a clear method option on blob create by adding clear_method
to the opts structure passed in to _spdk_bs_create_blob(). Store
these 2 bits in

lib/blob: store clear_method in per blob metadata

Accept a clear method option on blob create by adding clear_method
to the opts structure passed in to _spdk_bs_create_blob(). Store
these 2 bits in md_ro_flags so that earlier versions without an
understanding of these bits can not alter metadata.

The new metadata values will be used later in the series.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I5440645ca20b426778d13b2e544b65dc2b3b83c7
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/472204
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/autotest.sh
/spdk/doc/jsonrpc.md
/spdk/dpdk
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_spec.h
/spdk/include/spdk/sock.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/nvmf.h
/spdk/include/spdk_internal/sock.h
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/ftl/ftl_addr.h
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_debug.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_reloc.h
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/lvol/lvol.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/custom_cmd_hdlr.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/transport.h
/spdk/lib/sock/sock.c
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.modules.mk
/spdk/module/bdev/Makefile
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/ftl/Makefile
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl.h
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/nvme/Makefile
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/nvme/common.h
/spdk/module/bdev/zone_block/vbdev_zone_block.c
/spdk/module/event/subsystems/nvmf/conf.c
/spdk/module/event/subsystems/nvmf/event_nvmf.h
/spdk/module/event/subsystems/nvmf/nvmf_rpc.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/vpp/vpp.c
/spdk/scripts/check_format.sh
/spdk/scripts/gen_ftl.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/nvmf.py
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/common/lib/test_sock.c
/spdk/test/config_converter/test_converter.sh
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/common.sh
/spdk/test/ftl/config/fio/drive-prep.fio
/spdk/test/ftl/config/fio/randr.fio
/spdk/test/ftl/config/fio/randrw.fio
/spdk/test/ftl/config/fio/randw-verify-depth128.fio
/spdk/test/ftl/config/fio/randw-verify-j2.fio
/spdk/test/ftl/config/fio/randw-verify-qd128-ext.fio
/spdk/test/ftl/config/fio/randw-verify.fio
/spdk/test/ftl/config/fio/randw.fio
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/json.sh
/spdk/test/ftl/restore.sh
/spdk/test/iscsi_tgt/perf/iscsi_target.sh
/spdk/test/json_config/alias_rpc/alias_rpc.sh
/spdk/test/json_config/json_diff.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/hotplug.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvme/perf/run_perf.sh
/spdk/test/nvme/spdk_nvme_cli_cuse.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/target/identify_passthru.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
blob_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/ftl/ftl_md/ftl_md_ut.c
/spdk/test/unit/lib/ftl/ftl_ppa/ftl_ppa_ut.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/ftl/ftl_wptr/ftl_wptr_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_ocssd_cmd.c/nvme_ns_ocssd_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/sock/posix.c/posix_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/integrity/integrity_vm.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
72f6c80831-Dec-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: check for clone count in blob_snapshot UT

Previously this UT was only checking the snapshot counts.
This was correct, but since the blobs in this tests are
clones of each other - it would m

ut/blob: check for clone count in blob_snapshot UT

Previously this UT was only checking the snapshot counts.
This was correct, but since the blobs in this tests are
clones of each other - it would make sense to check it as well.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Id9dec7f0a292cbb52da8196bfc77679fc0f49d8b
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478976
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


/spdk/autobuild.sh
/spdk/autorun_post.py
/spdk/autotest.sh
/spdk/configure
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/thread.h
/spdk/include/spdk_internal/nvmf.h
/spdk/include/spdk_internal/vhost_user.h
/spdk/lib/bdev/bdev.c
/spdk/lib/event/app.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/rte_vhost/Makefile
/spdk/lib/thread/thread.c
/spdk/lib/vhost/vhost_nvme.c
/spdk/scripts/check_format.sh
/spdk/scripts/vagrant/autorun-spdk.conf
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/blockdev.sh
/spdk/test/blobfs/blobfs.sh
/spdk/test/blobfs/rocksdb/rocksdb.sh
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/vm_setup.sh
/spdk/test/env/env.sh
/spdk/test/event/event.sh
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/restore.sh
/spdk/test/ioat/ioat.sh
/spdk/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/initiator/initiator.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/pmem/iscsi_pmem.sh
/spdk/test/iscsi_tgt/rbd/rbd.sh
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/hotplug.sh
/spdk/test/nvme/hw_hotplug.sh
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/spdk_nvme_cli.sh
/spdk/test/nvme/spdk_nvme_cli_cuse.sh
/spdk/test/nvme/spdk_smartctl_cuse.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/ocf/ocf.sh
/spdk/test/pmem/pmem.sh
/spdk/test/spdkcli/iscsi.sh
/spdk/test/spdkcli/nvmf.sh
/spdk/test/spdkcli/pmem.sh
/spdk/test/spdkcli/raid.sh
/spdk/test/spdkcli/rbd.sh
/spdk/test/spdkcli/tcp.sh
/spdk/test/spdkcli/vhost.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
blob_ut.c
/spdk/test/vhost/hotplug/common.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/vhost.sh
/spdk/test/vmd/vmd.sh
159703c931-Dec-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: added poll_threads() after deleting blob

For deletion to actually deliver results, poll_threads()
has to be called.

g_bserrno came from previous API call, not delete itself.

This patch fi

ut/blob: added poll_threads() after deleting blob

For deletion to actually deliver results, poll_threads()
has to be called.

g_bserrno came from previous API call, not delete itself.

This patch fixes it so that g_bserrno is from the delete itself.

Next patch in series adds checks for number of clones.
Having such checks in first place,
would allow to notice lack of poll_threads() here before.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I3477f5c5b99106b70ee3d5706906a4dc94283180
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478975
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/iscsi_tgt/Makefile
/spdk/app/nvmf_tgt/Makefile
/spdk/app/spdk_tgt/Makefile
/spdk/app/vhost/Makefile
/spdk/autobuild.sh
/spdk/autotest.sh
/spdk/doc/jsonrpc.md
/spdk/doc/nvme.md
/spdk/doc/performance_reports.md
/spdk/doc/vmd.md
/spdk/dpdk
/spdk/etc/spdk/nvmf.conf.in
/spdk/examples/Makefile
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/fio_plugin/README.md
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/perf/Makefile
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvmf/Makefile
/spdk/examples/nvmf/nvmf/.gitignore
/spdk/examples/nvmf/nvmf/Makefile
/spdk/examples/nvmf/nvmf/README.md
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/include/linux/virtio_config.h
/spdk/include/linux/virtio_ring.h
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/env_dpdk.h
/spdk/include/spdk/event.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_fc_spec.h
/spdk/include/spdk/nvmf_spec.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/util.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/sock.h
/spdk/include/spdk_internal/uring.h
/spdk/include/spdk_internal/vhost_user.h
/spdk/include/spdk_internal/virtio.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/part.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/env_internal.h
/spdk/lib/env_dpdk/init.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/event/app.c
/spdk/lib/event/reactor.c
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_addr.h
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_debug.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_rwb.h
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/ftl/ftl_trace.h
/spdk/lib/ioat/ioat.c
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/conn.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_rpc.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/iscsi/task.c
/spdk/lib/iscsi/task.h
/spdk/lib/net/interface.c
/spdk/lib/net/net_rpc.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_quirks.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.h
/spdk/lib/reduce/reduce.c
/spdk/lib/rpc/rpc.c
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
/spdk/lib/vhost/rte_vhost_compat.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/virtio/virtio.c
/spdk/lib/virtio/virtio_user.c
/spdk/lib/virtio/virtio_user/vhost.h
/spdk/lib/virtio/virtio_user/vhost_user.c
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd.h
/spdk/mk/spdk.lib_deps.mk
/spdk/module/Makefile
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/nvme/Makefile
/spdk/module/bdev/nvme/bdev_ftl.c
/spdk/module/bdev/nvme/bdev_ftl.h
/spdk/module/bdev/nvme/bdev_ftl_rpc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_cuse_rpc.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/bdev/nvme/bdev_ocssd.h
/spdk/module/bdev/nvme/bdev_ocssd_rpc.c
/spdk/module/bdev/nvme/common.c
/spdk/module/bdev/nvme/common.h
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/bdev/uring/bdev_uring.c
/spdk/module/bdev/virtio/bdev_virtio_blk.c
/spdk/module/bdev/virtio/bdev_virtio_scsi.c
/spdk/module/copy/ioat/copy_engine_ioat.c
/spdk/module/env_dpdk/Makefile
/spdk/module/env_dpdk/env_dpdk_rpc.c
/spdk/module/event/rpc/app_rpc.c
/spdk/module/event/subsystems/nvmf/conf.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/vpp/vpp.c
/spdk/scripts/check_format.sh
/spdk/scripts/gen_ftl.sh
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/config.json
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/rpc.py
/spdk/scripts/rpc/__init__.py
/spdk/scripts/rpc/app.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/client.py
/spdk/scripts/rpc/env_dpdk.py
/spdk/scripts/setup.sh
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/blockdev.sh
/spdk/test/blobfs/blobfs.sh
/spdk/test/blobfs/rocksdb/rocksdb.sh
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/blobstore/blobstore.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_env.c
/spdk/test/common/lib/test_sock.c
/spdk/test/compress/compress.sh
/spdk/test/env/env.sh
/spdk/test/env/env_dpdk_post_init/env_dpdk_post_init.c
/spdk/test/env/mem_callbacks/mem_callbacks.c
/spdk/test/env/memory/Makefile
/spdk/test/env/memory/memory_ut.c
/spdk/test/event/event.sh
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/common.sh
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/json.sh
/spdk/test/ftl/restore.sh
/spdk/test/ioat/ioat.sh
/spdk/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh
/spdk/test/iscsi_tgt/calsoft/calsoft.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/filesystem/filesystem.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/initiator/initiator.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/iscsi_tgt.sh
/spdk/test/iscsi_tgt/lvol/iscsi_lvol.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/pmem/iscsi_pmem.sh
/spdk/test/iscsi_tgt/qos/qos.sh
/spdk/test/iscsi_tgt/rbd/rbd.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/rpc_config/rpc_config.sh
/spdk/test/iscsi_tgt/trace_record/trace_record.sh
/spdk/test/lvol/basic.sh
/spdk/test/lvol/common.sh
/spdk/test/lvol/lvol.sh
/spdk/test/lvol/lvol2.sh
/spdk/test/lvol/test_cases.py
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/err_injection/err_injection.c
/spdk/test/nvme/hotplug.sh
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/nvme_opal.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvme/perf/run_perf.sh
/spdk/test/nvme/spdk_nvme_cli.sh
/spdk/test/nvme/spdk_nvme_cli_cuse.sh
/spdk/test/nvme/spdk_smartctl_cuse.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/identify_kernel_nvmf.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/host/target_disconnect.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/fuzz.sh
/spdk/test/nvmf/target/initiator_timeout.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/multitarget.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_example.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/ocf/ocf.sh
/spdk/test/pmem/pmem.sh
/spdk/test/rpc_client/rpc_client.sh
/spdk/test/rpc_client/rpc_client_test.c
/spdk/test/spdkcli/iscsi.sh
/spdk/test/spdkcli/nvmf.sh
/spdk/test/spdkcli/pmem.sh
/spdk/test/spdkcli/raid.sh
/spdk/test/spdkcli/rbd.sh
/spdk/test/spdkcli/tcp.sh
/spdk/test/spdkcli/vhost.sh
/spdk/test/spdkcli/virtio.sh
/spdk/test/unit/lib/bdev/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_ocssd.c/.gitignore
/spdk/test/unit/lib/bdev/bdev_ocssd.c/Makefile
/spdk/test/unit/lib/bdev/bdev_ocssd.c/bdev_ocssd_ut.c
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
blob_ut.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/event/Makefile
/spdk/test/unit/lib/event/reactor.c/.gitignore
/spdk/test/unit/lib/event/reactor.c/Makefile
/spdk/test/unit/lib/event/reactor.c/reactor_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_md/ftl_md_ut.c
/spdk/test/unit/lib/ftl/ftl_ppa/ftl_ppa_ut.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/ftl/ftl_rwb.c/ftl_rwb_ut.c
/spdk/test/unit/lib/ftl/ftl_wptr/ftl_wptr_ut.c
/spdk/test/unit/lib/iscsi/common.c
/spdk/test/unit/lib/iscsi/conn.c/Makefile
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/Makefile
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c
/spdk/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c
/spdk/test/unit/lib/nvme/Makefile
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_cmd.c/nvme_ctrlr_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvme/nvme_uevent.c/.gitignore
/spdk/test/unit/lib/nvme/nvme_uevent.c/Makefile
/spdk/test/unit/lib/nvme/nvme_uevent.c/nvme_uevent_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/sock/Makefile
/spdk/test/unit/lib/sock/posix.c/.gitignore
/spdk/test/unit/lib/sock/posix.c/Makefile
/spdk/test/unit/lib/sock/posix.c/posix_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/fuzz/fuzz.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/migration/migration-tc1.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/vhost.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/test/vmd/vmd.sh
c1f9a62c26-Nov-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: fix freeing io_channels

This patch fixes minor unit test deallocations around io_channels.
It has not exposed any issues in blobstore code, but should always be right
to prevent covering up

ut/blob: fix freeing io_channels

This patch fixes minor unit test deallocations around io_channels.
It has not exposed any issues in blobstore code, but should always be right
to prevent covering up any issues later.

1) Two spdk_bs_free_io_channel() were missing
2) Dirty shutdown should still free bs resources with _spdk_bs_free()

Sample log at the end of UT, before this patch:
thread.c: 200:_free_thread: *ERROR*: thread 0x617000000080 still has channel for io_device blobstore
thread.c: 200:_free_thread: *ERROR*: thread 0x617000000080 still has channel for io_device blobstore
thread.c: 200:_free_thread: *ERROR*: thread 0x617000000080 still has channel for io_device blobstore
thread.c: 180:spdk_thread_lib_fini: *ERROR*: io_device blobstore not unregistered
thread.c: 180:spdk_thread_lib_fini: *ERROR*: io_device blobstore not unregistered

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I187bc61bb6e094c9c740a987e7d14760551a0503
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475872
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...

8b21bab222-Nov-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blob: test cluster selection using _spdk_bs_allocate_cluster()

Previously blob_insert_cluster_msg UT specified the cluster
which will be used to store LBA. So for blob the cluster [1],
was always

ut/blob: test cluster selection using _spdk_bs_allocate_cluster()

Previously blob_insert_cluster_msg UT specified the cluster
which will be used to store LBA. So for blob the cluster [1],
was always stored as cluster 0xF in blobstore.

This patch changes _spdk_bs_claim_cluster() with preselected
cluster in blobstore to _spdk_bs_allocate_cluster() that
will choose first free one in the map.

It will help in further patches that add more logic
on extent table and extent pages in _spdk_bs_allocate_cluster().
Otherwise this patch 'hard coded' values might get more complex
than needed.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I238329b2191e7ebd3f73c1fe85d7e1da0249979e
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475493
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

0d1aa02522-Nov-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

blob: fix sequentially allocated clusters starting from 0

When serializing extents, run-length encoding is supposed to
1) RLE all sequential LBAs
2) RLE zero LBAs (unallocated)

There is one special

blob: fix sequentially allocated clusters starting from 0

When serializing extents, run-length encoding is supposed to
1) RLE all sequential LBAs
2) RLE zero LBAs (unallocated)

There is one special case, with sequential LBAs that start
with 0 LBA. This is RLE as 1) case, but results in descriptor
matching case 2). Which causes loss of allocated clusters.

This requires following conditions to be met:
- blobstore has just a single cluster reserved for MD
- blob is thin provisioned
- first allocation occurs on cluster_num=1

For last part to be true, very first write for blob has to be
issued to LBA between cluster_size and 2*cluster_size.
Causing allocation of second cluster in blobstore and assiging
it LBA equal to number of LBAs per cluster.

To fix this, case 1) disallows to RLE zeroes.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I136282407966310c882ca97c960e9a71c442c469
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475494
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


/spdk/.githooks/pre-push
/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/Makefile
/spdk/app/iscsi_tgt/Makefile
/spdk/app/iscsi_top/iscsi_top.cpp
/spdk/app/nvmf_tgt/Makefile
/spdk/app/spdk_lspci/spdk_lspci.c
/spdk/app/spdk_tgt/Makefile
/spdk/app/vhost/Makefile
/spdk/autobuild.sh
/spdk/autopackage.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/Doxyfile
/spdk/doc/applications.md
/spdk/doc/bdev.md
/spdk/doc/bdev_pg.md
/spdk/doc/concurrency.md
/spdk/doc/driver_modules.md
/spdk/doc/ftl.md
/spdk/doc/img/nvme_cuse.svg
/spdk/doc/iscsi.md
/spdk/doc/jsonrpc.md
/spdk/doc/jsonrpc_proxy.md
/spdk/doc/lvol.md
/spdk/doc/notify.md
/spdk/doc/nvme.md
/spdk/doc/nvmf.md
/spdk/doc/performance_reports.md
/spdk/doc/vhost.md
/spdk/doc/vmd.md
/spdk/doc/vpp_integration.md
/spdk/dpdk
/spdk/dpdkbuild/Makefile
/spdk/etc/spdk/iscsi.conf.in
/spdk/etc/spdk/nvmf.conf.in
/spdk/examples/bdev/fio_plugin/Makefile
/spdk/examples/bdev/fio_plugin/README.md
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/nvme/Makefile
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/fio_plugin/README.md
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/perf/Makefile
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvme/reconnect/.gitignore
/spdk/examples/nvme/reconnect/Makefile
/spdk/examples/nvme/reconnect/reconnect.c
/spdk/examples/sock/hello_world/Makefile
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/examples/vmd/Makefile
/spdk/examples/vmd/led/.gitignore
/spdk/examples/vmd/led/Makefile
/spdk/examples/vmd/led/led.c
/spdk/examples/vmd/lsvmd/lsvmd.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/bdev_zone.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/blob_bdev.h
/spdk/include/spdk/blobfs.h
/spdk/include/spdk/blobfs_bdev.h
/spdk/include/spdk/env.h
/spdk/include/spdk/event.h
/spdk/include/spdk/log.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_fc_spec.h
/spdk/include/spdk/opal.h
/spdk/include/spdk/pipe.h
/spdk/include/spdk/queue.h
/spdk/include/spdk/queue_extras.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/rpc.h
/spdk/include/spdk/scsi.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/stdinc.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/util.h
/spdk/include/spdk/version.h
/spdk/include/spdk/vmd.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/memory.h
/spdk/include/spdk_internal/mock.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/sock.h
/spdk/isa-l
/spdk/lib/Makefile
/spdk/lib/bdev/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_internal.h
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/bdev_zone.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/scsi_nvme.c
/spdk/lib/blob/Makefile
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blobfs/blobfs.c
/spdk/lib/copy/Makefile
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/env.mk
/spdk/lib/env_dpdk/init.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/env_ocf/.gitignore
/spdk/lib/env_ocf/Makefile
/spdk/lib/env_ocf/ocf_env.c
/spdk/lib/env_ocf/ocf_env.h
/spdk/lib/env_ocf/ocf_env_headers.h
/spdk/lib/env_ocf/ocf_env_list.h
/spdk/lib/event/Makefile
/spdk/lib/event/app.c
/spdk/lib/event/json_config.c
/spdk/lib/event/reactor.c
/spdk/lib/event/rpc.c
/spdk/lib/event/subsystem.c
/spdk/lib/ftl/ftl_anm.c
/spdk/lib/ftl/ftl_anm.h
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_reloc.h
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_rwb.c
/spdk/lib/ftl/ftl_rwb.h
/spdk/lib/iscsi/Makefile
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/conn.h
/spdk/lib/iscsi/init_grp.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_rpc.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/param.h
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/iscsi/portal_grp.h
/spdk/lib/iscsi/task.h
/spdk/lib/iscsi/tgt_node.c
/spdk/lib/iscsi/tgt_node.h
/spdk/lib/jsonrpc/jsonrpc_client.c
/spdk/lib/jsonrpc/jsonrpc_internal.h
/spdk/lib/jsonrpc/jsonrpc_server.c
/spdk/lib/log/Makefile
/spdk/lib/log/log.c
/spdk/lib/log/log_flags.c
/spdk/lib/log_rpc/Makefile
/spdk/lib/log_rpc/log_rpc.c
/spdk/lib/lvol/lvol.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nbd/nbd_rpc.c
/spdk/lib/net/interface.c
/spdk/lib/net/net_internal.h
/spdk/lib/net/net_rpc.c
/spdk/lib/notify/Makefile
/spdk/lib/notify/notify_rpc.c
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_cuse.h
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_io_msg.c
/spdk/lib/nvme/nvme_io_msg.h
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_opal_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_quirks.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/ctrlr_discovery.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/transport.h
/spdk/lib/reduce/reduce.c
/spdk/lib/rpc/rpc.c
/spdk/lib/rte_vhost/Makefile
/spdk/lib/rte_vhost/fd_man.c
/spdk/lib/rte_vhost/fd_man.h
/spdk/lib/rte_vhost/rte_vhost.h
/spdk/lib/rte_vhost/socket.c
/spdk/lib/rte_vhost/vhost.c
/spdk/lib/rte_vhost/vhost.h
/spdk/lib/rte_vhost/vhost_user.c
/spdk/lib/rte_vhost/vhost_user.h
/spdk/lib/scsi/dev.c
/spdk/lib/scsi/lun.c
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/scsi/scsi_internal.h
/spdk/lib/scsi/scsi_rpc.c
/spdk/lib/scsi/task.c
/spdk/lib/sock/Makefile
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
/spdk/lib/trace/Makefile
/spdk/lib/trace/trace.c
/spdk/lib/trace/trace_flags.c
/spdk/lib/trace/trace_rpc.c
/spdk/lib/ut_mock/mock.c
/spdk/lib/util/Makefile
/spdk/lib/util/base64.c
/spdk/lib/util/base64_neon.c
/spdk/lib/util/crc32c.c
/spdk/lib/util/iov.c
/spdk/lib/util/math.c
/spdk/lib/util/pipe.c
/spdk/lib/vhost/Makefile
/spdk/lib/vhost/rte_vhost_compat.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_nvme.c
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/vmd/Makefile
/spdk/lib/vmd/led.c
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd.h
/spdk/lib/vmd/vmd_spec.h
/spdk/mk/spdk.app_vars.mk
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.mock.unittest.mk
/spdk/mk/spdk.modules.mk
/spdk/mk/spdk.unittest.mk
/spdk/module/Makefile
/spdk/module/bdev/Makefile
/spdk/module/bdev/aio/Makefile
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/aio/bdev_aio.h
/spdk/module/bdev/aio/bdev_aio_rpc.c
/spdk/module/bdev/compress/Makefile
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/compress/vbdev_compress.h
/spdk/module/bdev/compress/vbdev_compress_rpc.c
/spdk/module/bdev/crypto/Makefile
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/crypto/vbdev_crypto.h
/spdk/module/bdev/crypto/vbdev_crypto_rpc.c
/spdk/module/bdev/delay/Makefile
/spdk/module/bdev/delay/vbdev_delay.c
/spdk/module/bdev/delay/vbdev_delay.h
/spdk/module/bdev/delay/vbdev_delay_rpc.c
/spdk/module/bdev/error/Makefile
/spdk/module/bdev/error/vbdev_error.c
/spdk/module/bdev/error/vbdev_error.h
/spdk/module/bdev/error/vbdev_error_rpc.c
/spdk/module/bdev/gpt/Makefile
/spdk/module/bdev/gpt/gpt.c
/spdk/module/bdev/gpt/gpt.h
/spdk/module/bdev/gpt/vbdev_gpt.c
/spdk/module/bdev/iscsi/Makefile
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/iscsi/bdev_iscsi.h
/spdk/module/bdev/iscsi/bdev_iscsi_rpc.c
/spdk/module/bdev/lvol/Makefile
/spdk/module/bdev/lvol/vbdev_lvol.c
/spdk/module/bdev/lvol/vbdev_lvol.h
/spdk/module/bdev/lvol/vbdev_lvol_rpc.c
/spdk/module/bdev/malloc/Makefile
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/malloc/bdev_malloc.h
/spdk/module/bdev/malloc/bdev_malloc_rpc.c
/spdk/module/bdev/null/Makefile
/spdk/module/bdev/null/bdev_null.c
/spdk/module/bdev/null/bdev_null.h
/spdk/module/bdev/null/bdev_null_rpc.c
/spdk/module/bdev/nvme/Makefile
/spdk/module/bdev/nvme/bdev_ftl.c
/spdk/module/bdev/nvme/bdev_ftl.h
/spdk/module/bdev/nvme/bdev_ftl_rpc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_cuse_rpc.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/nvme/common.c
/spdk/module/bdev/nvme/common.h
/spdk/module/bdev/nvme/nvme_rpc.c
/spdk/module/bdev/nvme/vbdev_opal.c
/spdk/module/bdev/nvme/vbdev_opal.h
/spdk/module/bdev/nvme/vbdev_opal_rpc.c
/spdk/module/bdev/ocf/Makefile
/spdk/module/bdev/ocf/ctx.c
/spdk/module/bdev/ocf/ctx.h
/spdk/module/bdev/ocf/data.c
/spdk/module/bdev/ocf/data.h
/spdk/module/bdev/ocf/stats.c
/spdk/module/bdev/ocf/stats.h
/spdk/module/bdev/ocf/utils.c
/spdk/module/bdev/ocf/utils.h
/spdk/module/bdev/ocf/vbdev_ocf.c
/spdk/module/bdev/ocf/vbdev_ocf.h
/spdk/module/bdev/ocf/vbdev_ocf_rpc.c
/spdk/module/bdev/ocf/volume.c
/spdk/module/bdev/ocf/volume.h
/spdk/module/bdev/passthru/Makefile
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/bdev/passthru/vbdev_passthru.h
/spdk/module/bdev/passthru/vbdev_passthru_rpc.c
/spdk/module/bdev/pmem/Makefile
/spdk/module/bdev/pmem/bdev_pmem.c
/spdk/module/bdev/pmem/bdev_pmem.h
/spdk/module/bdev/pmem/bdev_pmem_rpc.c
/spdk/module/bdev/raid/Makefile
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/bdev_raid_rpc.c
/spdk/module/bdev/raid/raid0.c
/spdk/module/bdev/rbd/Makefile
/spdk/module/bdev/rbd/bdev_rbd.c
/spdk/module/bdev/rbd/bdev_rbd.h
/spdk/module/bdev/rbd/bdev_rbd_rpc.c
/spdk/module/bdev/rpc/Makefile
/spdk/module/bdev/rpc/bdev_rpc.c
/spdk/module/bdev/split/Makefile
/spdk/module/bdev/split/vbdev_split.c
/spdk/module/bdev/split/vbdev_split.h
/spdk/module/bdev/split/vbdev_split_rpc.c
/spdk/module/bdev/uring/Makefile
/spdk/module/bdev/uring/bdev_uring.c
/spdk/module/bdev/uring/bdev_uring.h
/spdk/module/bdev/uring/bdev_uring_rpc.c
/spdk/module/bdev/virtio/Makefile
/spdk/module/bdev/virtio/bdev_virtio.h
/spdk/module/bdev/virtio/bdev_virtio_blk.c
/spdk/module/bdev/virtio/bdev_virtio_rpc.c
/spdk/module/bdev/virtio/bdev_virtio_scsi.c
/spdk/module/bdev/zone_block/Makefile
/spdk/module/bdev/zone_block/vbdev_zone_block.c
/spdk/module/bdev/zone_block/vbdev_zone_block.h
/spdk/module/bdev/zone_block/vbdev_zone_block_rpc.c
/spdk/module/blob/Makefile
/spdk/module/blob/bdev/Makefile
/spdk/module/blob/bdev/blob_bdev.c
/spdk/module/blobfs/Makefile
/spdk/module/blobfs/bdev/Makefile
/spdk/module/blobfs/bdev/blobfs_bdev.c
/spdk/module/blobfs/bdev/blobfs_bdev_rpc.c
/spdk/module/blobfs/bdev/blobfs_fuse.c
/spdk/module/blobfs/bdev/blobfs_fuse.h
/spdk/module/copy/Makefile
/spdk/module/copy/ioat/Makefile
/spdk/module/copy/ioat/copy_engine_ioat.c
/spdk/module/copy/ioat/copy_engine_ioat.h
/spdk/module/copy/ioat/copy_engine_ioat_rpc.c
/spdk/module/event/Makefile
/spdk/module/event/rpc/Makefile
/spdk/module/event/rpc/app_rpc.c
/spdk/module/event/rpc/subsystem_rpc.c
/spdk/module/event/subsystems/Makefile
/spdk/module/event/subsystems/bdev/Makefile
/spdk/module/event/subsystems/bdev/bdev.c
/spdk/module/event/subsystems/copy/Makefile
/spdk/module/event/subsystems/copy/copy.c
/spdk/module/event/subsystems/iscsi/Makefile
/spdk/module/event/subsystems/iscsi/iscsi.c
/spdk/module/event/subsystems/nbd/Makefile
/spdk/module/event/subsystems/nbd/nbd.c
/spdk/module/event/subsystems/net/Makefile
/spdk/module/event/subsystems/net/net.c
/spdk/module/event/subsystems/nvmf/Makefile
/spdk/module/event/subsystems/nvmf/conf.c
/spdk/module/event/subsystems/nvmf/event_nvmf.h
/spdk/module/event/subsystems/nvmf/nvmf_rpc.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/event/subsystems/scsi/Makefile
/spdk/module/event/subsystems/scsi/scsi.c
/spdk/module/event/subsystems/vhost/Makefile
/spdk/module/event/subsystems/vhost/vhost.c
/spdk/module/event/subsystems/vmd/Makefile
/spdk/module/event/subsystems/vmd/event_vmd.h
/spdk/module/event/subsystems/vmd/vmd.c
/spdk/module/event/subsystems/vmd/vmd_rpc.c
/spdk/module/sock/Makefile
/spdk/module/sock/posix/Makefile
/spdk/module/sock/posix/posix.c
/spdk/module/sock/vpp/Makefile
/spdk/module/sock/vpp/vpp.c
/spdk/ocf
/spdk/scripts/ceph/start.sh
/spdk/scripts/ceph/stop.sh
/spdk/scripts/check_format.sh
/spdk/scripts/common.sh
/spdk/scripts/config_converter.py
/spdk/scripts/detect_cc.sh
/spdk/scripts/gen_ftl.sh
/spdk/scripts/gen_nvme.sh
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/config.json
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep.sh
/spdk/scripts/prep_benchmarks.sh
/spdk/scripts/qat_setup.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/__init__.py
/spdk/scripts/rpc/app.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/blobfs.py
/spdk/scripts/rpc/client.py
/spdk/scripts/rpc/ioat.py
/spdk/scripts/rpc/iscsi.py
/spdk/scripts/rpc/log.py
/spdk/scripts/rpc/lvol.py
/spdk/scripts/rpc/nbd.py
/spdk/scripts/rpc/net.py
/spdk/scripts/rpc/notify.py
/spdk/scripts/rpc/nvme.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/rpc/pmem.py
/spdk/scripts/rpc/subsystem.py
/spdk/scripts/rpc/trace.py
/spdk/scripts/rpc/vhost.py
/spdk/scripts/rpc/vmd.py
/spdk/scripts/setup.sh
/spdk/scripts/spdkcli.py
/spdk/scripts/spdkcli/ui_node.py
/spdk/scripts/spdkcli/ui_node_iscsi.py
/spdk/scripts/spdkcli/ui_node_nvmf.py
/spdk/scripts/spdkcli/ui_root.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_nvme_img.sh
/spdk/scripts/vagrant/create_openstack_vm.sh
/spdk/scripts/vagrant/create_vbox.sh
/spdk/scripts/vagrant/create_vhost_vm.sh
/spdk/scripts/vagrant/local.conf
/spdk/scripts/vagrant/run-autorun.sh
/spdk/test/app/bdev_svc/Makefile
/spdk/test/app/fuzz/nvme_fuzz/README.md
/spdk/test/app/fuzz/nvme_fuzz/nvme_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/README.md
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz_rpc.c
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevperf/Makefile
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/blockdev.sh
/spdk/test/bdev/gen_crypto.sh
/spdk/test/bdev/nbd_common.sh
/spdk/test/blobfs/Makefile
/spdk/test/blobfs/blobfs.sh
/spdk/test/blobfs/fuse/Makefile
/spdk/test/blobfs/fuse/fuse.c
/spdk/test/blobfs/mkfs/Makefile
/spdk/test/blobfs/mkfs/mkfs.c
/spdk/test/blobfs/rocksdb/rocksdb.sh
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/blobstore/blobstore.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/patch/vpp/fedora29-fix.patch
/spdk/test/common/config/patch/vpp/fedora30-fix.patch
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_env.c
/spdk/test/common/lib/test_sock.c
/spdk/test/compress/compress.sh
/spdk/test/config_converter/config.ini
/spdk/test/config_converter/spdk_config.json
/spdk/test/config_converter/spdk_config_virtio.json
/spdk/test/cpp_headers/Makefile
/spdk/test/env/mem_callbacks/mem_callbacks.c
/spdk/test/env/pci/pci_ut.c
/spdk/test/ftl/common.sh
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/json.sh
/spdk/test/ftl/restore.sh
/spdk/test/fuzz/autofuzz.sh
/spdk/test/fuzz/autofuzz_nvmf.sh
/spdk/test/fuzz/autofuzz_vhost.sh
/spdk/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh
/spdk/test/iscsi_tgt/calsoft/calsoft.sh
/spdk/test/iscsi_tgt/calsoft/iscsi.json
/spdk/test/iscsi_tgt/common.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/filesystem/filesystem.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/fio/iscsi.json
/spdk/test/iscsi_tgt/initiator/initiator.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/iscsi_tgt.sh
/spdk/test/iscsi_tgt/lvol/iscsi_lvol.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/perf/iscsi_target.sh
/spdk/test/iscsi_tgt/pmem/iscsi_pmem.sh
/spdk/test/iscsi_tgt/qos/qos.sh
/spdk/test/iscsi_tgt/rbd/rbd.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/rpc_config/rpc_config.py
/spdk/test/iscsi_tgt/rpc_config/rpc_config.sh
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/iscsi_tgt/trace_record/trace_record.sh
/spdk/test/json_config/alias_rpc/alias_rpc.sh
/spdk/test/json_config/alias_rpc/conf.json
/spdk/test/json_config/clear_config.py
/spdk/test/json_config/config_filter.py
/spdk/test/json_config/json_config.sh
/spdk/test/lvol/lvol.sh
/spdk/test/lvol/rpc_commands_lib.py
/spdk/test/lvol/test_cases.py
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/Makefile
/spdk/test/nvme/hotplug.sh
/spdk/test/nvme/hw_hotplug.sh
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/nvme_opal.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvme/perf/run_perf.sh
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/spdk_nvme_cli_cuse.sh
/spdk/test/nvme/startup/.gitignore
/spdk/test/nvme/startup/Makefile
/spdk/test/nvme/startup/startup.c
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/host/target_disconnect.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/fuzz.sh
/spdk/test/nvmf/target/initiator_timeout.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/multitarget.sh
/spdk/test/nvmf/target/multitarget_rpc.py
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/ocf/integrity/bdevperf-iotypes.sh
/spdk/test/ocf/integrity/fio-modes.sh
/spdk/test/ocf/integrity/stats.sh
/spdk/test/ocf/management/create-destruct.sh
/spdk/test/ocf/management/multicore.sh
/spdk/test/ocf/management/persistent-metadata.sh
/spdk/test/ocf/management/remove.sh
/spdk/test/ocf/ocf.sh
/spdk/test/openstack/install_devstack.sh
/spdk/test/openstack/run_openstack_tests.sh
/spdk/test/pmem/common.sh
/spdk/test/pmem/pmem.sh
/spdk/test/rpc_client/rpc_client_test.c
/spdk/test/spdkcli/common.sh
/spdk/test/spdkcli/iscsi.sh
/spdk/test/spdkcli/match_files/spdkcli_details_vhost.test.match
/spdk/test/spdkcli/match_files/spdkcli_details_vhost_ctrl.test.match
/spdk/test/spdkcli/match_files/spdkcli_details_vhost_target.test.match
/spdk/test/spdkcli/match_files/spdkcli_iscsi.test.match
/spdk/test/spdkcli/pmem.sh
/spdk/test/spdkcli/rbd.sh
/spdk/test/spdkcli/spdkcli_job.py
/spdk/test/spdkcli/tcp.sh
/spdk/test/spdkcli/vhost.sh
/spdk/test/spdkcli/virtio.sh
/spdk/test/unit/lib/bdev/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/bdev_zone.c/.gitignore
/spdk/test/unit/lib/bdev/bdev_zone.c/Makefile
/spdk/test/unit/lib/bdev/bdev_zone.c/bdev_zone_ut.c
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/.gitignore
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/Makefile
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
blob_ut.c
/spdk/test/unit/lib/blobfs/Makefile
/spdk/test/unit/lib/blobfs/blobfs_bdev.c/.gitignore
/spdk/test/unit/lib/blobfs/blobfs_bdev.c/Makefile
/spdk/test/unit/lib/blobfs/blobfs_bdev.c/blobfs_bdev_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/event/app.c/app_ut.c
/spdk/test/unit/lib/event/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/ftl/ftl_wptr/ftl_wptr_ut.c
/spdk/test/unit/lib/iscsi/common.c
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_cmd.c/nvme_ctrlr_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/Makefile
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c
/spdk/test/unit/lib/nvmf/fc.c/.gitignore
/spdk/test/unit/lib/nvmf/fc.c/Makefile
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/fc_ls.c/.gitignore
/spdk/test/unit/lib/nvmf/fc_ls.c/Makefile
/spdk/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/scsi/dev.c/dev_ut.c
/spdk/test/unit/lib/scsi/lun.c/lun_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/util/Makefile
/spdk/test/unit/lib/util/base64.c/base64_ut.c
/spdk/test/unit/lib/util/iov.c/.gitignore
/spdk/test/unit/lib/util/iov.c/Makefile
/spdk/test/unit/lib/util/iov.c/iov_ut.c
/spdk/test/unit/lib/util/pipe.c/.gitignore
/spdk/test/unit/lib/util/pipe.c/Makefile
/spdk/test/unit/lib/util/pipe.c/pipe_ut.c
/spdk/test/unit/lib/vhost/vhost.c/Makefile
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/fio/fio.sh
/spdk/test/vhost/fio/vhost_fio.job
/spdk/test/vhost/fiotest/conf.json
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/fuzz/fuzz.sh
/spdk/test/vhost/hotplug/blk_hotremove.sh
/spdk/test/vhost/hotplug/common.sh
/spdk/test/vhost/hotplug/scsi_hotattach.sh
/spdk/test/vhost/hotplug/scsi_hotdetach.sh
/spdk/test/vhost/hotplug/scsi_hotplug.sh
/spdk/test/vhost/hotplug/scsi_hotremove.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/integrity/integrity_start.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/migration/migration-tc1.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/migration/migration-tc3a.sh
/spdk/test/vhost/migration/migration-tc3b.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/other/conf.json
/spdk/test/vhost/other/negative.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/delete_partition_vm.sh
/spdk/test/vhost/readonly/disabled_readonly_vm.sh
/spdk/test/vhost/readonly/enabled_readonly_vm.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/shared/shared.sh
/spdk/test/vhost/vhost.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/test/vhost/windows/windows.sh
/spdk/test/vhost/windows/windows_scsi_compliance.sh
/spdk/test/vmd/config/config.fio
/spdk/test/vmd/vmd.sh
99b25f1c28-Jun-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/cunit: added missing semicolon on CU_ASSERT macros

This was inconsistent on all CU_ASSERT macros,
so now it is fixed.

Change-Id: I6d20f98528c4041baf02cb419ab9644a45b807c4
Signed-off-by: Tomasz Z

ut/cunit: added missing semicolon on CU_ASSERT macros

This was inconsistent on all CU_ASSERT macros,
so now it is fixed.

Change-Id: I6d20f98528c4041baf02cb419ab9644a45b807c4
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/459760
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...


/spdk/CHANGELOG.md
/spdk/Makefile
/spdk/app/spdk_tgt/spdk_tgt.c
/spdk/autotest.sh
/spdk/configure
/spdk/doc/concurrency.md
/spdk/doc/jsonrpc.md
/spdk/doc/lvol.md
/spdk/dpdkbuild/Makefile
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/perf/Makefile
/spdk/examples/nvme/perf/perf.c
/spdk/include/spdk/env.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/jsonrpc.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/opal.h
/spdk/include/spdk/opal_spec.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/util.h
/spdk/include/spdk_internal/sock.h
/spdk/lib/Makefile
/spdk/lib/bdev/aio/bdev_aio_rpc.c
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/compress/vbdev_compress.c
/spdk/lib/bdev/compress/vbdev_compress_rpc.c
/spdk/lib/bdev/crypto/vbdev_crypto.c
/spdk/lib/bdev/crypto/vbdev_crypto_rpc.c
/spdk/lib/bdev/delay/vbdev_delay_rpc.c
/spdk/lib/bdev/error/vbdev_error.c
/spdk/lib/bdev/error/vbdev_error_rpc.c
/spdk/lib/bdev/iscsi/bdev_iscsi_rpc.c
/spdk/lib/bdev/lvol/vbdev_lvol_rpc.c
/spdk/lib/bdev/malloc/bdev_malloc_rpc.c
/spdk/lib/bdev/null/bdev_null_rpc.c
/spdk/lib/bdev/nvme/bdev_ftl.c
/spdk/lib/bdev/nvme/bdev_ftl_rpc.c
/spdk/lib/bdev/nvme/bdev_nvme_rpc.c
/spdk/lib/bdev/nvme/nvme_rpc.c
/spdk/lib/bdev/ocf/vbdev_ocf_rpc.c
/spdk/lib/bdev/passthru/vbdev_passthru_rpc.c
/spdk/lib/bdev/pmem/bdev_pmem_rpc.c
/spdk/lib/bdev/raid/bdev_raid_rpc.c
/spdk/lib/bdev/rbd/bdev_rbd.c
/spdk/lib/bdev/rbd/bdev_rbd.h
/spdk/lib/bdev/rbd/bdev_rbd_rpc.c
/spdk/lib/bdev/rpc/bdev_rpc.c
/spdk/lib/bdev/split/vbdev_split_rpc.c
/spdk/lib/bdev/virtio/bdev_virtio_rpc.c
/spdk/lib/blob/blobstore.c
/spdk/lib/copy/ioat/copy_engine_ioat_rpc.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/event/app.c
/spdk/lib/event/rpc/app_rpc.c
/spdk/lib/event/rpc/subsystem_rpc.c
/spdk/lib/event/subsystems/bdev/bdev_rpc.c
/spdk/lib/event/subsystems/iscsi/iscsi_rpc.c
/spdk/lib/event/subsystems/nvmf/nvmf_rpc.c
/spdk/lib/event/subsystems/nvmf/nvmf_tgt.c
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_rwb.c
/spdk/lib/iscsi/iscsi_rpc.c
/spdk/lib/jsonrpc/jsonrpc_internal.h
/spdk/lib/jsonrpc/jsonrpc_server.c
/spdk/lib/log/log.c
/spdk/lib/log/rpc/log_rpc.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nbd/nbd_rpc.c
/spdk/lib/net/net_rpc.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_opal_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_discovery.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/reduce/reduce.c
/spdk/lib/rpc/rpc.c
/spdk/lib/scsi/scsi_rpc.c
/spdk/lib/sock/posix/posix.c
/spdk/lib/sock/sock.c
/spdk/lib/sock/vpp/vpp.c
/spdk/lib/trace/rpc/trace_rpc.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vmd/vmd.c
/spdk/mk/spdk.common.mk
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/client.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/setup.sh
/spdk/scripts/spdkcli.py
/spdk/scripts/vagrant/Vagrantfile_openstack_vm
/spdk/scripts/vagrant/create_openstack_vm.sh
/spdk/scripts/vagrant/local.conf
/spdk/shared_lib/Makefile
/spdk/test/bdev/bdev.conf.in
/spdk/test/common/autotest_common.sh
/spdk/test/common/lib/test_env.c
/spdk/test/env/memory/memory_ut.c
/spdk/test/env/vtophys/vtophys.c
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/json.sh
/spdk/test/ftl/restore.sh
/spdk/test/fuzz/autofuzz.sh
/spdk/test/fuzz/autofuzz_nvmf.sh
/spdk/test/fuzz/autofuzz_vhost.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/json_config/clear_config.py
/spdk/test/json_config/json_config.sh
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvme/perf/run_perf.sh
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/sgl/sgl.c
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/fuzz.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/spdkcli/common.sh
/spdk/test/spdkcli/iscsi.sh
/spdk/test/spdkcli/match_files/spdkcli_details_lvs.test.match
/spdk/test/spdkcli/vhost.sh
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
blob_ut.c
/spdk/test/unit/lib/event/app.c/app_ut.c
/spdk/test/unit/lib/event/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/iscsi/common.c
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/json/json_util.c/json_util_ut.c
/spdk/test/unit/lib/jsonrpc/jsonrpc_server.c/jsonrpc_server_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/vhost/test_vhost.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/hotplug/blk_hotremove.sh
/spdk/test/vhost/hotplug/common.sh
/spdk/test/vhost/hotplug/scsi_hotattach.sh
/spdk/test/vhost/hotplug/scsi_hotdetach.sh
/spdk/test/vhost/hotplug/scsi_hotremove.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/migration/migration-tc3b.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/other/negative.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/test/vmd/config/config.fio
/spdk/test/vmd/vmd.sh
6ced601505-Jul-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

lib/blob: only validate blobid of first page during bs_load

Blob id only is matched to the very first page of md for
that particular blob.

During loading blobstore, we shouldn't verify
further page

lib/blob: only validate blobid of first page during bs_load

Blob id only is matched to the very first page of md for
that particular blob.

During loading blobstore, we shouldn't verify
further pages in chain against the blobid.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ifc7863ddcb403aedc264c14e6b4c3915bd30dc41
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460607
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/doc/jsonrpc.md
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/identify/identify.c
/spdk/include/spdk/dif.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/thread.h
/spdk/include/spdk_internal/thread.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/gpt/vbdev_gpt.c
/spdk/lib/bdev/nvme/bdev_ftl.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/split/vbdev_split.c
/spdk/lib/blob/blobstore.c
/spdk/lib/event/subsystems/nvmf/nvmf_rpc.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_rwb.c
/spdk/lib/ftl/ftl_rwb.h
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/subsystem.c
/spdk/lib/reduce/reduce.c
/spdk/lib/util/dif.c
/spdk/scripts/check_format.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/spdkcli/ui_node.py
/spdk/scripts/spdkcli/ui_root.py
/spdk/test/bdev/bdevio/tests.py
/spdk/test/common/config/patch/vpp/fedora29-fix.patch
/spdk/test/common/config/patch/vpp/fedora30-fix.patch
/spdk/test/common/config/vm_setup.sh
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/restore.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/lvol/lvol.sh
/spdk/test/lvol/test_cases.py
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/overhead/overhead.c
/spdk/test/spdkcli/match_files/spdkcli_pmem_info.test.match
/spdk/test/spdkcli/pmem.sh
blob_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
69a8877e01-Jul-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

lib/blob: do not allow xattr to exceed maximum descriptor length

Length of xattr descriptor is equal to length of xattr struct,
xattr name and the len of stored value.

There is no limit to how much

lib/blob: do not allow xattr to exceed maximum descriptor length

Length of xattr descriptor is equal to length of xattr struct,
xattr name and the len of stored value.

There is no limit to how much can be stored in memory for xattr.
On disk xattr size is limited to single page and within that to
max descriptors that can fit in it.
This size is known at compile time.

Before this patch it was possible to add xattr exceeding
what was possible to be written to disk. This caused issues
when serializing the metadata during spdk_blob_sync_md()
or spdk_blob_close(). Making those fail without specific info
to the user and not actually writting such descriptor.

Since maximum length of xattr descriptor is known at compile time,
this patch compares against this value when setting the xattr.
It will immediately report back to user with error, and will
not store xattr in memory (thus not serialize it).

This patch should not affect any backward compatibility for blobs.
Too large xattrs weren't written to disk before,
API for blobstore stays the same - only reporting ENOMEM
when it should.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I6f4af4d079e47f084e20d7a4969d9a78ec1f8610
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460450
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/Makefile
/spdk/app/iscsi_tgt/Makefile
/spdk/app/nvmf_tgt/Makefile
/spdk/app/spdk_lspci/.gitignore
/spdk/app/spdk_lspci/Makefile
/spdk/app/spdk_lspci/spdk_lspci.c
/spdk/app/vhost/Makefile
/spdk/autobuild.sh
/spdk/autopackage.sh
/spdk/autorun.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/blobfs.md
/spdk/doc/jsonrpc.md
/spdk/doc/performance_reports.md
/spdk/doc/vpp_integration.md
/spdk/etc/spdk/nvmf.conf.in
/spdk/examples/bdev/hello_world/Makefile
/spdk/examples/blob/cli/Makefile
/spdk/examples/blob/hello_world/Makefile
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blobfs.h
/spdk/include/spdk/cpuset.h
/spdk/include/spdk/dif.h
/spdk/include/spdk/env.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/opal.h
/spdk/include/spdk/sock.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/sock.h
/spdk/lib/bdev/aio/bdev_aio_rpc.c
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/crypto/vbdev_crypto.c
/spdk/lib/bdev/crypto/vbdev_crypto_rpc.c
/spdk/lib/bdev/malloc/bdev_malloc.c
/spdk/lib/bdev/malloc/bdev_malloc.h
/spdk/lib/bdev/malloc/bdev_malloc_rpc.c
/spdk/lib/bdev/null/bdev_null.c
/spdk/lib/bdev/null/bdev_null.h
/spdk/lib/bdev/null/bdev_null_rpc.c
/spdk/lib/bdev/nvme/bdev_ftl.c
/spdk/lib/bdev/nvme/bdev_ftl.h
/spdk/lib/bdev/nvme/bdev_ftl_rpc.c
/spdk/lib/bdev/nvme/bdev_nvme_rpc.c
/spdk/lib/bdev/nvme/nvme_rpc.c
/spdk/lib/bdev/passthru/vbdev_passthru.c
/spdk/lib/bdev/raid/bdev_raid.c
/spdk/lib/bdev/split/vbdev_split.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blobfs/blobfs.c
/spdk/lib/blobfs/tree.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/event/app.c
/spdk/lib/event/rpc/app_rpc.c
/spdk/lib/event/subsystems/bdev/bdev.c
/spdk/lib/event/subsystems/nvmf/conf.c
/spdk/lib/event/subsystems/nvmf/event_nvmf.h
/spdk/lib/event/subsystems/nvmf/nvmf_rpc.c
/spdk/lib/event/subsystems/nvmf/nvmf_tgt.c
/spdk/lib/ftl/ftl_anm.c
/spdk/lib/ftl/ftl_anm.h
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/init_grp.c
/spdk/lib/iscsi/init_grp.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/iscsi/portal_grp.h
/spdk/lib/iscsi/tgt_node.c
/spdk/lib/iscsi/tgt_node.h
/spdk/lib/jsonrpc/jsonrpc_server.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_opal_internal.h
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/transport.h
/spdk/lib/reduce/reduce.c
/spdk/lib/rocksdb/env_spdk.cc
/spdk/lib/rocksdb/spdk.rocksdb.mk
/spdk/lib/scsi/scsi_pr.c
/spdk/lib/sock/posix/posix.c
/spdk/lib/sock/sock.c
/spdk/lib/sock/vpp/Makefile
/spdk/lib/sock/vpp/vpp.c
/spdk/lib/thread/thread.c
/spdk/lib/util/cpuset.c
/spdk/lib/util/dif.c
/spdk/lib/util/string.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_nvme.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/virtio/virtio.c
/spdk/lib/vmd/vmd.c
/spdk/mk/spdk.modules.mk
/spdk/scripts/ceph/start.sh
/spdk/scripts/gen_nvme.sh
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/perf/vhost/run_vhost_test.py
/spdk/scripts/pkgdep.sh
/spdk/scripts/prep_benchmarks.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/app.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/client.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/setup.sh
/spdk/scripts/vagrant/create_nvme_img.sh
/spdk/scripts/vagrant/run-autorun.sh
/spdk/scripts/vagrant/update.sh
/spdk/test/app/Makefile
/spdk/test/app/bdev_svc/Makefile
/spdk/test/app/fuzz/Makefile
/spdk/test/app/fuzz/common/fuzz_common.h
/spdk/test/app/fuzz/common/fuzz_rpc.py
/spdk/test/app/fuzz/nvme_fuzz/.gitignore
/spdk/test/app/fuzz/nvme_fuzz/Makefile
/spdk/test/app/fuzz/nvme_fuzz/README.md
/spdk/test/app/fuzz/nvme_fuzz/example.json
/spdk/test/app/fuzz/nvme_fuzz/nvme_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/.gitignore
/spdk/test/app/fuzz/vhost_fuzz/Makefile
/spdk/test/app/fuzz/vhost_fuzz/README.md
/spdk/test/app/fuzz/vhost_fuzz/example.json
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz.h
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz_rpc.c
/spdk/test/bdev/bdevio/Makefile
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevperf/Makefile
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/bdevperf/bdevperf.py
/spdk/test/bdev/blockdev.sh
/spdk/test/blobfs/fuse/Makefile
/spdk/test/blobfs/mkfs/Makefile
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/patch/vpp/workaround-dont-notify-transport-closing.patch
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_sock.c
/spdk/test/env/env_dpdk_post_init/env_dpdk_post_init.c
/spdk/test/env/vtophys/vtophys.c
/spdk/test/iscsi_tgt/common.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/filesystem/filesystem.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/iscsi_tgt.sh
/spdk/test/iscsi_tgt/lvol/iscsi_lvol.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/perf/iscsi_initiator.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/rpc_config/rpc_config.py
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/iscsi_tgt/trace_record/trace_record.sh
/spdk/test/json_config/json_config.sh
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/deallocated_value/deallocated_value.c
/spdk/test/nvme/e2edp/nvme_dp.c
/spdk/test/nvme/err_injection/err_injection.c
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/overhead/overhead.c
/spdk/test/nvme/perf/README.md
/spdk/test/nvme/spdk_nvme_cli.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/fuzz.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/spdkcli/match_files/spdkcli_details_vhost.test.match
/spdk/test/spdkcli/spdkcli_job.py
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
blob_ut.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/ftl/ftl_md/ftl_md_ut.c
/spdk/test/unit/lib/ftl/ftl_ppa/ftl_ppa_ut.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c
/spdk/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c
/spdk/test/unit/lib/lvol/lvol.c/lvol_ut.c
/spdk/test/unit/lib/nvme/Makefile
/spdk/test/unit/lib/nvme/nvme_tcp.c/.gitignore
/spdk/test/unit/lib/nvme/nvme_tcp.c/Makefile
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/Makefile
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/Makefile
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/fuzz/fuzz.sh
/spdk/test/vhost/hotplug/common.sh
/spdk/test/vhost/integrity/integrity_start.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/migration/migration-tc1.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/migration/migration-tc3a.sh
/spdk/test/vhost/migration/migration-tc3b.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/vhost.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
e8356fd221-May-2019 Maciej Szwed <maciej.szwed@intel.com>

blobstore: Cleanup after power failure while creating snapshot

Currently we are missing cleanup routine for case when
power failure interrupts creating snapshot. This patch
add such routine.

For th

blobstore: Cleanup after power failure while creating snapshot

Currently we are missing cleanup routine for case when
power failure interrupts creating snapshot. This patch
add such routine.

For the case where we find blob with a parent snapshot ID
matching newly created snapshot we can finish whole process
during recovery by processing forward with setting snpashot
as read only, removing xattr and syncing. We should remove
snapshot only if there is no blob with parent pointing at
snapshot.

Fixes github issue #760

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I2f0e298164e07a2b4dfa5367e8878facef640702
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455216
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...

a6b1992215-May-2019 Maciej Szwed <maciej.szwed@intel.com>

blobstore/ut: Delete snapshot and power failure unit test

This is unit test for power failure event during snapshot
deletion. At the same time this is an example how to
use new power failure event f

blobstore/ut: Delete snapshot and power failure unit test

This is unit test for power failure event during snapshot
deletion. At the same time this is an example how to
use new power failure event functionality in unit tests.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I9212392f665576fa16edd28c609199d0e02dc434
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454608
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_tgt/Makefile
/spdk/autotest.sh
/spdk/etc/spdk/nvmf.conf.in
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/include/spdk/dif.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/compress/vbdev_compress.c
/spdk/lib/bdev/compress/vbdev_compress.h
/spdk/lib/bdev/compress/vbdev_compress_rpc.c
/spdk/lib/bdev/part.c
/spdk/lib/blob/blobstore.c
/spdk/lib/event/app.c
/spdk/lib/event/json_config.c
/spdk/lib/event/subsystems/Makefile
/spdk/lib/event/subsystems/nvmf/conf.c
/spdk/lib/event/subsystems/nvmf/nvmf_rpc.c
/spdk/lib/event/subsystems/vmd/Makefile
/spdk/lib/event/subsystems/vmd/vmd.c
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/jsonrpc/jsonrpc_server_tcp.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_opal_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/reduce/reduce.c
/spdk/lib/util/dif.c
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/client.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/bdevperf/Makefile
/spdk/test/bdev/blockdev.sh
/spdk/test/blobfs/rocksdb/rocksdb.sh
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/blobstore/blobstore.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/vm_setup.sh
/spdk/test/env/env.sh
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/json.sh
/spdk/test/ftl/restore.sh
/spdk/test/ioat/ioat.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/perf/iscsi_target.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/json_config/json_config.sh
/spdk/test/lvol/lvol.sh
/spdk/test/nvme/hotplug.sh
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/spdk_nvme_cli.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/identify_kernel_nvmf.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/pmem/common.sh
/spdk/test/pmem/pmem.sh
/spdk/test/rpc_client/rpc_client.sh
/spdk/test/spdkcli/common.sh
/spdk/test/spdkcli/iscsi.sh
/spdk/test/spdkcli/nvmf.sh
/spdk/test/spdkcli/pmem.sh
/spdk/test/spdkcli/raid.sh
/spdk/test/spdkcli/rbd.sh
/spdk/test/spdkcli/vhost.sh
/spdk/test/spdkcli/virtio.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
blob_ut.c
/spdk/test/unit/lib/blob/bs_dev_common.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/hotplug/scsi_hotattach.sh
/spdk/test/vhost/hotplug/scsi_hotdetach.sh
/spdk/test/vhost/hotplug/scsi_hotplug.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/integrity/integrity_start.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/shared/shared.sh
/spdk/test/vhost/windows/windows.sh
/spdk/test/vhost/windows/windows_scsi_compliance.sh
622127d721-May-2019 Maciej Szwed <maciej.szwed@intel.com>

blobstore: Make possible to remove snapshot if there is only one clone

Starting with this patch it is possible to remove a
snapshot if there is only a one clone created from it.

In such case snapsh

blobstore: Make possible to remove snapshot if there is only one clone

Starting with this patch it is possible to remove a
snapshot if there is only a one clone created from it.

In such case snapshot can be removed without any data
copying. This is achieved with following steps (case
with only one clone):
1. Open snapshot (Snapshot1) that shall be removed
2. Check if the Snapshot1 has no more than 1 clone (Clone1)
3. Remove Clone1 entry from Snapshot1
4. If the Snapshot1 has a parent snapshot (Snapshot2):
4a. Add Clone1 entry to the Snapshot2 clones list
4b. Remove Snapshot1 entry from Snapshot2 clones list
5. Open Clone1 blob
6. Freeze I/O operations on Clone1
7. Temporarily override md_ro flag for Snapshot1 and Clone1
for MD modification
8. Merge Snapshot1 and Clone1 clusters maps into Clone1
clusters map
9a. If Snapshot2 is present switch parent ID and backing
bs_dev on Clone1
9b. If Snapshot2 is not present set parent ID to
SPDK_BLOBID_INVALID and backing bs_dev to zeroes_dev
10. Sync MD on Clone1
11. Sync MD on Snapshot1
12. Restore MD flags for Clone1 and Snapshot1
13. Unfreeze I/O on Clone1
14. Close Clone1 blob
15. Remove Snapshot1

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I800724b981af894e01e1912d0077c5b34a2ae634
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/445576
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>

show more ...


/spdk/.travis.yml
/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/Makefile
/spdk/autotest.sh
/spdk/configure
/spdk/doc/Doxyfile
/spdk/doc/applications.md
/spdk/doc/bdev.md
/spdk/doc/blob.md
/spdk/doc/compression.md
/spdk/doc/index.md
/spdk/doc/jsonrpc.md
/spdk/doc/tools.md
/spdk/doc/vpp_integration.md
/spdk/dpdk
/spdk/dpdkbuild/Makefile
/spdk/examples/Makefile
/spdk/examples/bdev/hello_world/hello_bdev.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/vmd/Makefile
/spdk/examples/vmd/lsvmd/.gitignore
/spdk/examples/vmd/lsvmd/Makefile
/spdk/examples/vmd/lsvmd/lsvmd.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/dif.h
/spdk/include/spdk/env.h
/spdk/include/spdk/event.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/ioat_spec.h
/spdk/include/spdk/log.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_intel.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/opal.h
/spdk/include/spdk/pci_ids.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/scsi.h
/spdk/include/spdk/scsi_spec.h
/spdk/include/spdk/vmd.h
/spdk/include/spdk_internal/log.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/lib/Makefile
/spdk/lib/bdev/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/compress/vbdev_compress.c
/spdk/lib/bdev/delay/Makefile
/spdk/lib/bdev/delay/vbdev_delay.c
/spdk/lib/bdev/delay/vbdev_delay.h
/spdk/lib/bdev/delay/vbdev_delay_rpc.c
/spdk/lib/bdev/lvol/vbdev_lvol.c
/spdk/lib/bdev/nvme/bdev_ftl.c
/spdk/lib/bdev/nvme/bdev_ftl.h
/spdk/lib/bdev/nvme/bdev_ftl_rpc.c
/spdk/lib/bdev/nvme/bdev_nvme.c
/spdk/lib/bdev/ocf/ctx.c
/spdk/lib/bdev/ocf/vbdev_ocf.c
/spdk/lib/bdev/ocf/volume.c
/spdk/lib/bdev/ocf/volume.h
/spdk/lib/bdev/raid/bdev_raid.c
/spdk/lib/bdev/uring/bdev_uring.c
/spdk/lib/bdev/virtio/bdev_virtio_scsi.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/zeroes.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/env.mk
/spdk/lib/env_dpdk/pci_vmd.c
/spdk/lib/event/app.c
/spdk/lib/event/reactor.c
/spdk/lib/event/subsystems/nvmf/conf.c
/spdk/lib/event/subsystems/nvmf/nvmf_rpc.c
/spdk/lib/ftl/ftl_anm.c
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_debug.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_rwb.c
/spdk/lib/ftl/ftl_rwb.h
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/json/json_util.c
/spdk/lib/log/log.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_opal_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_uevent.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/reduce/reduce.c
/spdk/lib/rpc/rpc.c
/spdk/lib/scsi/lun.c
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/scsi/scsi_internal.h
/spdk/lib/scsi/scsi_pr.c
/spdk/lib/thread/thread.c
/spdk/lib/util/dif.c
/spdk/lib/vhost/rte_vhost/rte_vhost.h
/spdk/lib/vhost/rte_vhost/vhost.c
/spdk/lib/vhost/rte_vhost/vhost.h
/spdk/lib/vhost/rte_vhost_compat.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vmd/Makefile
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd.h
/spdk/lib/vmd/vmd_spec.h
/spdk/mk/nvme.libtest.mk
/spdk/mk/spdk.modules.mk
/spdk/ocf
/spdk/scripts/fio.py
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/config.json
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/__init__.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/client.py
/spdk/scripts/setup.sh
/spdk/scripts/spdkcli/ui_root.py
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevio/tests.py
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/blockdev.sh
/spdk/test/bdev/nbd_common.sh
/spdk/test/blobfs/rocksdb/rocksdb.sh
/spdk/test/blobfs/rocksdb/run_tests.sh
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/blobstore/blobstore.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_env.c
/spdk/test/env/env.sh
/spdk/test/ftl/fio.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/iscsi_tgt.sh
/spdk/test/iscsi_tgt/lvol/iscsi_lvol.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/pmem/iscsi_pmem.sh
/spdk/test/iscsi_tgt/qos/qos.sh
/spdk/test/iscsi_tgt/rbd/rbd.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/rpc_config/rpc_config.sh
/spdk/test/iscsi_tgt/trace_record/trace_record.sh
/spdk/test/json_config/clear_config.py
/spdk/test/json_config/json_config.sh
/spdk/test/lvol/test_cases.py
/spdk/test/nvme/deallocated_value/deallocated_value.c
/spdk/test/nvme/hotplug.sh
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvme/spdk_nvme_cli.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/identify_kernel_nvmf.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/ocf/integrity/fio-modes.sh
/spdk/test/ocf/integrity/test.fio
/spdk/test/ocf/management/persistent-metadata.sh
/spdk/test/ocf/ocf.sh
/spdk/test/rpc_client/rpc_client_test.c
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/compress.c/.gitignore
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
blob_ut.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/ftl/ftl_md/ftl_md_ut.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/ftl/ftl_rwb.c/ftl_rwb_ut.c
/spdk/test/unit/lib/ftl/ftl_wptr/ftl_wptr_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/log/log.c/log_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_ocssd_cmd.c/nvme_ns_ocssd_cmd_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/scsi/Makefile
/spdk/test/unit/lib/scsi/lun.c/lun_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/scsi/scsi_pr.c/.gitignore
/spdk/test/unit/lib/scsi/scsi_pr.c/Makefile
/spdk/test/unit/lib/scsi/scsi_pr.c/scsi_pr_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/hotplug/common.sh
/spdk/test/vhost/hotplug/scsi_hotplug.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/integrity/integrity_start.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/migration/migration-tc1.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/migration/migration-tc3a.sh
/spdk/test/vhost/migration/migration-tc3b.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/other/negative.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/shared/shared.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/test/vhost/windows/windows.sh
/spdk/test/vhost/windows/windows_scsi_compliance.ps1
/spdk/test/vhost/windows/windows_scsi_compliance.py
/spdk/test/vhost/windows/windows_scsi_compliance.sh
92cafd1509-May-2019 Maciej Szwed <maciej.szwed@intel.com>

blobstore: Remove blob on blobstore load when required

In some cases user may want to flag blob for removal
then do some operations (before removing it) and while
it happens there might be power fai

blobstore: Remove blob on blobstore load when required

In some cases user may want to flag blob for removal
then do some operations (before removing it) and while
it happens there might be power failure. In such cases
we should remove this blob on next blobstore load.
Example of such usage is delete snapshot functionality
that will be introduced in upcoming patch.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I85f396b73762d2665ba8aec62528bb224acace74
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453835
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>

show more ...


/spdk/.gitignore
/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/Makefile
/spdk/app/spdk_tgt/Makefile
/spdk/app/trace/trace.cpp
/spdk/autobuild.sh
/spdk/autopackage.sh
/spdk/autorun.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/Doxyfile
/spdk/doc/bdev.md
/spdk/doc/bdev_module.md
/spdk/doc/concepts.md
/spdk/doc/general.md
/spdk/doc/iscsi.md
/spdk/doc/jsonrpc.md
/spdk/doc/memory.md
/spdk/doc/notify.md
/spdk/doc/nvme_spec.md
/spdk/doc/overview.md
/spdk/doc/prog_guides.md
/spdk/doc/ssd_internals.md
/spdk/doc/vhost_processing.md
/spdk/dpdkbuild/Makefile
/spdk/etc/spdk/iscsi.conf.in
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/ioat/perf/.gitignore
/spdk/examples/ioat/perf/Makefile
/spdk/examples/ioat/perf/perf.c
/spdk/examples/nvme/arbitration/Makefile
/spdk/examples/nvme/cmb_copy/Makefile
/spdk/examples/nvme/fio_plugin/Makefile
/spdk/examples/nvme/hello_world/Makefile
/spdk/examples/nvme/hotplug/Makefile
/spdk/examples/nvme/identify/Makefile
/spdk/examples/nvme/nvme_manage/Makefile
/spdk/examples/nvme/perf/Makefile
/spdk/examples/nvme/reserve/Makefile
/spdk/include/Makefile
/spdk/include/spdk/dif.h
/spdk/include/spdk/file.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/notify.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/rpc.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/trace.h
/spdk/include/spdk/version.h
/spdk/include/spdk/vhost.h
/spdk/ipsecbuild/Makefile
/spdk/isalbuild/Makefile
/spdk/lib/Makefile
/spdk/lib/bdev/aio/bdev_aio.c
/spdk/lib/bdev/aio/bdev_aio.h
/spdk/lib/bdev/aio/bdev_aio_rpc.c
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/compress/vbdev_compress.c
/spdk/lib/bdev/crypto/vbdev_crypto.c
/spdk/lib/bdev/lvol/vbdev_lvol_rpc.c
/spdk/lib/bdev/nvme/Makefile
/spdk/lib/bdev/nvme/bdev_nvme_rpc.c
/spdk/lib/bdev/ocf/ctx.c
/spdk/lib/bdev/ocf/ctx.h
/spdk/lib/bdev/ocf/env/Makefile
/spdk/lib/bdev/ocf/env/ocf_env.h
/spdk/lib/bdev/ocf/utils.c
/spdk/lib/bdev/ocf/utils.h
/spdk/lib/bdev/ocf/vbdev_ocf.c
/spdk/lib/bdev/ocf/vbdev_ocf.h
/spdk/lib/bdev/ocf/vbdev_ocf_rpc.c
/spdk/lib/bdev/ocf/volume.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/passthru/vbdev_passthru.c
/spdk/lib/bdev/raid/bdev_raid.c
/spdk/lib/bdev/raid/bdev_raid.h
/spdk/lib/bdev/raid/bdev_raid_rpc.c
/spdk/lib/bdev/rpc/bdev_rpc.c
/spdk/lib/bdev/split/vbdev_split_rpc.c
/spdk/lib/bdev/virtio/bdev_virtio_rpc.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blob/request.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/copy/copy_engine.c
/spdk/lib/copy/ioat/copy_engine_ioat_rpc.c
/spdk/lib/env_dpdk/env.mk
/spdk/lib/env_dpdk/init.c
/spdk/lib/event/app.c
/spdk/lib/event/json_config.c
/spdk/lib/event/reactor.c
/spdk/lib/event/rpc/notify_rpc.c
/spdk/lib/event/subsystems/bdev/bdev_rpc.c
/spdk/lib/event/subsystems/iscsi/iscsi_rpc.c
/spdk/lib/event/subsystems/nvmf/nvmf_rpc.c
/spdk/lib/event/subsystems/nvmf/nvmf_tgt.c
/spdk/lib/event/subsystems/vhost/vhost.c
/spdk/lib/ftl/ftl_anm.c
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_rwb.c
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/iscsi/Makefile
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/conn.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/iscsi/portal_grp.h
/spdk/lib/log/log.c
/spdk/lib/log/rpc/log_rpc.c
/spdk/lib/notify/notify.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/reduce/reduce.c
/spdk/lib/rocksdb/env_spdk.cc
/spdk/lib/rpc/rpc.c
/spdk/lib/scsi/Makefile
/spdk/lib/scsi/lun.c
/spdk/lib/scsi/scsi.c
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/scsi/scsi_internal.h
/spdk/lib/scsi/scsi_pr.c
/spdk/lib/scsi/task.c
/spdk/lib/sock/posix/posix.c
/spdk/lib/sock/vpp/vpp.c
/spdk/lib/thread/thread.c
/spdk/lib/trace/trace_flags.c
/spdk/lib/util/Makefile
/spdk/lib/util/cpuset.c
/spdk/lib/util/dif.c
/spdk/lib/util/file.c
/spdk/lib/vhost/rte_vhost/socket.c
/spdk/lib/vhost/rte_vhost/vhost.c
/spdk/lib/vhost/rte_vhost/vhost.h
/spdk/lib/vhost/rte_vhost/vhost_user.c
/spdk/lib/vhost/rte_vhost_compat.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_scsi.c
/spdk/mk/spdk.app.mk
/spdk/mk/spdk.app_cxx.mk
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib.mk
/spdk/mk/spdk.modules.mk
/spdk/mk/spdk.subdirs.mk
/spdk/mk/spdk.unittest.mk
/spdk/ocf
/spdk/scripts/config_converter.py
/spdk/scripts/fio.py
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/helpers.py
/spdk/scripts/rpc/iscsi.py
/spdk/scripts/rpc/log.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/spdkcli/ui_node.py
/spdk/scripts/spdkcli/ui_root.py
/spdk/shared_lib/Makefile
/spdk/test/app/jsoncat/jsoncat.c
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/bdevio/Makefile
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/blockdev.sh
/spdk/test/blobfs/rocksdb/lsan_suppressions.txt
/spdk/test/blobfs/rocksdb/rocksdb.sh
/spdk/test/blobfs/rocksdb/rocksdb_commit_id
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_sock.c
/spdk/test/common/lib/ut_multithread.c
/spdk/test/config_converter/spdk_config.json
/spdk/test/config_converter/spdk_config_virtio.json
/spdk/test/cpp_headers/Makefile
/spdk/test/env/env_dpdk_post_init/Makefile
/spdk/test/ioat/ioat.sh
/spdk/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh
/spdk/test/iscsi_tgt/common.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/filesystem/filesystem.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/initiator/initiator.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/lvol/iscsi_lvol.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/perf/iscsi_target.sh
/spdk/test/iscsi_tgt/qos/qos.sh
/spdk/test/iscsi_tgt/rbd/rbd.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/iscsi_tgt/trace_record/trace_record.sh
/spdk/test/json_config/config_filter.py
/spdk/test/json_config/json_config.sh
/spdk/test/lvol/lvol.sh
/spdk/test/lvol/test_cases.py
/spdk/test/nvme/aer/Makefile
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/deallocated_value/Makefile
/spdk/test/nvme/e2edp/Makefile
/spdk/test/nvme/err_injection/Makefile
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/overhead/Makefile
/spdk/test/nvme/reset/Makefile
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/sgl/Makefile
/spdk/test/nvmf/README.md
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/identify_kernel_nvmf.sh
/spdk/test/nvmf/host/perf.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/create_transport.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_lvol.sh
/spdk/test/nvmf/target/nvmf_vhost.sh
/spdk/test/nvmf/target/nvmf_vhost_fio.job
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/ocf/integrity/bdevperf-iotypes.sh
/spdk/test/ocf/integrity/fio-modes.sh
/spdk/test/ocf/ocf.sh
/spdk/test/spdkcli/match_files/spdkcli_iscsi.test.match
/spdk/test/spdkcli/match_files/spdkcli_raid.test.match
/spdk/test/spdkcli/match_files/spdkcli_vhost.test.match
/spdk/test/spdkcli/match_files/spdkcli_virtio_pci.test.match
/spdk/test/spdkcli/raid.sh
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/part.c/part_ut.c
blob_ut.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/ftl/ftl_wptr/ftl_wptr_ut.c
/spdk/test/unit/lib/iscsi/common.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c
/spdk/test/unit/lib/notify/notify.c/notify_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/hotplug/common.sh
/spdk/test/vhost/hotplug/scsi_hotattach.sh
/spdk/test/vhost/hotplug/scsi_hotdetach.sh
/spdk/test/vhost/hotplug/scsi_hotplug.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/integrity/integrity_start.sh
/spdk/test/vhost/integrity/integrity_vm.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/migration/migration-tc3a.sh
/spdk/test/vhost/migration/migration.sh
/spdk/test/vhost/other/negative.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/delete_partition_vm.sh
/spdk/test/vhost/readonly/disabled_readonly_vm.sh
/spdk/test/vhost/readonly/enabled_readonly_vm.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/shared/shared.sh
/spdk/test/vhost/vhost.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/test/vhost/windows/windows.sh
b5f96b0e30-Apr-2019 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

ut/blobstore: write and allocate clusters from multiple threads

This patch verifies that functionality of only releasing cluster
that was originaly claimed in race thread condition.

Change-Id: I4d6

ut/blobstore: write and allocate clusters from multiple threads

This patch verifies that functionality of only releasing cluster
that was originaly claimed in race thread condition.

Change-Id: I4d60ffdb4fd6612d61a761835aae2fd1bf81b7fd
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452626
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>

show more ...

12345678910