Merge pull request #25532 from Werkov/fix-cgtop-args

cgtop: Do not rewrite -P or -k options
This commit is contained in:
Luca Boccassi
2022-11-28 22:20:47 +01:00
committed by GitHub
2 changed files with 13 additions and 8 deletions
+10 -6
View File
@@ -56,6 +56,12 @@ typedef struct Group {
uint64_t io_input_bps, io_output_bps;
} Group;
typedef enum PidsCount {
COUNT_USERSPACE_PROCESSES,
COUNT_ALL_PROCESSES,
COUNT_PIDS,
} PidsCount;
static unsigned arg_depth = 3;
static unsigned arg_iterations = UINT_MAX;
static bool arg_batch = false;
@@ -66,11 +72,7 @@ static char* arg_root = NULL;
static bool arg_recursive = true;
static bool arg_recursive_unset = false;
static enum {
COUNT_PIDS,
COUNT_USERSPACE_PROCESSES,
COUNT_ALL_PROCESSES,
} arg_count = COUNT_PIDS;
static PidsCount arg_count = COUNT_PIDS;
static enum {
ORDER_PATH,
@@ -916,6 +918,7 @@ static int run(int argc, char *argv[]) {
usec_t last_refresh = 0;
bool quit = false, immediate_refresh = false;
_cleanup_free_ char *root = NULL;
PidsCount possible_count;
CGroupMask mask;
int r;
@@ -929,7 +932,8 @@ static int run(int argc, char *argv[]) {
if (r < 0)
return log_error_errno(r, "Failed to determine supported controllers: %m");
arg_count = (mask & CGROUP_MASK_PIDS) ? COUNT_PIDS : COUNT_USERSPACE_PROCESSES;
possible_count = (mask & CGROUP_MASK_PIDS) ? COUNT_PIDS : COUNT_ALL_PROCESSES;
arg_count = MIN(possible_count, arg_count);
if (arg_recursive_unset && arg_count == COUNT_PIDS)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),