Re: [systemd-devel] [PATCH 3/3] systemctl: show BlockIODeviceWeight for unit
On Tue, 27.08.13 13:36, Gao feng (gaof...@cn.fujitsu.com) wrote: We can use systemctl show unitname to show the BlockIODeviceWeight of unit. Applied! Thanks! --- src/systemctl/systemctl.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index ff29b0f..4ea301a 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3315,6 +3315,24 @@ static int print_property(const char *name, DBusMessageIter *iter) { } return 0; +} else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT streq(name, BlockIODeviceWeight)) { +DBusMessageIter sub, sub2; + +dbus_message_iter_recurse(iter, sub); +while (dbus_message_iter_get_arg_type(sub) == DBUS_TYPE_STRUCT) { +const char *path; +uint64_t weight; + +dbus_message_iter_recurse(sub, sub2); + +if (bus_iter_get_basic_and_next(sub2, DBUS_TYPE_STRING, path, true) = 0 +bus_iter_get_basic_and_next(sub2, DBUS_TYPE_UINT64, weight, false) = 0) +printf(%s=%s % PRIu64 \n, name, strna(path), weight); + +dbus_message_iter_next(sub); +} +return 0; + } else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT (streq(name, BlockIOReadBandwidth) || streq(name, BlockIOWriteBandwidth))) { DBusMessageIter sub, sub2; Lennart -- Lennart Poettering - Red Hat, Inc. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] [PATCH 3/3] systemctl: show BlockIODeviceWeight for unit
We can use systemctl show unitname to show the BlockIODeviceWeight of unit. --- src/systemctl/systemctl.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index ff29b0f..4ea301a 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3315,6 +3315,24 @@ static int print_property(const char *name, DBusMessageIter *iter) { } return 0; +} else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT streq(name, BlockIODeviceWeight)) { +DBusMessageIter sub, sub2; + +dbus_message_iter_recurse(iter, sub); +while (dbus_message_iter_get_arg_type(sub) == DBUS_TYPE_STRUCT) { +const char *path; +uint64_t weight; + +dbus_message_iter_recurse(sub, sub2); + +if (bus_iter_get_basic_and_next(sub2, DBUS_TYPE_STRING, path, true) = 0 +bus_iter_get_basic_and_next(sub2, DBUS_TYPE_UINT64, weight, false) = 0) +printf(%s=%s % PRIu64 \n, name, strna(path), weight); + +dbus_message_iter_next(sub); +} +return 0; + } else if (dbus_message_iter_get_element_type(iter) == DBUS_TYPE_STRUCT (streq(name, BlockIOReadBandwidth) || streq(name, BlockIOWriteBandwidth))) { DBusMessageIter sub, sub2; -- 1.8.3.1 ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel