<NME> _introspect.py
<BEF> SPECS = {
    "org.freedesktop.DBus.ObjectManager": """
<interface name="org.freedesktop.DBus.ObjectManager">
    <method name="GetManagedObjects">
      <arg name="objpath_interfaces_and_properties" type="a{oa{sa{sv}}}" direction="out" />
    </method>
  </interface>
""",
    "org.storage.stratis3.Manager.r2": """
<interface name="org.storage.stratis3.Manager.r2">
    <method name="CreatePool">
      <arg name="name" type="s" direction="in" />
      <arg name="redundancy" type="(bq)" direction="in" />
      <arg name="devices" type="as" direction="in" />
      <arg name="key_desc" type="(bs)" direction="in" />
      <arg name="clevis_info" type="(b(ss))" direction="in" />
      <arg name="result" type="(b(oao))" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="DestroyPool">
      <arg name="pool" type="o" direction="in" />
      <arg name="result" type="(bs)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="EngineStateReport">
      <arg name="result" type="s" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="ListKeys">
      <arg name="result" type="as" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="RefreshState">
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="SetKey">
      <arg name="key_desc" type="s" direction="in" />
      <arg name="key_fd" type="h" direction="in" />
      <arg name="result" type="(bb)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="StartPool">
      <arg name="pool_uuid" type="s" direction="in" />
      <arg name="unlock_method" type="(bs)" direction="in" />
      <arg name="result" type="(b(oaoao))" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="StopPool">
      <arg name="pool" type="o" direction="in" />
      <arg name="result" type="(bs)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="UnsetKey">
      <arg name="key_desc" type="s" direction="in" />
      <arg name="result" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <property name="StoppedPools" type="a{sa{sv}}" access="read" />
    <property name="Version" type="s" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
  </interface>
""",
    "org.storage.stratis3.Report.r2": """
<interface name="org.storage.stratis3.Report.r2">
    <method name="GetReport">
      <arg name="name" type="s" direction="in" />
      <arg name="result" type="s" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
  </interface>
""",
    "org.storage.stratis3.blockdev.r2": """
<interface name="org.storage.stratis3.blockdev.r2">
    <method name="SetUserInfo">
      <arg name="id" type="(bs)" direction="in" />
      <arg name="changed" type="(bs)" direction="out" />
    <property name="HardwareInfo" type="(bs)" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
    <property name="InitializationTime" type="t" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
    <property name="NewPhysicalSize" type="(bs)" access="read" />
    <property name="PhysicalPath" type="s" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
    <property name="Pool" type="o" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
    <property name="Tier" type="q" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false" />
    </property>
    <property name="TotalPhysicalSize" type="s" access="read" />
    <property name="UserInfo" type="(bs)" access="readwrite" />
    <property name="Uuid" type="s" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
  </interface>
""",
    "org.storage.stratis3.filesystem.r4": """
<interface name="org.storage.stratis3.filesystem.r4">
    <method name="SetName">
      <arg name="name" type="s" direction="in" />
    </property>
  </interface>
""",
    "org.storage.stratis3.filesystem.r2": """
<interface name="org.storage.stratis3.filesystem.r2">
    <method name="SetName">
      <arg name="name" type="s" direction="in" />
      <arg name="result" type="(bs)" direction="out" />
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="invalidates" />
    </property>
    <property name="Name" type="s" access="read" />
    <property name="Pool" type="o" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
    <property name="Size" type="s" access="read" />
    <property name="Used" type="(bs)" access="read" />
    <property name="Uuid" type="s" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
  </interface>
""",
    "org.storage.stratis3.pool.r4": """
<interface name="org.storage.stratis3.pool.r4">
    <method name="AddCacheDevs">
      <arg name="devices" type="as" direction="in" />
    </property>
  </interface>
""",
    "org.storage.stratis3.pool.r2": """
<interface name="org.storage.stratis3.pool.r2">
    <method name="AddCacheDevs">
      <arg name="devices" type="as" direction="in" />
      <arg name="results" type="(bao)" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="BindClevis">
      <arg name="pin" type="s" direction="in" />
      <arg name="json" type="s" direction="in" />
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="BindKeyring">
      <arg name="key_desc" type="s" direction="in" />
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="CreateFilesystems">
      <arg name="specs" type="a(s(bs))" direction="in" />
      <arg name="results" type="(ba(os))" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="DestroyFilesystems">
      <arg name="filesystems" type="ao" direction="in" />
      <arg name="results" type="(bas)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="GrowPhysicalDevice">
      <arg name="dev" type="s" direction="in" />
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="InitCache">
      <arg name="devices" type="as" direction="in" />
      <arg name="results" type="(bao)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="RebindClevis">
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="RebindKeyring">
      <arg name="key_desc" type="s" direction="in" />
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="SetName">
      <arg name="name" type="s" direction="in" />
      <arg name="result" type="(bs)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="SnapshotFilesystem">
      <arg name="origin" type="o" direction="in" />
      <arg name="snapshot_name" type="s" direction="in" />
      <arg name="result" type="(bo)" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="UnbindClevis">
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <method name="UnbindKeyring">
      <arg name="results" type="b" direction="out" />
      <arg name="return_code" type="q" direction="out" />
      <arg name="return_string" type="s" direction="out" />
    </method>
    <property name="AllocatedSize" type="s" access="read" />
    <property name="AvailableActions" type="s" access="read" />
    <property name="ClevisInfo" type="(b(b(ss)))" access="read" />
    <property name="Encrypted" type="b" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
    <property name="FsLimit" type="t" access="readwrite" />
    <property name="HasCache" type="b" access="read" />
    <property name="KeyDescription" type="(b(bs))" access="read" />
    <property name="Name" type="s" access="read" />
    <property name="NoAllocSpace" type="b" access="read" />
    <property name="Overprovisioning" type="b" access="readwrite" />
    <property name="TotalPhysicalSize" type="s" access="read" />
    <property name="TotalPhysicalUsed" type="(bs)" access="read" />
    <property name="Uuid" type="s" access="read">
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
    </property>
  </interface>
""",
}

<MSG> Bump revision number to r3

