9c6e742679
This RPC method will mount blobfs on bdev to one host path through FUSE. Then on the host path, user can directly do some file operations which will be mapped to blobfs. Note: * The FUSE mount of blobfs can be umounted directly by SHELL umount or fusermount command. Change-Id: I7c322d978b39bbc7255fced345a749ad5bfa7077 Signed-off-by: Xiaodong Liu <xiaodong.liu@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/468777 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com>
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
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)
|