diff options
author | Michael Hanselmann <public@hansmi.ch> | 2018-07-27 17:00:27 +0200 |
---|---|---|
committer | Michael Hanselmann <public@hansmi.ch> | 2018-07-27 19:53:14 +0200 |
commit | 4991e72186e64152ea32286a8e2e73ebf651f30f (patch) | |
tree | ebb0258eb9e67d10ec2e3d25fc80786b4de2c782 /gluster/gfapi/gfapi.py | |
parent | d5e4a0362a08ca3c0e7a33ea8caafccb22b906b2 (diff) |
Support mknod API
Gluster supports the mknod(2) API to create special files such as
character and block devices. Add it to the "gfapi.Volume" class.
Change-Id: Ie62245441997111b0cf6e44b2a14a1ad7b6d7d56
Signed-off-by: Michael Hanselmann <public@hansmi.ch>
Diffstat (limited to 'gluster/gfapi/gfapi.py')
-rw-r--r-- | gluster/gfapi/gfapi.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gluster/gfapi/gfapi.py b/gluster/gfapi/gfapi.py index 5078c00..ee1fd36 100644 --- a/gluster/gfapi/gfapi.py +++ b/gluster/gfapi/gfapi.py @@ -1823,3 +1823,20 @@ class Volume(object): if errors: raise Error(errors) + + @validate_mount + def mknod(self, path, mode, dev): + """ + Create special or ordinary file; see mknod(2) for more details. + + :param path: Path of file to be created. + :param mode: Operation to be performed on the given range + :param dev: Major and minor numbers for newly created device special + file; use os.makedev to build value. Ignored for other + types. + :raises: OSError on failure + """ + ret = api.glfs_mknod(self.fs, decode_to_bytes(path), mode, dev) + if ret < 0: + err = ctypes.get_errno() + raise OSError(err, os.strerror(err)) |