The 'volumes' ceph-mgr module returns a byte type instead of a string
type as the stdout result of commands, `fs subvolume getpath` and
`fs subvolumegroup getpath` to the ceph-mgr. This causes the commands
to hang and the ceph-mgr to utilize 100% CPU. Fix the 'volumes'
ceph-mgr module to return string type to ceph-mgr as the stdout
result of the commands.
Introduced-by: 3d63cd947f55a8508f972ee249ea6a04836429ae
Fixes: https://tracker.ceph.com/issues/41903
Signed-off-by: Venky Shankar <vshankar@redhat.com>
if not path:
raise VolumeException(
-errno.ENOENT, "Subvolume '{0}' not found".format(subvolname))
- ret = 0, path, ""
+ ret = 0, path.decode("utf-8"), ""
except VolumeException as ve:
ret = self.volume_exception_to_retval(ve)
return ret
if path is None:
raise VolumeException(
-errno.ENOENT, "Subvolume group '{0}' not found".format(groupname))
- return 0, path, ""
+ return 0, path.decode("utf-8"), ""
except VolumeException as ve:
return self.volume_exception_to_retval(ve)