Thread (15 messages) 15 messages, 5 authors, 2012-07-23

Re: [PATCH] fix bad behavior in use_hierarchy file

From: Kamezawa Hiroyuki <hidden>
Date: 2012-06-25 09:56:54
Also in: linux-mm

(2012/06/25 18:21), Glauber Costa wrote:
I have an application that does the following:

* copy the state of all controllers attached to a hierarchy
* replicate it as a child of the current level.

I would expect writes to the files to mostly succeed, since they
are inheriting sane values from parents.

But that is not the case for use_hierarchy. If it is set to 0, we
succeed ok. If we're set to 1, the value of the file is automatically
set to 1 in the children, but if userspace tries to write the
very same 1, it will fail. That same situation happens if we
set use_hierarchy, create a child, and then try to write 1 again.

Now, there is no reason whatsoever for failing to write a value
that is already there. It doesn't even match the comments, that
states:

  /* If parent's use_hierarchy is set, we can't make any modifications
   * in the child subtrees...

since we are not changing anything.

The following patch tests the new value against the one we're storing,
and automatically return 0 if we're not proposing a change.

Signed-off-by: Glauber Costa <redacted>
CC: Dhaval Giani <redacted>
CC: Michal Hocko <redacted>
CC: Kamezawa Hiroyuki <redacted>
CC: Johannes Weiner <redacted>
Hm. 
Acked-by: KAMEZAWA Hiroyuki <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help