]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
cgroup: update the meaning of cftype->max_write_len
authorTejun Heo <tj@kernel.org>
Tue, 11 Feb 2014 16:52:48 +0000 (11:52 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 11 Feb 2014 16:52:48 +0000 (11:52 -0500)
commit5f46990787e2721b4db190ddc8af6fdbe8f010d7
tree5a5e8439e8560eb95a86f58036b5282e1a7036b6
parentde00ffa56ea3132c6013fc8f07133b8a1014cf53
cgroup: update the meaning of cftype->max_write_len

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: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
block/blk-throttle.c
block/cfq-iosched.c
include/linux/cgroup.h
kernel/cgroup.c