nvme: build/load as kernel modules
authorDavid Disseldorp <ddiss@suse.de>
Wed, 22 Feb 2017 15:51:51 +0000 (16:51 +0100)
committerDavid Disseldorp <ddiss@suse.de>
Wed, 22 Feb 2017 15:51:51 +0000 (16:51 +0100)
The modules are pretty exotic, so it makes sense to keep separate.

Signed-off-by: David Disseldorp <ddiss@suse.de>
cut_nvme_rbd.sh
kernel/vanilla_config
nvme_rbd_autorun.sh

index f91e496c288ee1874bf6371c43d4122ff403b45a..bb358c080dca1ff7b41d1ea766a8f2c1aa7216b1 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (C) SUSE LINUX GmbH 2016, all rights reserved.
+# Copyright (C) SUSE LINUX GmbH 2017, all rights reserved.
 #
 # This library is free software; you can redistribute it and/or modify it
 # under the terms of the GNU Lesser General Public License as published
@@ -26,6 +26,7 @@ dracut --no-compress  --kver "$KVER" \
        --include "$RAPIDO_DIR/nvme_rbd_autorun.sh" "/.profile" \
        --include "$RAPIDO_DIR/rapido.conf" "/rapido.conf" \
        --include "$RAPIDO_DIR/vm_autorun.env" "/vm_autorun.env" \
+       --add-drivers "nvme-core nvme-fabrics nvme-loop nvmet" \
        --no-hostonly --no-hostonly-cmdline \
        --modules "bash base network ifcfg" \
        --tmpdir "$RAPIDO_DIR/initrds/" \
index b88cb15e81637cd769f635fc3a760c9f78fba42b..c0a3207f4eb008b8eea1d6d0bd492122aa7c9316 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.10.0-rc4 Kernel Configuration
+# Linux/x86 4.10.0 Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -40,7 +40,6 @@ CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 CONFIG_X86_64_SMP=y
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_DEBUG_RODATA=y
 CONFIG_PGTABLE_LEVELS=4
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 CONFIG_IRQ_WORK=y
@@ -125,7 +124,6 @@ CONFIG_SRCU=y
 # CONFIG_TASKS_RCU is not set
 CONFIG_RCU_STALL_COMMON=y
 # CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_RCU_EXPEDITE_BOOT is not set
 # CONFIG_BUILD_BIN2C is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=17
@@ -285,6 +283,12 @@ CONFIG_COMPAT_OLD_SIGACTION=y
 # CONFIG_CPU_NO_EFFICIENT_FFS is not set
 CONFIG_HAVE_ARCH_VMAP_STACK=y
 CONFIG_VMAP_STACK=y
+# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
+# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
 
 #
 # GCOV-based kernel profiling
@@ -306,12 +310,15 @@ CONFIG_MODULE_FORCE_UNLOAD=y
 # CONFIG_TRIM_UNUSED_KSYMS is not set
 CONFIG_MODULES_TREE_LOOKUP=y
 CONFIG_BLOCK=y
+CONFIG_BLK_SCSI_REQUEST=y
 CONFIG_BLK_DEV_BSG=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 # CONFIG_BLK_DEV_ZONED is not set
 # CONFIG_BLK_CMDLINE_PARSER is not set
 # CONFIG_BLK_WBT is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_SED_OPAL is not set
 
 #
 # Partition Types
@@ -330,6 +337,12 @@ CONFIG_IOSCHED_NOOP=y
 # CONFIG_IOSCHED_CFQ is not set
 CONFIG_DEFAULT_NOOP=y
 CONFIG_DEFAULT_IOSCHED="noop"
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+CONFIG_MQ_IOSCHED_NONE=y
+CONFIG_DEFAULT_SQ_NONE=y
+CONFIG_DEFAULT_SQ_IOSCHED="none"
+CONFIG_DEFAULT_MQ_NONE=y
+CONFIG_DEFAULT_MQ_IOSCHED="none"
 CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
 CONFIG_INLINE_READ_UNLOCK=y
 CONFIG_INLINE_READ_UNLOCK_IRQ=y
@@ -812,12 +825,18 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
 CONFIG_VIRTIO_BLK=y
+# CONFIG_VIRTIO_BLK_SCSI is not set
 # CONFIG_BLK_DEV_HD is not set
 CONFIG_BLK_DEV_RBD=y
 # CONFIG_BLK_DEV_RSXX is not set
+CONFIG_NVME_CORE=m
 # CONFIG_BLK_DEV_NVME is not set
+# CONFIG_BLK_DEV_NVME_SCSI is not set
+CONFIG_NVME_FABRICS=m
 # CONFIG_NVME_FC is not set
-# CONFIG_NVME_TARGET is not set
+CONFIG_NVME_TARGET=m
+CONFIG_NVME_TARGET_LOOP=m
+# CONFIG_NVME_TARGET_FC is not set
 
 #
 # Misc devices
@@ -1751,6 +1770,7 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y
 # CONFIG_KMEMCHECK is not set
 CONFIG_HAVE_ARCH_KASAN=y
 # CONFIG_KASAN is not set
+# CONFIG_DEBUG_REFCOUNT is not set
 CONFIG_ARCH_HAS_KCOV=y
 # CONFIG_KCOV is not set
 # CONFIG_DEBUG_SHIRQ is not set
@@ -1774,7 +1794,6 @@ CONFIG_SCHED_DEBUG=y
 # CONFIG_SCHEDSTATS is not set
 # CONFIG_SCHED_STACK_END_CHECK is not set
 # CONFIG_DEBUG_TIMEKEEPING is not set
-# CONFIG_TIMER_STATS is not set
 
 #
 # Lock Debugging (spinlocks, mutexes, etc...)
@@ -1789,6 +1808,7 @@ CONFIG_SCHED_DEBUG=y
 # CONFIG_DEBUG_ATOMIC_SLEEP is not set
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
 # CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
 CONFIG_STACKTRACE=y
 # CONFIG_DEBUG_KOBJECT is not set
 CONFIG_DEBUG_BUGVERBOSE=y
@@ -1869,8 +1889,6 @@ CONFIG_EARLY_PRINTK=y
 # CONFIG_X86_PTDUMP is not set
 CONFIG_DEBUG_RODATA_TEST=y
 # CONFIG_DEBUG_WX is not set
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
 CONFIG_DOUBLEFAULT=y
 # CONFIG_DEBUG_TLBFLUSH is not set
 # CONFIG_IOMMU_DEBUG is not set
index ef998a82693221e79c731fb9d99c9090e91aafad..75803e3df50344c6d1a3a8b4c74a4a2f650816c0 100755 (executable)
@@ -73,6 +73,11 @@ for i in $DYN_DEBUG_FILES; do
        echo "file $i +pf" > /sys/kernel/debug/dynamic_debug/control || _fatal
 done
 
+modprobe nvme-core || _fatal
+modprobe nvme-fabrics || _fatal
+modprobe nvme-loop || _fatal
+modprobe nvmet || _fatal
+
 mkdir -p /sys/kernel/config/nvmet/subsystems/nvmf-test
 cd /sys/kernel/config/nvmet/subsystems/nvmf-test
 echo 1 > attr_allow_any_host