numam-spdk/scripts/rpc/blobfs.py
Xiaodong Liu 9c6e742679 blobfs: add blobfs_mount RPC as FUSE
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>
2019-10-15 16:25:09 +00:00

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)