From: drakenclimber Date: Wed, 16 Aug 2023 15:27:06 +0000 (+0000) Subject: deploy: 444159e29c5323bdcb42d8bd3900f5516dffaead X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9336d5dae13bdaf1cec9158e62271054202374d5;p=thirdparty%2Flibcgroup.git deploy: 444159e29c5323bdcb42d8bd3900f5516dffaead --- diff --git a/group__group__config.html b/group__group__config.html index 333c70bf..ade729b5 100644 --- a/group__group__config.html +++ b/group__group__config.html @@ -187,7 +187,7 @@ $(function() {

Use cgroup_new_cgroup() to create a dummy group and cgroup_set_uid_gid() and cgroup_set_permissions() to set its permissions. Use NO_UID_GID instead of GID/UID and NO_PERMS instead of file/directory permissions to let kernel decide the default permissions where you don't want specific user and/or permissions. Kernel then uses current user/group and permissions from umask then.

Parameters
- +
new_defaultNew default permissions from this group are copied to libcgroup internal structures. I.e., this group can be freed immediatelly after this function returns.
new_defaultNew default permissions from this group are copied to libcgroup internal structures. I.e., this group can be freed immediately after this function returns.
diff --git a/group__group__groups.html b/group__group__groups.html index ee6533d1..e51bc4e0 100644 --- a/group__group__groups.html +++ b/group__group__groups.html @@ -649,7 +649,7 @@ int cgroup_convert_cgroup<
-

Copy all controllers, their parameters and values. Group name, permissions and ownerships are not coppied. All existing controllers in the source group are discarded.

+

Copy all controllers, their parameters and values. Group name, permissions and ownerships are not copied. All existing controllers in the source group are discarded.

Parameters
@@ -734,7 +734,7 @@ int  - +
dstDestination group.
cgroup_convert_cgroup<

Physically create new control group in kernel, with all parameters and values copied from its parent group. The group is created in all hierarchies, where the parent group exists. I.e. following code creates subgroup in all hierarchies, because all of them have root (=parent) group.

struct cgroup *foo = cgroup_new_cgroup("foo");
int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)
Definition: api.c:3103
-
Todo:
what is this good for? Why the list of controllers added by cgroup_add_controller() is not used, like in cgroup_create_cgroup()? I can't crate subgroup of root group in just one hierarchy with this function!
+
Todo:
what is this good for? Why the list of controllers added by cgroup_add_controller() is not used, like in cgroup_create_cgroup()? I can't create subgroup of root group in just one hierarchy with this function!
Parameters
diff --git a/group__group__iterators.html b/group__group__iterators.html index 70e02114..84358123 100644 --- a/group__group__iterators.html +++ b/group__group__iterators.html @@ -114,7 +114,7 @@ Data Structures
cgroupThe cgroup to create. Only it's name is used, everything else is discarded.
 
- @@ -185,7 +185,7 @@ Data Structures
  • void iterator_name_end(void **handle)

    • Free any data associated with the iterator. This function must be called even when iterator_name_begin() fails.
    -
    Todo:
    not all iterators follow this pattern, e.g. cgroup_walk_tree_begin() can result both in a state that cgroup_walk_tree_end() is not needed and will sigsegv and in a state that cgroup_walk_tree_end() is needed to free allocated memory. Complete review is needed!
    +
    Todo:
    not all iterators follow this pattern, e.g. cgroup_walk_tree_begin() can result both in a state that cgroup_walk_tree_end() is not needed and will SIGSEGV and in a state that cgroup_walk_tree_end() is needed to free allocated memory. Complete review is needed!
    Example of iterator usage:
    void *handle; // our iterator handle
    my_type item; // the data returned by the iterator
    int ret;
    @@ -814,7 +814,7 @@ Data Structures
  • - +

    Read group stats

    libcgroup's cgroup_get_value_string() reads only relatively short parametrs of a group. Use following functions to read stats parameter, which can be quite long.

    +

    libcgroup's cgroup_get_value_string() reads only relatively short parameters of a group. Use following functions to read stats parameter, which can be quite long.

    int cgroup_read_stats_begin (const char *controller, const char *path, void **handle, struct cgroup_stat *stat)
     
    nameis variable name.
    handleThe handle to be used during iteration.
    bufferThe buffer to read the value into. The buffer is always zero-terminated.
    maxMaximal lenght of the buffer
    maxMaximal length of the buffer
    @@ -877,7 +877,7 @@ Data Structures
    handleThe handle to be used during iteration.
    datareturned the string.
    bufferThe buffer to read the value into. The buffer is always zero-terminated.
    maxMaximal lenght of the buffer
    maxMaximal length of the buffer
    diff --git a/libcgroup-internal_8h_source.html b/libcgroup-internal_8h_source.html index b7d684f6..81ad3e43 100644 --- a/libcgroup-internal_8h_source.html +++ b/libcgroup-internal_8h_source.html @@ -110,7 +110,7 @@ $(function() {
    38
    39/*
    40 * Max number of mounted hierarchies. Event if one controller is mounted
    -
    41 * per hier, it can not exceed CG_CONTROLLER_MAX
    +
    41 * per hierarchy, it can not exceed CG_CONTROLLER_MAX
    42 */
    43#define CG_HIER_MAX CG_CONTROLLER_MAX
    44
    @@ -217,7 +217,7 @@ $(function() {
    149
    150 /* Details of user under consideration for destination cgroup */
    151 struct passwd *pw;
    -
    152 /* Gid of the process */
    +
    152 /* gid of the process */
    153 gid_t gid;
    154};
    155
    diff --git a/todo.html b/todo.html index 0ce5f3fc..2db6ca61 100644 --- a/todo.html +++ b/todo.html @@ -82,7 +82,7 @@ $(function() {
    Global cgroup_create_cgroup (struct cgroup *cgroup, int ignore_ownership)
    what is ignore_ownership good for?
    Global cgroup_create_cgroup_from_parent (struct cgroup *cgroup, int ignore_ownership)
    -

    what is this good for? Why the list of controllers added by cgroup_add_controller() is not used, like in cgroup_create_cgroup()? I can't crate subgroup of root group in just one hierarchy with this function!

    +

    what is this good for? Why the list of controllers added by cgroup_add_controller() is not used, like in cgroup_create_cgroup()? I can't create subgroup of root group in just one hierarchy with this function!

    what is ignore_ownership good for?

    Global cgroup_delete_cgroup (struct cgroup *cgroup, int ignore_migration)
    @@ -102,7 +102,7 @@ $(function() {
    Global cgroup_walk_tree_begin (const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)
    why base_level is not hidden in **handle?
    Module group_iterators
    -
    not all iterators follow this pattern, e.g. cgroup_walk_tree_begin() can result both in a state that cgroup_walk_tree_end() is not needed and will sigsegv and in a state that cgroup_walk_tree_end() is needed to free allocated memory. Complete review is needed!
    +
    not all iterators follow this pattern, e.g. cgroup_walk_tree_begin() can result both in a state that cgroup_walk_tree_end() is not needed and will SIGSEGV and in a state that cgroup_walk_tree_end() is needed to free allocated memory. Complete review is needed!