diff options
Diffstat (limited to 'src/spdk/scripts/rpc/blobfs.py')
-rw-r--r-- | src/spdk/scripts/rpc/blobfs.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/spdk/scripts/rpc/blobfs.py b/src/spdk/scripts/rpc/blobfs.py new file mode 100644 index 000000000..a064afecf --- /dev/null +++ b/src/spdk/scripts/rpc/blobfs.py @@ -0,0 +1,57 @@ +def blobfs_detect(client, bdev_name): + """Detect whether a blobfs exists on bdev. + + Args: + bdev_name: block device name to detect blobfs + + Returns: + True if a blobfs exists on the bdev; False otherwise. + """ + params = { + 'bdev_name': bdev_name + } + return client.call('blobfs_detect', params) + + +def blobfs_create(client, bdev_name, cluster_sz=None): + """Build blobfs on bdev. + + Args: + bdev_name: block device name to build blobfs + cluster_sz: Size of cluster in bytes (Optional). Must be multiple of 4KB page size. Default and minimal value is 1M. + """ + params = { + 'bdev_name': bdev_name + } + if cluster_sz: + params['cluster_sz'] = cluster_sz + return client.call('blobfs_create', params) + + +def blobfs_mount(client, bdev_name, mountpoint): + """Mount blobfs on bdev by FUSE. + + Args: + bdev_name: block device name where the blobfs is + mountpoint: Mountpoint path in host to mount blobfs + """ + params = { + 'bdev_name': bdev_name, + 'mountpoint': mountpoint + } + return client.call('blobfs_mount', params) + + +def blobfs_set_cache_size(client, size_in_mb): + """Set cache size for the blobstore filesystem. + + Args: + size_in_mb: Cache size in megabytes + + Returns: + True if cache size is set successfully; False if failed to set. + """ + params = { + 'size_in_mb': size_in_mb + } + return client.call('blobfs_set_cache_size', params) |