From b5073b090535744608164e266badba919298f894 Mon Sep 17 00:00:00 2001 From: Prashanth Pai Date: Thu, 11 Jan 2018 17:53:08 +0530 Subject: Add get_volume_id() API Change-Id: Ia4c378c5b1657bb4ec23c7057c7cbc49c1b31484 Signed-off-by: Prashanth Pai --- gluster/gfapi/gfapi.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gluster/gfapi/gfapi.py') diff --git a/gluster/gfapi/gfapi.py b/gluster/gfapi/gfapi.py index d48aa06..c01d534 100644 --- a/gluster/gfapi/gfapi.py +++ b/gluster/gfapi/gfapi.py @@ -14,6 +14,7 @@ import math import time import stat import errno +import uuid from collections import Iterator from gluster.gfapi import api @@ -666,6 +667,7 @@ class Volume(object): self.host = host self.volname = volname + self.volid = None self.protocol = proto self.port = port @@ -769,6 +771,23 @@ class Volume(object): self.log_file = log_file self.log_level = log_level + @validate_mount + def get_volume_id(self): + """ + Returns the volume ID (of type uuid.UUID) for the currently mounted + volume. + """ + if self.volid != None: + return self.volid + size = 16 + buf = ctypes.create_string_buffer(size) + ret = api.glfs_get_volumeid(self.fs, buf, size) + if ret < 0: + err = ctypes.get_errno() + raise OSError(err, os.strerror(err)) + self.volid = uuid.UUID(bytes=buf.raw) + return self.volid + @validate_mount def access(self, path, mode): """ -- cgit