<DFF> @@ -6,8 +6,8 @@ SPECS = {
     </method>
   </interface>
 """,
-    "org.storage.stratis3.Manager.r2": """
-<interface name="org.storage.stratis3.Manager.r2">
+    "org.storage.stratis3.Manager.r3": """
+<interface name="org.storage.stratis3.Manager.r3">
     <method name="CreatePool">
       <arg name="name" type="s" direction="in" />
       <arg name="redundancy" type="(bq)" direction="in" />
@@ -70,8 +70,8 @@ SPECS = {
     </property>
   </interface>
 """,
-    "org.storage.stratis3.Report.r2": """
-<interface name="org.storage.stratis3.Report.r2">
+    "org.storage.stratis3.Report.r3": """
+<interface name="org.storage.stratis3.Report.r3">
     <method name="GetReport">
       <arg name="name" type="s" direction="in" />
       <arg name="result" type="s" direction="out" />
@@ -80,8 +80,8 @@ SPECS = {
     </method>
   </interface>
 """,
-    "org.storage.stratis3.blockdev.r2": """
-<interface name="org.storage.stratis3.blockdev.r2">
+    "org.storage.stratis3.blockdev.r3": """
+<interface name="org.storage.stratis3.blockdev.r3">
     <method name="SetUserInfo">
       <arg name="id" type="(bs)" direction="in" />
       <arg name="changed" type="(bs)" direction="out" />
@@ -115,8 +115,8 @@ SPECS = {
     </property>
   </interface>
 """,
-    "org.storage.stratis3.filesystem.r2": """
-<interface name="org.storage.stratis3.filesystem.r2">
+    "org.storage.stratis3.filesystem.r3": """
+<interface name="org.storage.stratis3.filesystem.r3">
     <method name="SetName">
       <arg name="name" type="s" direction="in" />
       <arg name="result" type="(bs)" direction="out" />
@@ -140,8 +140,8 @@ SPECS = {
     </property>
   </interface>
 """,
-    "org.storage.stratis3.pool.r2": """
-<interface name="org.storage.stratis3.pool.r2">
+    "org.storage.stratis3.pool.r3": """
+<interface name="org.storage.stratis3.pool.r3">
     <method name="AddCacheDevs">
       <arg name="devices" type="as" direction="in" />
       <arg name="results" type="(bao)" direction="out" />

{'commit': 'diff --git a/Cargo.lock b/Cargo.lock\nindex 26fafedc..b9e420c4 100644\n--- a/Cargo.lock\n+++ b/Cargo.lock\n@@ -1131,7 +1131,7 @@ dependencies = [\n \n [[package]]\n name = "stratisd"\n-version = "3.2.0"\n+version = "3.3.0"\n dependencies = [\n  "async-trait",\n  "bindgen 0.59.2",\ndiff --git a/Cargo.toml b/Cargo.toml\nindex 18bef523..eb1ccb4a 100644\n--- a/Cargo.toml\n+++ b/Cargo.toml\n@@ -1,6 +1,6 @@\n [package]\n name = "stratisd"\n-version = "3.2.0"\n+version = "3.3.0"\n authors = ["Stratis Developers <stratis-devel@lists.fedorahosted.org>"]\n edition = "2018"\n build = "build.rs"\ndiff --git a/src/dbus_api/api/mod.rs b/src/dbus_api/api/mod.rs\nindex 5ef7c516..b328752d 100644\n--- a/src/dbus_api/api/mod.rs\n+++ b/src/dbus_api/api/mod.rs\n@@ -82,6 +82,20 @@ where\n                 .add_p(manager_3_0::version_property(&f))\n                 .add_p(manager_3_2::stopped_pools_property(&f)),\n         )\n+        .add(\n+            f.interface(consts::MANAGER_INTERFACE_NAME_3_3, ())\n+                .add_m(manager_3_0::create_pool_method(&f))\n+                .add_m(manager_3_0::set_key_method(&f))\n+                .add_m(manager_3_0::unset_key_method(&f))\n+                .add_m(manager_3_0::list_keys_method(&f))\n+                .add_m(manager_3_0::destroy_pool_method(&f))\n+                .add_m(manager_3_0::engine_state_report_method(&f))\n+                .add_m(manager_3_2::start_pool_method(&f))\n+                .add_m(manager_3_2::stop_pool_method(&f))\n+                .add_m(manager_3_2::refresh_state_method(&f))\n+                .add_p(manager_3_0::version_property(&f))\n+                .add_p(manager_3_2::stopped_pools_property(&f)),\n+        )\n         .add(\n             f.interface(consts::REPORT_INTERFACE_NAME_3_0, ())\n                 .add_m(report_3_0::get_report_method(&f)),\n@@ -93,6 +107,10 @@ where\n         .add(\n             f.interface(consts::REPORT_INTERFACE_NAME_3_2, ())\n                 .add_m(report_3_0::get_report_method(&f)),\n+        )\n+        .add(\n+            f.interface(consts::REPORT_INTERFACE_NAME_3_3, ())\n+                .add_m(report_3_0::get_report_method(&f)),\n         );\n \n     let path = obj_path.get_name().to_owned();\ndiff --git a/src/dbus_api/blockdev/mod.rs b/src/dbus_api/blockdev/mod.rs\nindex 9a648e0b..01cdbb00 100644\n--- a/src/dbus_api/blockdev/mod.rs\n+++ b/src/dbus_api/blockdev/mod.rs\n@@ -74,6 +74,19 @@ where\n                 .add_p(blockdev_3_0::uuid_property(&f))\n                 .add_p(blockdev_3_0::physical_path_property(&f))\n                 .add_p(blockdev_3_0::size_property(&f)),\n+        )\n+        .add(\n+            f.interface(consts::BLOCKDEV_INTERFACE_NAME_3_3, ())\n+                .add_m(blockdev_3_0::set_userid_method(&f))\n+                .add_p(blockdev_3_0::devnode_property(&f))\n+                .add_p(blockdev_3_0::hardware_info_property(&f))\n+                .add_p(blockdev_3_0::initialization_time_property(&f))\n+                .add_p(blockdev_3_0::pool_property(&f))\n+                .add_p(blockdev_3_0::tier_property(&f))\n+                .add_p(blockdev_3_0::user_info_property(&f))\n+                .add_p(blockdev_3_0::uuid_property(&f))\n+                .add_p(blockdev_3_0::physical_path_property(&f))\n+                .add_p(blockdev_3_0::size_property(&f)),\n         );\n \n     let path = object_path.get_name().to_owned();\n@@ -116,6 +129,17 @@ where\n             consts::BLOCKDEV_TOTAL_SIZE_PROP => shared::blockdev_size_prop::<E>(dev)\n         },\n         consts::BLOCKDEV_INTERFACE_NAME_3_2 => {\n+            consts::BLOCKDEV_DEVNODE_PROP => shared::blockdev_devnode_prop::<E>(dev),\n+            consts::BLOCKDEV_HARDWARE_INFO_PROP => shared::blockdev_hardware_info_prop::<E>(dev),\n+            consts::BLOCKDEV_USER_INFO_PROP => shared::blockdev_user_info_prop::<E>(dev),\n+            consts::BLOCKDEV_INIT_TIME_PROP => shared::blockdev_init_time_prop::<E>(dev),\n+            consts::BLOCKDEV_POOL_PROP => parent.clone(),\n+            consts::BLOCKDEV_UUID_PROP => uuid_to_string!(dev_uuid),\n+            consts::BLOCKDEV_TIER_PROP => shared::blockdev_tier_prop(tier),\n+            consts::BLOCKDEV_PHYSICAL_PATH_PROP => shared::blockdev_physical_path_prop::<E>(dev),\n+            consts::BLOCKDEV_TOTAL_SIZE_PROP => shared::blockdev_size_prop::<E>(dev)\n+        },\n+        consts::BLOCKDEV_INTERFACE_NAME_3_3 => {\n             consts::BLOCKDEV_DEVNODE_PROP => shared::blockdev_devnode_prop::<E>(dev),\n             consts::BLOCKDEV_HARDWARE_INFO_PROP => shared::blockdev_hardware_info_prop::<E>(dev),\n             consts::BLOCKDEV_USER_INFO_PROP => shared::blockdev_user_info_prop::<E>(dev),\ndiff --git a/src/dbus_api/consts.rs b/src/dbus_api/consts.rs\nindex 9bc2d501..54500469 100644\n--- a/src/dbus_api/consts.rs\n+++ b/src/dbus_api/consts.rs\n@@ -10,9 +10,11 @@ pub const STRATIS_BASE_SERVICE: &str = "org.storage.stratis3";\n pub const MANAGER_INTERFACE_NAME_3_0: &str = "org.storage.stratis3.Manager.r0";\n pub const MANAGER_INTERFACE_NAME_3_1: &str = "org.storage.stratis3.Manager.r1";\n pub const MANAGER_INTERFACE_NAME_3_2: &str = "org.storage.stratis3.Manager.r2";\n+pub const MANAGER_INTERFACE_NAME_3_3: &str = "org.storage.stratis3.Manager.r3";\n pub const REPORT_INTERFACE_NAME_3_0: &str = "org.storage.stratis3.Report.r0";\n pub const REPORT_INTERFACE_NAME_3_1: &str = "org.storage.stratis3.Report.r1";\n pub const REPORT_INTERFACE_NAME_3_2: &str = "org.storage.stratis3.Report.r2";\n+pub const REPORT_INTERFACE_NAME_3_3: &str = "org.storage.stratis3.Report.r3";\n \n pub const LOCKED_POOLS_PROP: &str = "LockedPools";\n pub const STOPPED_POOLS_PROP: &str = "StoppedPools";\n@@ -20,6 +22,7 @@ pub const STOPPED_POOLS_PROP: &str = "StoppedPools";\n pub const POOL_INTERFACE_NAME_3_0: &str = "org.storage.stratis3.pool.r0";\n pub const POOL_INTERFACE_NAME_3_1: &str = "org.storage.stratis3.pool.r1";\n pub const POOL_INTERFACE_NAME_3_2: &str = "org.storage.stratis3.pool.r2";\n+pub const POOL_INTERFACE_NAME_3_3: &str = "org.storage.stratis3.pool.r3";\n pub const POOL_NAME_PROP: &str = "Name";\n pub const POOL_UUID_PROP: &str = "Uuid";\n pub const POOL_HAS_CACHE_PROP: &str = "HasCache";\n@@ -37,6 +40,7 @@ pub const POOL_NO_ALLOCABLE_SPACE_PROP: &str = "NoAllocSpace";\n pub const FILESYSTEM_INTERFACE_NAME_3_0: &str = "org.storage.stratis3.filesystem.r0";\n pub const FILESYSTEM_INTERFACE_NAME_3_1: &str = "org.storage.stratis3.filesystem.r1";\n pub const FILESYSTEM_INTERFACE_NAME_3_2: &str = "org.storage.stratis3.filesystem.r2";\n+pub const FILESYSTEM_INTERFACE_NAME_3_3: &str = "org.storage.stratis3.filesystem.r3";\n pub const FILESYSTEM_NAME_PROP: &str = "Name";\n pub const FILESYSTEM_UUID_PROP: &str = "Uuid";\n pub const FILESYSTEM_USED_PROP: &str = "Used";\n@@ -48,6 +52,7 @@ pub const FILESYSTEM_SIZE_PROP: &str = "Size";\n pub const BLOCKDEV_INTERFACE_NAME_3_0: &str = "org.storage.stratis3.blockdev.r0";\n pub const BLOCKDEV_INTERFACE_NAME_3_1: &str = "org.storage.stratis3.blockdev.r1";\n pub const BLOCKDEV_INTERFACE_NAME_3_2: &str = "org.storage.stratis3.blockdev.r2";\n+pub const BLOCKDEV_INTERFACE_NAME_3_3: &str = "org.storage.stratis3.blockdev.r3";\n pub const BLOCKDEV_DEVNODE_PROP: &str = "Devnode";\n pub const BLOCKDEV_HARDWARE_INFO_PROP: &str = "HardwareInfo";\n pub const BLOCKDEV_USER_INFO_PROP: &str = "UserInfo";\n@@ -65,6 +70,7 @@ pub fn standard_pool_interfaces() -> Vec<String> {\n         POOL_INTERFACE_NAME_3_0,\n         POOL_INTERFACE_NAME_3_1,\n         POOL_INTERFACE_NAME_3_2,\n+        POOL_INTERFACE_NAME_3_3,\n     ]\n     .iter()\n     .map(|s| (*s).to_string())\n@@ -77,6 +83,7 @@ pub fn standard_filesystem_interfaces() -> Vec<String> {\n         FILESYSTEM_INTERFACE_NAME_3_0,\n         FILESYSTEM_INTERFACE_NAME_3_1,\n         FILESYSTEM_INTERFACE_NAME_3_2,\n+        FILESYSTEM_INTERFACE_NAME_3_3,\n     ]\n     .iter()\n     .map(|s| (*s).to_string())\n@@ -89,6 +96,7 @@ pub fn standard_blockdev_interfaces() -> Vec<String> {\n         BLOCKDEV_INTERFACE_NAME_3_0,\n         BLOCKDEV_INTERFACE_NAME_3_1,\n         BLOCKDEV_INTERFACE_NAME_3_2,\n+        BLOCKDEV_INTERFACE_NAME_3_3,\n     ]\n     .iter()\n     .map(|s| (*s).to_string())\ndiff --git a/src/dbus_api/filesystem/mod.rs b/src/dbus_api/filesystem/mod.rs\nindex f4097332..716d17b0 100644\n--- a/src/dbus_api/filesystem/mod.rs\n+++ b/src/dbus_api/filesystem/mod.rs\n@@ -70,6 +70,17 @@ where\n                 .add_p(filesystem_3_0::created_property(&f))\n                 .add_p(filesystem_3_0::size_property(&f))\n                 .add_p(filesystem_3_0::used_property(&f)),\n+        )\n+        .add(\n+            f.interface(consts::FILESYSTEM_INTERFACE_NAME_3_3, ())\n+                .add_m(filesystem_3_0::rename_method(&f))\n+                .add_p(filesystem_3_0::devnode_property(&f))\n+                .add_p(filesystem_3_0::name_property(&f))\n+                .add_p(filesystem_3_0::pool_property(&f))\n+                .add_p(filesystem_3_0::uuid_property(&f))\n+                .add_p(filesystem_3_0::created_property(&f))\n+                .add_p(filesystem_3_0::size_property(&f))\n+                .add_p(filesystem_3_0::used_property(&f)),\n         );\n \n     let path = object_path.get_name().to_owned();\n@@ -109,6 +120,15 @@ where\n             consts::FILESYSTEM_USED_PROP => shared::fs_used_prop::<E>(fs)\n         },\n         consts::FILESYSTEM_INTERFACE_NAME_3_2 => {\n+            consts::FILESYSTEM_NAME_PROP => shared::fs_name_prop(fs_name),\n+            consts::FILESYSTEM_UUID_PROP => uuid_to_string!(fs_uuid),\n+            consts::FILESYSTEM_DEVNODE_PROP => shared::fs_devnode_prop::<E>(fs, pool_name, fs_name),\n+            consts::FILESYSTEM_POOL_PROP => parent.clone(),\n+            consts::FILESYSTEM_CREATED_PROP => shared::fs_created_prop::<E>(fs),\n+            consts::FILESYSTEM_SIZE_PROP => shared::fs_size_prop(fs),\n+            consts::FILESYSTEM_USED_PROP => shared::fs_used_prop::<E>(fs)\n+        },\n+        consts::FILESYSTEM_INTERFACE_NAME_3_3 => {\n             consts::FILESYSTEM_NAME_PROP => shared::fs_name_prop(fs_name),\n             consts::FILESYSTEM_UUID_PROP => uuid_to_string!(fs_uuid),\n             consts::FILESYSTEM_DEVNODE_PROP => shared::fs_devnode_prop::<E>(fs, pool_name, fs_name),\ndiff --git a/src/dbus_api/pool/mod.rs b/src/dbus_api/pool/mod.rs\nindex 6c90bc69..8948d1a5 100644\n--- a/src/dbus_api/pool/mod.rs\n+++ b/src/dbus_api/pool/mod.rs\n@@ -121,6 +121,35 @@ where\n                 .add_p(pool_3_1::fs_limit_property(&f))\n                 .add_p(pool_3_1::enable_overprov_property(&f))\n                 .add_p(pool_3_1::no_alloc_space_property(&f)),\n+        )\n+        .add(\n+            f.interface(consts::POOL_INTERFACE_NAME_3_3, ())\n+                .add_m(pool_3_0::create_filesystems_method(&f))\n+                .add_m(pool_3_0::destroy_filesystems_method(&f))\n+                .add_m(pool_3_0::snapshot_filesystem_method(&f))\n+                .add_m(pool_3_0::add_blockdevs_method(&f))\n+                .add_m(pool_3_0::bind_clevis_method(&f))\n+                .add_m(pool_3_0::unbind_clevis_method(&f))\n+                .add_m(pool_3_0::init_cache_method(&f))\n+                .add_m(pool_3_0::add_cachedevs_method(&f))\n+                .add_m(pool_3_0::bind_keyring_method(&f))\n+                .add_m(pool_3_0::unbind_keyring_method(&f))\n+                .add_m(pool_3_0::rebind_keyring_method(&f))\n+                .add_m(pool_3_0::rebind_clevis_method(&f))\n+                .add_m(pool_3_0::rename_method(&f))\n+                .add_p(pool_3_0::name_property(&f))\n+                .add_p(pool_3_0::uuid_property(&f))\n+                .add_p(pool_3_0::encrypted_property(&f))\n+                .add_p(pool_3_0::avail_actions_property(&f))\n+                .add_p(pool_3_0::key_desc_property(&f))\n+                .add_p(pool_3_0::clevis_info_property(&f))\n+                .add_p(pool_3_0::has_cache_property(&f))\n+                .add_p(pool_3_0::alloc_size_property(&f))\n+                .add_p(pool_3_0::used_size_property(&f))\n+                .add_p(pool_3_0::total_size_property(&f))\n+                .add_p(pool_3_1::fs_limit_property(&f))\n+                .add_p(pool_3_1::enable_overprov_property(&f))\n+                .add_p(pool_3_1::no_alloc_space_property(&f)),\n         );\n \n     let path = object_path.get_name().to_owned();\n@@ -180,6 +209,21 @@ where\n             consts::POOL_FS_LIMIT_PROP => shared::pool_fs_limit::<E>(pool),\n             consts::POOL_OVERPROV_PROP => shared::pool_overprov_enabled::<E>(pool),\n             consts::POOL_NO_ALLOCABLE_SPACE_PROP => shared::pool_no_alloc_space::<E>(pool)\n+        },\n+        consts::POOL_INTERFACE_NAME_3_3 => {\n+            consts::POOL_NAME_PROP => shared::pool_name_prop(pool_name),\n+            consts::POOL_UUID_PROP => uuid_to_string!(pool_uuid),\n+            consts::POOL_ENCRYPTED_PROP => shared::pool_enc_prop::<E>(pool),\n+            consts::POOL_AVAIL_ACTIONS_PROP => shared::pool_avail_actions_prop::<E>(pool),\n+            consts::POOL_KEY_DESC_PROP => shared::pool_key_desc_prop::<E>(pool),\n+            consts::POOL_CLEVIS_INFO_PROP => shared::pool_clevis_info_prop::<E>(pool),\n+            consts::POOL_HAS_CACHE_PROP => shared::pool_has_cache_prop::<E>(pool),\n+            consts::POOL_ALLOC_SIZE_PROP => shared::pool_allocated_size::<E>(pool),\n+            consts::POOL_TOTAL_USED_PROP => shared::pool_used_size::<E>(pool),\n+            consts::POOL_TOTAL_SIZE_PROP => shared::pool_total_size::<E>(pool),\n+            consts::POOL_FS_LIMIT_PROP => shared::pool_fs_limit::<E>(pool),\n+            consts::POOL_OVERPROV_PROP => shared::pool_overprov_enabled::<E>(pool),\n+            consts::POOL_NO_ALLOCABLE_SPACE_PROP => shared::pool_no_alloc_space::<E>(pool)\n         }\n     }\n }\ndiff --git a/src/dbus_api/tree.rs b/src/dbus_api/tree.rs\nindex f8a9cebf..e83d32a9 100644\n--- a/src/dbus_api/tree.rs\n+++ b/src/dbus_api/tree.rs\n@@ -166,6 +166,11 @@ where\n                         vec![consts::FILESYSTEM_DEVNODE_PROP.into()],\n                         consts::FILESYSTEM_NAME_PROP.to_string() =>\n                         Variant(new_name.box_clone())\n+                    },\n+                    consts::FILESYSTEM_INTERFACE_NAME_3_3 => {\n+                        vec![consts::FILESYSTEM_DEVNODE_PROP.into()],\n+                        consts::FILESYSTEM_NAME_PROP.to_string() =>\n+                        Variant(new_name.box_clone())\n                     }\n                 },\n             )\n@@ -200,6 +205,11 @@ where\n                         Vec::new(),\n                         consts::POOL_NAME_PROP.to_string() =>\n                         Variant(new_name.box_clone())\n+                    },\n+                    consts::POOL_INTERFACE_NAME_3_3 => {\n+                        Vec::new(),\n+                        consts::POOL_NAME_PROP.to_string() =>\n+                        Variant(new_name.box_clone())\n                     }\n                 },\n             )\n@@ -232,6 +242,9 @@ where\n                             },\n                             consts::FILESYSTEM_INTERFACE_NAME_3_2 => {\n                                 vec![consts::FILESYSTEM_DEVNODE_PROP.into()]\n+                            },\n+                            consts::FILESYSTEM_INTERFACE_NAME_3_3 => {\n+                                vec![consts::FILESYSTEM_DEVNODE_PROP.into()]\n                             }\n                         },\n                     )\n@@ -265,6 +278,11 @@ where\n                         box_variant!(avail_prop.clone())\n                     },\n                     consts::POOL_INTERFACE_NAME_3_2 => {\n+                        Vec::new(),\n+                        consts::POOL_AVAIL_ACTIONS_PROP.to_string() =>\n+                        box_variant!(avail_prop.clone())\n+                    },\n+                    consts::POOL_INTERFACE_NAME_3_3 => {\n                         Vec::new(),\n                         consts::POOL_AVAIL_ACTIONS_PROP.to_string() =>\n                         box_variant!(avail_prop)\n@@ -295,6 +313,11 @@ where\n                         box_variant!(kd_prop.clone())\n                     },\n                     consts::POOL_INTERFACE_NAME_3_2 => {\n+                        Vec::new(),\n+                        consts::POOL_KEY_DESC_PROP.to_string() =>\n+                        box_variant!(kd_prop.clone())\n+                    },\n+                    consts::POOL_INTERFACE_NAME_3_3 => {\n                         Vec::new(),\n                         consts::POOL_KEY_DESC_PROP.to_string() =>\n                         box_variant!(kd_prop)\n@@ -325,6 +348,11 @@ where\n                         box_variant!(ci_prop.clone())\n                     },\n                     consts::POOL_INTERFACE_NAME_3_2 => {\n+                        Vec::new(),\n+                        consts::POOL_CLEVIS_INFO_PROP.to_string() =>\n+                        box_variant!(ci_prop.clone())\n+                    },\n+                    consts::POOL_INTERFACE_NAME_3_3 => {\n                         Vec::new(),\n                         consts::POOL_CLEVIS_INFO_PROP.to_string() =>\n                         box_variant!(ci_prop)\n@@ -354,6 +382,10 @@ where\n                     consts::POOL_INTERFACE_NAME_3_2 => {\n                         Vec::new(),\n                         consts::POOL_HAS_CACHE_PROP.to_string() => box_variant!(b)\n+                    },\n+                    consts::POOL_INTERFACE_NAME_3_3 => {\n+                        Vec::new(),\n+                        consts::POOL_HAS_CACHE_PROP.to_string() => box_variant!(b)\n                     }\n                 },\n             )\n@@ -397,6 +429,11 @@ where\n                         Vec::new(),\n                         consts::STOPPED_POOLS_PROP.to_string() =>\n                         box_variant!(stopped_pools_to_prop(&stopped_pools))\n+                    },\n+                    consts::MANAGER_INTERFACE_NAME_3_3 => {\n+                        Vec::new(),\n+                        consts::STOPPED_POOLS_PROP.to_string() =>\n+                        box_variant!(stopped_pools_to_prop(&stopped_pools))\n                     }\n                 },\n             )\n@@ -444,6 +481,14 @@ where\n                 consts::FILESYSTEM_SIZE_PROP.to_string(),\n                 fs_size_to_prop,\n                 new_size\n+            },\n+            consts::FILESYSTEM_INTERFACE_NAME_3_3 => {\n+                consts::FILESYSTEM_USED_PROP.to_string(),\n+                fs_used_to_prop,\n+                new_used,\n+                consts::FILESYSTEM_SIZE_PROP.to_string(),\n+                fs_size_to_prop,\n+                new_size\n             }\n         );\n     }\n@@ -493,6 +538,17 @@ where\n                 consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(),\n                 |x| x,\n                 new_no_space\n+            },\n+            consts::POOL_INTERFACE_NAME_3_3 => {\n+                consts::POOL_TOTAL_USED_PROP.to_string(),\n+                pool_used_to_prop,\n+                new_used,\n+                consts::POOL_ALLOC_SIZE_PROP.to_string(),\n+                pool_alloc_to_prop,\n+                new_alloc,\n+                consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(),\n+                |x| x,\n+                new_no_space\n             }\n         );\n     }\n@@ -516,6 +572,11 @@ where\n                     Vec::new(),\n                     consts::POOL_TOTAL_SIZE_PROP.to_string() =>\n                     box_variant!(pool_size_to_prop(new_size))\n+                },\n+                consts::POOL_INTERFACE_NAME_3_3 => {\n+                    Vec::new(),\n+                    consts::POOL_TOTAL_SIZE_PROP.to_string() =>\n+                    box_variant!(pool_size_to_prop(new_size))\n                 }\n             },\n         ) {\n@@ -540,6 +601,11 @@ where\n                     Vec::new(),\n                     consts::POOL_FS_LIMIT_PROP.to_string() =>\n                     box_variant!(new_fs_limit)\n+                },\n+                consts::POOL_INTERFACE_NAME_3_3 => {\n+                    Vec::new(),\n+                    consts::POOL_FS_LIMIT_PROP.to_string() =>\n+                    box_variant!(new_fs_limit)\n                 }\n             ),\n         ) {\n@@ -564,6 +630,11 @@ where\n                     Vec::new(),\n                     consts::POOL_OVERPROV_PROP.to_string() =>\n                     box_variant!(new_mode)\n+                },\n+                consts::POOL_INTERFACE_NAME_3_3 => {\n+                    Vec::new(),\n+                    consts::POOL_OVERPROV_PROP.to_string() =>\n+                    box_variant!(new_mode)\n                 }\n             ),\n         ) {\n@@ -625,6 +696,20 @@ where\n                 consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(),\n                 |x| x,\n                 new_no_space\n+            },\n+            consts::POOL_INTERFACE_NAME_3_3 => {\n+                consts::POOL_TOTAL_USED_PROP.to_string(),\n+                pool_used_to_prop,\n+                new_used,\n+                consts::POOL_ALLOC_SIZE_PROP.to_string(),\n+                pool_alloc_to_prop,\n+                new_alloc,\n+                consts::POOL_TOTAL_SIZE_PROP.to_string(),\n+                pool_size_to_prop,\n+                new_size,\n+                consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(),\n+                |x| x,\n+                new_no_space\n             }\n         );\n     }\ndiff --git a/stratisd.conf b/stratisd.conf\nindex 8e2505e6..34d6a1b1 100644\n--- a/stratisd.conf\n+++ b/stratisd.conf\n@@ -25,6 +25,9 @@\n   <allow send_destination="org.storage.stratis3"\n          send_interface="org.storage.stratis3.Report.r2"/>\n \n+  <allow send_destination="org.storage.stratis3"\n+         send_interface="org.storage.stratis3.Report.r3"/>\n+\n   <allow send_destination="org.storage.stratis3"\n          send_interface="org.freedesktop.DBus.Properties"\n          send_member="Get"/>\n@@ -45,6 +48,10 @@\n          send_interface="org.storage.stratis3.Manager.r2"\n          send_member="EngineStateReport"/>\n \n+  <allow send_destination="org.storage.stratis3"\n+         send_interface="org.storage.stratis3.Manager.r3"\n+         send_member="EngineStateReport"/>\n+\n   <allow send_destination="org.storage.stratis3"\n          send_interface="org.storage.stratis3.Manager.r0"\n          send_member="ListKeys"/>\n@@ -57,6 +64,10 @@\n          send_interface="org.storage.stratis3.Manager.r2"\n          send_member="ListKeys"/>\n \n+  <allow send_destination="org.storage.stratis3"\n+         send_interface="org.storage.stratis3.Manager.r3"\n+         send_member="ListKeys"/>\n+\n </policy>\n \n </busconfig>\ndiff --git a/tests/client-dbus/src/stratisd_client_dbus/_constants.py b/tests/client-dbus/src/stratisd_client_dbus/_constants.py\nindex 4b80ea6d..8c79b6c4 100644\n--- a/tests/client-dbus/src/stratisd_client_dbus/_constants.py\n+++ b/tests/client-dbus/src/stratisd_client_dbus/_constants.py\n@@ -18,7 +18,7 @@ General constants.\n SERVICE = "org.storage.stratis3"\n TOP_OBJECT = "/org/storage/stratis3"\n \n-REVISION_NUMBER = 2\n+REVISION_NUMBER = 3\n \n REVISION = f"r{REVISION_NUMBER}"\n \ndiff --git a/tests/client-dbus/src/stratisd_client_dbus/_introspect.py b/tests/client-dbus/src/stratisd_client_dbus/_introspect.py\nindex 8ad99346..0401817c 100644\n--- a/tests/client-dbus/src/stratisd_client_dbus/_introspect.py\n+++ b/tests/client-dbus/src/stratisd_client_dbus/_introspect.py\n@@ -6,8 +6,8 @@ SPECS = {\n     </method>\n   </interface>\n """,\n-    "org.storage.stratis3.Manager.r2": """\n-<interface name="org.storage.stratis3.Manager.r2">\n+    "org.storage.stratis3.Manager.r3": """\n+<interface name="org.storage.stratis3.Manager.r3">\n     <method name="CreatePool">\n       <arg name="name" type="s" direction="in" />\n       <arg name="redundancy" type="(bq)" direction="in" />\n@@ -70,8 +70,8 @@ SPECS = {\n     </property>\n   </interface>\n """,\n-    "org.storage.stratis3.Report.r2": """\n-<interface name="org.storage.stratis3.Report.r2">\n+    "org.storage.stratis3.Report.r3": """\n+<interface name="org.storage.stratis3.Report.r3">\n     <method name="GetReport">\n       <arg name="name" type="s" direction="in" />\n       <arg name="result" type="s" direction="out" />\n@@ -80,8 +80,8 @@ SPECS = {\n     </method>\n   </interface>\n """,\n-    "org.storage.stratis3.blockdev.r2": """\n-<interface name="org.storage.stratis3.blockdev.r2">\n+    "org.storage.stratis3.blockdev.r3": """\n+<interface name="org.storage.stratis3.blockdev.r3">\n     <method name="SetUserInfo">\n       <arg name="id" type="(bs)" direction="in" />\n       <arg name="changed" type="(bs)" direction="out" />\n@@ -115,8 +115,8 @@ SPECS = {\n     </property>\n   </interface>\n """,\n-    "org.storage.stratis3.filesystem.r2": """\n-<interface name="org.storage.stratis3.filesystem.r2">\n+    "org.storage.stratis3.filesystem.r3": """\n+<interface name="org.storage.stratis3.filesystem.r3">\n     <method name="SetName">\n       <arg name="name" type="s" direction="in" />\n       <arg name="result" type="(bs)" direction="out" />\n@@ -140,8 +140,8 @@ SPECS = {\n     </property>\n   </interface>\n """,\n-    "org.storage.stratis3.pool.r2": """\n-<interface name="org.storage.stratis3.pool.r2">\n+    "org.storage.stratis3.pool.r3": """\n+<interface name="org.storage.stratis3.pool.r3">\n     <method name="AddCacheDevs">\n       <arg name="devices" type="as" direction="in" />\n       <arg name="results" type="(bao)" direction="out" />\n', 'commit_subject': 'Bump revision number to r3', 'repo_name': 'stratis-storage/stratisd', 'committer': {'name': 'John Baublitz', 'email': '7f22a1a6f4ed7d934d2ce5a47df3d1514cf57441@redhat.com', 'time_sec': '1657722774', 'tz_offset': '-240', 'date': {'seconds': '1657722774'}}, 'commit_tree': '5948486735e175257953374f9ed579c19b2608f1', 'commit_message': 'Bump revision number to r3\n', 'language_name': 'Python', 'license': 'mpl-2.0', 'hunks': '@@ -6,8 +6,8 @@ SPECS = {\n     </method>\n   </interface>\n """,\n-    "org.storage.stratis3.Manager.r2": """\n-<interface name="org.storage.stratis3.Manager.r2">\n+    "org.storage.stratis3.Manager.r3": """\n+<interface name="org.storage.stratis3.Manager.r3">\n     <method name="CreatePool">\n       <arg name="name" type="s" direction="in" />\n       <arg name="redundancy" type="(bq)" direction="in" />\n@@ -70,8 +70,8 @@ SPECS = {\n     </property>\n   </interface>\n """,\n-    "org.storage.stratis3.Report.r2": """\n-<interface name="org.storage.stratis3.Report.r2">\n+    "org.storage.stratis3.Report.r3": """\n+<interface name="org.storage.stratis3.Report.r3">\n     <method name="GetReport">\n       <arg name="name" type="s" direction="in" />\n       <arg name="result" type="s" direction="out" />\n@@ -80,8 +80,8 @@ SPECS = {\n     </method>\n   </interface>\n """,\n-    "org.storage.stratis3.blockdev.r2": """\n-<interface name="org.storage.stratis3.blockdev.r2">\n+    "org.storage.stratis3.blockdev.r3": """\n+<interface name="org.storage.stratis3.blockdev.r3">\n     <method name="SetUserInfo">\n       <arg name="id" type="(bs)" direction="in" />\n       <arg name="changed" type="(bs)" direction="out" />\n@@ -115,8 +115,8 @@ SPECS = {\n     </property>\n   </interface>\n """,\n-    "org.storage.stratis3.filesystem.r2": """\n-<interface name="org.storage.stratis3.filesystem.r2">\n+    "org.storage.stratis3.filesystem.r3": """\n+<interface name="org.storage.stratis3.filesystem.r3">\n     <method name="SetName">\n       <arg name="name" type="s" direction="in" />\n       <arg name="result" type="(bs)" direction="out" />\n@@ -140,8 +140,8 @@ SPECS = {\n     </property>\n   </interface>\n """,\n-    "org.storage.stratis3.pool.r2": """\n-<interface name="org.storage.stratis3.pool.r2">\n+    "org.storage.stratis3.pool.r3": """\n+<interface name="org.storage.stratis3.pool.r3">\n     <method name="AddCacheDevs">\n       <arg name="devices" type="as" direction="in" />\n       <arg name="results" type="(bao)" direction="out" />\n', 'addition_count': 10, 'deletion_count': 10, 'src_file': 'a/tests/client-dbus/src/stratisd_client_dbus/_introspect.py', 'tgt_file': 'b/tests/client-dbus/src/stratisd_client_dbus/_introspect.py', 'file_extension': '.py', 'before_file': 'SPECS = {\n    "org.freedesktop.DBus.ObjectManager": """\n<interface name="org.freedesktop.DBus.ObjectManager">\n    <method name="GetManagedObjects">\n      <arg name="objpath_interfaces_and_properties" type="a{oa{sa{sv}}}" direction="out" />\n    </method>\n  </interface>\n""",\n    "org.storage.stratis3.Manager.r2": """\n<interface name="org.storage.stratis3.Manager.r2">\n    <method name="CreatePool">\n      <arg name="name" type="s" direction="in" />\n      <arg name="redundancy" type="(bq)" direction="in" />\n      <arg name="devices" type="as" direction="in" />\n      <arg name="key_desc" type="(bs)" direction="in" />\n      <arg name="clevis_info" type="(b(ss))" direction="in" />\n      <arg name="result" type="(b(oao))" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="DestroyPool">\n      <arg name="pool" type="o" direction="in" />\n      <arg name="result" type="(bs)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="EngineStateReport">\n      <arg name="result" type="s" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="ListKeys">\n      <arg name="result" type="as" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="RefreshState">\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="SetKey">\n      <arg name="key_desc" type="s" direction="in" />\n      <arg name="key_fd" type="h" direction="in" />\n      <arg name="result" type="(bb)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="StartPool">\n      <arg name="pool_uuid" type="s" direction="in" />\n      <arg name="unlock_method" type="(bs)" direction="in" />\n      <arg name="result" type="(b(oaoao))" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="StopPool">\n      <arg name="pool" type="o" direction="in" />\n      <arg name="result" type="(bs)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="UnsetKey">\n      <arg name="key_desc" type="s" direction="in" />\n      <arg name="result" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <property name="StoppedPools" type="a{sa{sv}}" access="read" />\n    <property name="Version" type="s" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n  </interface>\n""",\n    "org.storage.stratis3.Report.r2": """\n<interface name="org.storage.stratis3.Report.r2">\n    <method name="GetReport">\n      <arg name="name" type="s" direction="in" />\n      <arg name="result" type="s" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n  </interface>\n""",\n    "org.storage.stratis3.blockdev.r2": """\n<interface name="org.storage.stratis3.blockdev.r2">\n    <method name="SetUserInfo">\n      <arg name="id" type="(bs)" direction="in" />\n      <arg name="changed" type="(bs)" direction="out" />\n    <property name="HardwareInfo" type="(bs)" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n    <property name="InitializationTime" type="t" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n    <property name="NewPhysicalSize" type="(bs)" access="read" />\n    <property name="PhysicalPath" type="s" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n    <property name="Pool" type="o" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n    <property name="Tier" type="q" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false" />\n    </property>\n    <property name="TotalPhysicalSize" type="s" access="read" />\n    <property name="UserInfo" type="(bs)" access="readwrite" />\n    <property name="Uuid" type="s" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n  </interface>\n""",\n    "org.storage.stratis3.filesystem.r4": """\n<interface name="org.storage.stratis3.filesystem.r4">\n    <method name="SetName">\n      <arg name="name" type="s" direction="in" />\n    </property>\n  </interface>\n""",\n    "org.storage.stratis3.filesystem.r2": """\n<interface name="org.storage.stratis3.filesystem.r2">\n    <method name="SetName">\n      <arg name="name" type="s" direction="in" />\n      <arg name="result" type="(bs)" direction="out" />\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="invalidates" />\n    </property>\n    <property name="Name" type="s" access="read" />\n    <property name="Pool" type="o" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n    <property name="Size" type="s" access="read" />\n    <property name="Used" type="(bs)" access="read" />\n    <property name="Uuid" type="s" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n  </interface>\n""",\n    "org.storage.stratis3.pool.r4": """\n<interface name="org.storage.stratis3.pool.r4">\n    <method name="AddCacheDevs">\n      <arg name="devices" type="as" direction="in" />\n    </property>\n  </interface>\n""",\n    "org.storage.stratis3.pool.r2": """\n<interface name="org.storage.stratis3.pool.r2">\n    <method name="AddCacheDevs">\n      <arg name="devices" type="as" direction="in" />\n      <arg name="results" type="(bao)" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="BindClevis">\n      <arg name="pin" type="s" direction="in" />\n      <arg name="json" type="s" direction="in" />\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="BindKeyring">\n      <arg name="key_desc" type="s" direction="in" />\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="CreateFilesystems">\n      <arg name="specs" type="a(s(bs))" direction="in" />\n      <arg name="results" type="(ba(os))" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="DestroyFilesystems">\n      <arg name="filesystems" type="ao" direction="in" />\n      <arg name="results" type="(bas)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="GrowPhysicalDevice">\n      <arg name="dev" type="s" direction="in" />\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="InitCache">\n      <arg name="devices" type="as" direction="in" />\n      <arg name="results" type="(bao)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="RebindClevis">\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="RebindKeyring">\n      <arg name="key_desc" type="s" direction="in" />\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="SetName">\n      <arg name="name" type="s" direction="in" />\n      <arg name="result" type="(bs)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="SnapshotFilesystem">\n      <arg name="origin" type="o" direction="in" />\n      <arg name="snapshot_name" type="s" direction="in" />\n      <arg name="result" type="(bo)" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="UnbindClevis">\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <method name="UnbindKeyring">\n      <arg name="results" type="b" direction="out" />\n      <arg name="return_code" type="q" direction="out" />\n      <arg name="return_string" type="s" direction="out" />\n    </method>\n    <property name="AllocatedSize" type="s" access="read" />\n    <property name="AvailableActions" type="s" access="read" />\n    <property name="ClevisInfo" type="(b(b(ss)))" access="read" />\n    <property name="Encrypted" type="b" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n    <property name="FsLimit" type="t" access="readwrite" />\n    <property name="HasCache" type="b" access="read" />\n    <property name="KeyDescription" type="(b(bs))" access="read" />\n    <property name="Name" type="s" access="read" />\n    <property name="NoAllocSpace" type="b" access="read" />\n    <property name="Overprovisioning" type="b" access="readwrite" />\n    <property name="TotalPhysicalSize" type="s" access="read" />\n    <property name="TotalPhysicalUsed" type="(bs)" access="read" />\n    <property name="Uuid" type="s" access="read">\n      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />\n    </property>\n  </interface>\n""",\n}\n', 'message': 'Bump revision number to r3\n', 'author_name': 'John Baublitz', 'lang': 'py'}