return 0;
}
+void unit_reset_memory_accounting_last(Unit *u) {
+ assert(u);
+
+ FOREACH_ARRAY(i, u->memory_accounting_last, ELEMENTSOF(u->memory_accounting_last))
+ *i = UINT64_MAX;
+}
+
int unit_reset_ip_accounting(Unit *u) {
int r = 0;
return r;
}
+void unit_reset_io_accounting_last(Unit *u) {
+ assert(u);
+
+ FOREACH_ARRAY(i, u->io_accounting_last, _CGROUP_IO_ACCOUNTING_METRIC_MAX)
+ *i = UINT64_MAX;
+}
+
int unit_reset_io_accounting(Unit *u) {
int r;
assert(u);
- FOREACH_ARRAY(i, u->io_accounting_last, _CGROUP_IO_ACCOUNTING_METRIC_MAX)
- *i = UINT64_MAX;
+ unit_reset_io_accounting_last(u);
r = unit_get_io_accounting_raw(u, u->io_accounting_base);
if (r < 0) {
RET_GATHER(r, unit_reset_cpu_accounting(u));
RET_GATHER(r, unit_reset_io_accounting(u));
RET_GATHER(r, unit_reset_ip_accounting(u));
+ unit_reset_memory_accounting_last(u);
return r;
}
int unit_get_ip_accounting(Unit *u, CGroupIPAccountingMetric metric, uint64_t *ret);
int unit_reset_cpu_accounting(Unit *u);
+void unit_reset_memory_accounting_last(Unit *u);
int unit_reset_ip_accounting(Unit *u);
+void unit_reset_io_accounting_last(Unit *u);
int unit_reset_io_accounting(Unit *u);
int unit_reset_accounting(Unit *u);
u->ref_gid = GID_INVALID;
u->cpu_usage_last = NSEC_INFINITY;
- FOREACH_ARRAY(i, u->memory_accounting_last, ELEMENTSOF(u->memory_accounting_last))
- *i = UINT64_MAX;
+ unit_reset_memory_accounting_last(u);
+
+ unit_reset_io_accounting_last(u);
u->cgroup_invalidated_mask |= CGROUP_MASK_BPF_FIREWALL;
u->failure_action_exit_status = u->success_action_exit_status = -1;
u->ip_accounting_ingress_map_fd = -EBADF;
u->ip_accounting_egress_map_fd = -EBADF;
- FOREACH_ARRAY(i, u->io_accounting_last, _CGROUP_IO_ACCOUNTING_METRIC_MAX)
- *i = UINT64_MAX;
-
u->ipv4_allow_map_fd = -EBADF;
u->ipv6_allow_map_fd = -EBADF;
u->ipv4_deny_map_fd = -EBADF;