11ee119eaSMarcin Dziegielewski#!/usr/bin/env bash 2eb53c232Spaul luse# SPDX-License-Identifier: BSD-3-Clause 3eb53c232Spaul luse# Copyright (C) 2019 Intel Corporation 4eb53c232Spaul luse# All rights reserved. 5eb53c232Spaul luse# 625f601cfSMaciej Wawrykcurdir=$(dirname $(readlink -f "${BASH_SOURCE[0]}")) 71ee119eaSMarcin Dziegielewskirootdir=$(readlink -f $curdir/../../..) 81ee119eaSMarcin Dziegielewskisource $rootdir/test/common/autotest_common.sh 91ee119eaSMarcin Dziegielewski 101ee119eaSMarcin Dziegielewskirpc_py=$rootdir/scripts/rpc.py 111ee119eaSMarcin Dziegielewski 121ee119eaSMarcin Dziegielewskirm -f aio* 131ee119eaSMarcin Dziegielewskitruncate -s 128M aio0 141ee119eaSMarcin Dziegielewskitruncate -s 128M aio1 151ee119eaSMarcin Dziegielewski 167a0274fcSMichal Bergerjq . <<- JSON > "$curdir/config" 177a0274fcSMichal Berger { 187a0274fcSMichal Berger "subsystems": [ 197a0274fcSMichal Berger { 207a0274fcSMichal Berger "subsystem": "bdev", 217a0274fcSMichal Berger "config": [ 227a0274fcSMichal Berger { 237a0274fcSMichal Berger "method": "bdev_aio_create", 247a0274fcSMichal Berger "params": { 257a0274fcSMichal Berger "name": "ai0", 267a0274fcSMichal Berger "block_size": 512, 277a0274fcSMichal Berger "filename": "./aio0" 287a0274fcSMichal Berger } 297a0274fcSMichal Berger }, 307a0274fcSMichal Berger { 317a0274fcSMichal Berger "method": "bdev_aio_create", 327a0274fcSMichal Berger "params": { 337a0274fcSMichal Berger "name": "aio1", 347a0274fcSMichal Berger "block_size": 512, 357a0274fcSMichal Berger "filename": "./aio1" 367a0274fcSMichal Berger } 371c9125e7STomasz Zawadzki }, 381c9125e7STomasz Zawadzki { 391c9125e7STomasz Zawadzki "method": "bdev_wait_for_examine" 407a0274fcSMichal Berger } 417a0274fcSMichal Berger ] 427a0274fcSMichal Berger } 437a0274fcSMichal Berger ] 447a0274fcSMichal Berger } 457a0274fcSMichal BergerJSON 461ee119eaSMarcin Dziegielewski 476b9b448eSBen Walker"$SPDK_BIN_DIR/iscsi_tgt" --json "$curdir/config" & 481ee119eaSMarcin Dziegielewskispdk_pid=$! 491ee119eaSMarcin Dziegielewski 501ee119eaSMarcin Dziegielewskiwaitforlisten $spdk_pid 511ee119eaSMarcin Dziegielewski 521ee119eaSMarcin Dziegielewski# Create ocf on persistent storage 531ee119eaSMarcin Dziegielewski 541ee119eaSMarcin Dziegielewski$rpc_py bdev_ocf_create ocfWT wt aio0 aio1 551ee119eaSMarcin Dziegielewski 561ee119eaSMarcin Dziegielewski# Check that ocfWT was created properly 571ee119eaSMarcin Dziegielewski 581ee119eaSMarcin Dziegielewski$rpc_py bdev_ocf_get_bdevs | jq -r '.[] .name' | grep -qw ocfWT 591ee119eaSMarcin Dziegielewski 601ee119eaSMarcin Dziegielewski# Remove ocfWT, after delete via rpc ocf bdev should not load on next app start 611ee119eaSMarcin Dziegielewski 621ee119eaSMarcin Dziegielewski$rpc_py bdev_ocf_delete ocfWT 631ee119eaSMarcin Dziegielewski 641ee119eaSMarcin Dziegielewski# Check that ocfWT was deleted properly 651ee119eaSMarcin Dziegielewski 66742f04b3SMichal Berger[[ -z $("$rpc_py" bdev_ocf_get_bdevs | jq -r '.[] | select(.name == "ocfWT") | .name') ]] 671ee119eaSMarcin Dziegielewski 681ee119eaSMarcin Dziegielewskitrap - SIGINT SIGTERM EXIT 691ee119eaSMarcin Dziegielewski 701ee119eaSMarcin Dziegielewskikillprocess $spdk_pid 711ee119eaSMarcin Dziegielewski 721ee119eaSMarcin Dziegielewski# Check for ocfWT was deleted permanently 736b9b448eSBen Walker"$SPDK_BIN_DIR/iscsi_tgt" --json "$curdir/config" & 741ee119eaSMarcin Dziegielewskispdk_pid=$! 751ee119eaSMarcin Dziegielewski 761ee119eaSMarcin Dziegielewskitrap 'killprocess $spdk_pid; rm -f aio* $curdir/config ocf_bdevs ocf_bdevs_verify; exit 1' SIGINT SIGTERM EXIT 771ee119eaSMarcin Dziegielewski 781ee119eaSMarcin Dziegielewskiwaitforlisten $spdk_pid 791ee119eaSMarcin Dziegielewski 801ee119eaSMarcin Dziegielewski# Check that ocfWT was not loaded on app start 811ee119eaSMarcin Dziegielewski 82*b24df7cfSMichal Berger(($("$rpc_py" bdev_ocf_get_bdevs | jq 'length') == 0)) 831ee119eaSMarcin Dziegielewski 841ee119eaSMarcin Dziegielewskitrap - SIGINT SIGTERM EXIT 851ee119eaSMarcin Dziegielewski 861ee119eaSMarcin Dziegielewskikillprocess $spdk_pid 871ee119eaSMarcin Dziegielewskirm -f aio* $curdir/config ocf_bdevs ocf_bdevs_verify 88