1588dfe31SMichal Berger# SPDX-License-Identifier: BSD-3-Clause 2588dfe31SMichal Berger# Copyright (C) 2019 Intel Corporation. 3588dfe31SMichal Berger# All rights reserved. 4588dfe31SMichal Berger 5*555ca7adSMike Gerdts 67610bc38SKonrad Sztyberdef blobfs_detect(client, bdev_name): 77610bc38SKonrad Sztyber """Detect whether a blobfs exists on bdev. 87610bc38SKonrad Sztyber 97610bc38SKonrad Sztyber Args: 107610bc38SKonrad Sztyber bdev_name: block device name to detect blobfs 117610bc38SKonrad Sztyber 127610bc38SKonrad Sztyber Returns: 137610bc38SKonrad Sztyber True if a blobfs exists on the bdev; False otherwise. 147610bc38SKonrad Sztyber """ 157610bc38SKonrad Sztyber params = { 167610bc38SKonrad Sztyber 'bdev_name': bdev_name 177610bc38SKonrad Sztyber } 187610bc38SKonrad Sztyber return client.call('blobfs_detect', params) 197610bc38SKonrad Sztyber 207610bc38SKonrad Sztyber 217610bc38SKonrad Sztyberdef blobfs_create(client, bdev_name, cluster_sz=None): 227610bc38SKonrad Sztyber """Build blobfs on bdev. 237610bc38SKonrad Sztyber 247610bc38SKonrad Sztyber Args: 257610bc38SKonrad Sztyber bdev_name: block device name to build blobfs 267610bc38SKonrad Sztyber cluster_sz: Size of cluster in bytes (Optional). Must be multiple of 4KB page size. Default and minimal value is 1M. 277610bc38SKonrad Sztyber """ 287610bc38SKonrad Sztyber params = { 297610bc38SKonrad Sztyber 'bdev_name': bdev_name 307610bc38SKonrad Sztyber } 317610bc38SKonrad Sztyber if cluster_sz: 327610bc38SKonrad Sztyber params['cluster_sz'] = cluster_sz 337610bc38SKonrad Sztyber return client.call('blobfs_create', params) 347610bc38SKonrad Sztyber 357610bc38SKonrad Sztyber 367610bc38SKonrad Sztyberdef blobfs_mount(client, bdev_name, mountpoint): 377610bc38SKonrad Sztyber """Mount blobfs on bdev by FUSE. 387610bc38SKonrad Sztyber 397610bc38SKonrad Sztyber Args: 407610bc38SKonrad Sztyber bdev_name: block device name where the blobfs is 417610bc38SKonrad Sztyber mountpoint: Mountpoint path in host to mount blobfs 427610bc38SKonrad Sztyber """ 437610bc38SKonrad Sztyber params = { 447610bc38SKonrad Sztyber 'bdev_name': bdev_name, 457610bc38SKonrad Sztyber 'mountpoint': mountpoint 467610bc38SKonrad Sztyber } 477610bc38SKonrad Sztyber return client.call('blobfs_mount', params) 487610bc38SKonrad Sztyber 497610bc38SKonrad Sztyber 507610bc38SKonrad Sztyberdef blobfs_set_cache_size(client, size_in_mb): 517610bc38SKonrad Sztyber """Set cache size for the blobstore filesystem. 527610bc38SKonrad Sztyber 537610bc38SKonrad Sztyber Args: 547610bc38SKonrad Sztyber size_in_mb: Cache size in megabytes 557610bc38SKonrad Sztyber 567610bc38SKonrad Sztyber Returns: 577610bc38SKonrad Sztyber True if cache size is set successfully; False if failed to set. 587610bc38SKonrad Sztyber """ 597610bc38SKonrad Sztyber params = { 607610bc38SKonrad Sztyber 'size_in_mb': size_in_mb 617610bc38SKonrad Sztyber } 627610bc38SKonrad Sztyber return client.call('blobfs_set_cache_size', params) 63