• T
    cgroup: update the meaning of cftype->max_write_len · 5f469907
    Tejun Heo 提交于
    cftype->max_write_len is used to extend the maximum size of writes.
    It's interpreted in such a way that the actual maximum size is one
    less than the specified value.  The default size is defined by
    CGROUP_LOCAL_BUFFER_SIZE.  Its interpretation is quite confusing - its
    value is decremented by 1 and then compared for equality with max
    size, which means that the actual default size is
    CGROUP_LOCAL_BUFFER_SIZE - 2, which is 62 chars.
    
    There's no point in having a limit that low.  Update its definition so
    that it means the actual string length sans termination and anything
    below PAGE_SIZE-1 is treated as PAGE_SIZE-1.
    
    .max_write_len for "release_agent" is updated to PATH_MAX-1 and
    cgroup_release_agent_write() is updated so that the redundant strlen()
    check is removed and it uses strlcpy() instead of strcpy().
    .max_write_len initializations in blk-throttle.c and cfq-iosched.c are
    no longer necessary and removed.  The one in cpuset is kept unchanged
    as it's an approximated value to begin with.
    
    This will also make transition to kernfs smoother.
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Acked-by: NLi Zefan <lizefan@huawei.com>
    5f469907
cgroup.c 141.2 KB