summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDhaval Giani <dhaval@linux.vnet.ibm.com>2009-02-12 16:02:22 +0000
committerDhaval Giani <dhaval@linux.vnet.ibm.com>2009-02-12 16:02:22 +0000
commit7eaaaa4443fbbae4cdc1ba29ab49ddd98d9609a9 (patch)
tree807304265a2ffd28758e4557663015ce6cbef2b4
parenta97281cee1d0326868a016dc491bf210bcccfca4 (diff)
downloadlibcg-7eaaaa4443fbbae4cdc1ba29ab49ddd98d9609a9.tar.gz
libcg-7eaaaa4443fbbae4cdc1ba29ab49ddd98d9609a9.tar.xz
libcg-7eaaaa4443fbbae4cdc1ba29ab49ddd98d9609a9.zip
libcgroup: Make the group change logs more readable
From: Jan Safranek <jsafrane@redhat.com> Function cgre_process_event() logs success/failure of group change two times, each with different log severity. It should be logged just once. [dhaval@linux.vnet.ibm.com: Minor changes to the changelog] Signed-off-by: Jan Safranek <jsafrane@redhat.com> Acked-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@320 4f4bb910-9a46-0410-90c8-c897d4f1cd53
-rw-r--r--cgrulesengd.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/cgrulesengd.c b/cgrulesengd.c
index 5f79702..20d710d 100644
--- a/cgrulesengd.c
+++ b/cgrulesengd.c
@@ -142,10 +142,13 @@ int cgre_process_event(const struct proc_event *ev, const int type)
char *buf = NULL;
/* UID data */
- uid_t ruid, euid, suid, fsuid;
+ uid_t ruid, euid, suid, fsuid, log_uid = 0;
/* GID data */
- gid_t rgid, egid, sgid, fsgid;
+ gid_t rgid, egid, sgid, fsgid, log_gid = 0;
+
+ /* PID, just for logging */
+ pid_t log_pid = 0;
/* Return codes */
int ret = 0;
@@ -210,20 +213,18 @@ int cgre_process_event(const struct proc_event *ev, const int type)
*/
switch (type) {
case PROC_EVENT_UID:
- flog(LOG_DEBUG, "Attempting to change cgroup for PID: %d, "
- "UID: %d, GID: %d... ",
- ev->event_data.id.process_pid,
- ev->event_data.id.e.euid, egid);
+ log_uid = ev->event_data.id.e.euid;
+ log_gid = egid;
+ log_pid = ev->event_data.id.process_pid;
ret = cgroup_change_cgroup_uid_gid_flags(
ev->event_data.id.e.euid,
egid, ev->event_data.id.process_pid,
CGFLAG_USECACHE);
break;
case PROC_EVENT_GID:
- flog(LOG_DEBUG, "Attempting to change cgroup for PID: %d, "
- "UID: %d, GID: %d... ",
- ev->event_data.id.process_pid, euid,
- ev->event_data.id.e.egid);
+ log_uid = euid;
+ log_gid = ev->event_data.id.e.egid;
+ log_pid = ev->event_data.id.process_pid;
ret = cgroup_change_cgroup_uid_gid_flags(euid,
ev->event_data.id.e.egid,
ev->event_data.id.process_pid,
@@ -234,9 +235,16 @@ int cgre_process_event(const struct proc_event *ev, const int type)
}
if (ret) {
- flog(LOG_WARNING, "FAILED!\n (Error Code: %d)\n", ret);
+ /*
+ * TODO: add some supression, do not spam log when every group
+ * change fails
+ */
+ flog(LOG_WARNING, "Cgroup change for PID: %d, UID: %d, GID: %d"
+ " FAILED! (Error Code: %d)", log_pid, log_uid, log_gid,
+ ret);
} else {
- flog(LOG_INFO, "OK!\n");
+ flog(LOG_INFO, "Cgroup change for PID: %d, UID: %d, GID: %d OK",
+ log_pid, log_uid, log_gid);
}
finished: