On Sunday, 19 February 2017 at 10:51 PM, Marcelo Tosatti wrote:
Hi Eli Qiao,Question about removing resctrlfs directories with empty "tasks" file./* This domain is not created by libvirt, so we don't care* about the tasks, add a fake one to prevent* virResCtrlRefresh* remove it from sysfs */virResCtrlAddTask(p, 1);virResCtrlAppendDomain(p);/* Refresh all domains', remove the domains which has no task ids.* This will be used after VM pause, restart, destroy etc.*/static intvirResCtrlRefresh(void)Why are you doing this (removing directories which have no tasks inthem) ? The code should only read information from otherCAT reservations, not write to them.
This is not for cleanup purposes, since on VM shutdown the resctrlfsdirectories are properly removed:/* Remove the Domain from sysfs, this should only success no pids in* tasks* of a partition.*/staticint virResCtrlRemoveDomain(const char *name){char *path = NULL;int rc = 0;if ((rc = virAsprintf(&path, "%s/%s", RESCTRL_DIR, name)) < 0)return rc;rc = rmdir(path);VIR_FREE(path);return rc;}Should not write to other directories 'tasks' file.