rmdir "${NVMET_CFS}/ports/${port}"
}
-_create_nvmet_subsystem() {
+_create_nvmet_ns() {
local nvmet_subsystem="$1"
- local blkdev="$2"
+ local nsid="$2"
+ local blkdev="$3"
local uuid="00000000-0000-0000-0000-000000000000"
- local cfs_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
+ local subsys_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
+ local ns_path="${subsys_path}/namespaces/${nsid}"
- if [[ $# -eq 3 ]]; then
- uuid="$3"
+ if [[ $# -eq 4 ]]; then
+ uuid="$4"
fi
+ mkdir "${ns_path}"
+ printf "%s" "${blkdev}" > "${ns_path}/device_path"
+ printf "%s" "${uuid}" > "${ns_path}/device_uuid"
+ printf 1 > "${ns_path}/enable"
+}
+
+_create_nvmet_subsystem() {
+ local nvmet_subsystem="$1"
+ local blkdev="$2"
+ local uuid=$3
+ local cfs_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
+
mkdir -p "${cfs_path}"
echo 1 > "${cfs_path}/attr_allow_any_host"
- mkdir "${cfs_path}/namespaces/1"
- printf "%s" "$blkdev" > "${cfs_path}/namespaces/1/device_path"
- printf "%s" "$uuid" > "${cfs_path}/namespaces/1/device_uuid"
- printf 1 > "${cfs_path}/namespaces/1/enable"
+ _create_nvmet_ns "${nvmet_subsystem}" "1" "${blkdev}" "${uuid}"
+}
+
+_remove_nvmet_ns() {
+ local nvmet_subsystem="$1"
+ local nsid=$2
+ local subsys_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
+ local nvmet_ns_path="${subsys_path}/namespaces/${nsid}"
+
+ echo 0 > "${nvmet_ns_path}/enable"
+ rmdir "${nvmet_ns_path}"
}
_remove_nvmet_subsystem() {
local nvmet_subsystem="$1"
- local cfs_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
+ local subsys_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
- echo 0 > "${cfs_path}/namespaces/1/enable"
- rmdir "${cfs_path}/namespaces/1/"
- rmdir "${cfs_path}"
+ _remove_nvmet_ns "${nvmet_subsystem}" "1"
+ rmdir "${subsys_path}"
}
_add_nvmet_subsys_to_port() {