1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright (C) 2022 Intel Corporation. 3# All rights reserved. 4 5 6def ublk_create_target(client, cpumask=None, disable_user_copy=None): 7 params = {} 8 if cpumask: 9 params['cpumask'] = cpumask 10 if disable_user_copy: 11 params['disable_user_copy'] = True 12 return client.call('ublk_create_target', params) 13 14 15def ublk_destroy_target(client): 16 return client.call('ublk_destroy_target') 17 18 19def ublk_start_disk(client, bdev_name, ublk_id=1, num_queues=1, queue_depth=128): 20 params = { 21 'bdev_name': bdev_name, 22 'ublk_id': ublk_id 23 } 24 if num_queues: 25 params['num_queues'] = num_queues 26 if queue_depth: 27 params['queue_depth'] = queue_depth 28 return client.call('ublk_start_disk', params) 29 30 31def ublk_stop_disk(client, ublk_id=1): 32 params = {'ublk_id': ublk_id} 33 return client.call('ublk_stop_disk', params) 34 35 36def ublk_recover_disk(client, bdev_name, ublk_id): 37 params = { 38 'bdev_name': bdev_name, 39 'ublk_id': ublk_id 40 } 41 return client.call('ublk_recover_disk', params) 42 43 44def ublk_get_disks(client, ublk_id=1): 45 params = {} 46 if ublk_id is not None: 47 params['ublk_id'] = ublk_id 48 return client.call('ublk_get_disks', params) 49