Bug #41371
closedmgr/volumes: subvolume and subvolume group path exists even when creation failed
0%
Description
(testenv) [rraja@bzn build]$ ./bin/ceph fs subvolume create a subvol00 --pool_layout invalid_pool
Error EINVAL: Traceback (most recent call last):
File "/home/rraja/git/ceph/src/pybind/mgr/mgr_module.py", line 889, in _handle_command
return self.handle_command(inbuf, cmd)
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/module.py", line 188, in handle_command
return handler(inbuf, cmd)
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/module.py", line 230, in _cmd_fs_subvolume_create
mode=cmd.get('mode', '755'))
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/fs/volume.py", line 364, in conn_wrapper
result = func(self, fs_h, **kwargs)
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/fs/volume.py", line 391, in create_subvolume
sv.create_subvolume(spec, size, pool=pool, mode=self.octal_str_to_decimal_int(mode))
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/fs/subvolume.py", line 105, in create_subvolume
self.fs.setxattr(subvolpath, 'ceph.dir.layout.pool', pool.encode('utf-8'), 0)
File "cephfs.pyx", line 1051, in cephfs.LibCephFS.setxattr
cephfs.InvalidValue: [Errno 22] error in setxattr
(testenv) [rraja@bzn build]$ ./bin/ceph fs subvolume getpath a subvol00
/volumes/_nogroup/subvol00
(testenv) [rraja@bzn build]$ ./bin/ceph fs subvolumegroup create a csi --pool_layout invalid_pool
Error EINVAL: Traceback (most recent call last):
File "/home/rraja/git/ceph/src/pybind/mgr/mgr_module.py", line 889, in _handle_command
return self.handle_command(inbuf, cmd)
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/module.py", line 188, in handle_command
return handler(inbuf, cmd)
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/module.py", line 211, in _cmd_fs_subvolumegroup_create
pool_layout=cmd.get('pool_layout', None), mode=cmd.get('mode', '755'))
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/fs/volume.py", line 364, in conn_wrapper
result = func(self, fs_h, **kwargs)
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/fs/volume.py", line 504, in create_subvolume_group
sv.create_group(spec, pool=pool, mode=self.octal_str_to_decimal_int(mode))
File "/home/rraja/git/ceph/src/pybind/mgr/volumes/fs/subvolume.py", line 209, in create_group
self.fs.setxattr(path, 'ceph.dir.layout.pool', pool.encode('utf-8'), 0)
File "cephfs.pyx", line 1051, in cephfs.LibCephFS.setxattr
cephfs.InvalidValue: [Errno 22] error in setxattr
(testenv) [rraja@bzn build]$ ./bin/ceph fs subvolumegroup getpath a csi
/volumes/csi