filesystem: support default_features

This commit is contained in:
Dan Bungert 2023-08-24 15:11:06 -06:00
parent c73fac697e
commit ee589e34f1
4 changed files with 14 additions and 1 deletions

View File

@ -359,6 +359,7 @@ def _for_client_zpool(zpool, *, min_size=0):
zfses=[for_client(zfs) for zfs in zpool.zfses],
pool_properties=zpool.pool_properties,
fs_properties=zpool.fs_properties,
default_features=zpool.default_features,
)

View File

@ -305,6 +305,7 @@ class ZPool:
zfses: Optional[ZFS] = None
pool_properties: Optional[dict] = None
fs_properties: Optional[dict] = None
default_features: Optional[bool] = True
class GapUsable(enum.Enum):

View File

@ -1115,6 +1115,8 @@ class ZPool:
# default dataset options for the zfses in the pool
fs_properties: Optional[dict] = None
default_features: Optional[bool] = True
component_name = "vdev"
@property
@ -2003,13 +2005,21 @@ class FilesystemModel(object):
return True
def add_zpool(
self, device, pool, mountpoint, *, fs_properties=None, pool_properties=None
self,
device,
pool,
mountpoint,
*,
default_features=True,
fs_properties=None,
pool_properties=None,
):
zpool = ZPool(
m=self,
vdevs=[device],
pool=pool,
mountpoint=mountpoint,
default_features=default_features,
pool_properties=pool_properties,
fs_properties=fs_properties,
)

View File

@ -1403,6 +1403,7 @@ class TestZPool(SubiTestCase):
a_zp = dict(matching_dicts(actions, type="zpool")[0])
a_zfs = dict(matching_dicts(actions, type="zfs")[0])
e_zp = {
"default_features": True,
"vdevs": [d.id],
"pool": "p1",
"mountpoint": "/",