[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1608311652110.112811@chino.kir.corp.google.com>
Date: Wed, 31 Aug 2016 17:03:25 -0700 (PDT)
From: David Rientjes <rientjes@...gle.com>
To: Reza Arbab <arbab@...ux.vnet.ibm.com>
cc: Andrew Morton <akpm@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Vlastimil Babka <vbabka@...e.cz>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Yaowei Bai <baiyaowei@...s.chinamobile.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Dan Williams <dan.j.williams@...el.com>,
Xishi Qiu <qiuxishi@...wei.com>,
David Vrabel <david.vrabel@...rix.com>,
Chen Yucong <slaoub@...il.com>,
Andrew Banman <abanman@....com>,
Seth Jennings <sjenning@...hat.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [RESEND PATCH v2] memory-hotplug: fix store_mem_state() return
value
On Wed, 31 Aug 2016, Reza Arbab wrote:
> > The correct fix is for store_mem_state() to return -EINVAL when
> > device_online() returns non-zero.
>
> Let me put it to you this way--which one of these sysfs operations is behaving
> correctly?
>
> # cd /sys/devices/system/memory/memory0
> # cat online
> 1
> # echo 1 > online; echo $?
> 0
>
> or
>
> # cd /sys/devices/system/memory/memory0
> # cat state
> online
> # echo online > state; echo $?
> -bash: echo: write error: Invalid argument
> 1
>
> One of them should change to match the other.
>
Nope, the return value of changing state from online to online was
established almost 11 years ago in commit 3947be1969a9. This was broken
by commit fa2be40fe7c0 ("drivers: base: use standard device online/offline
for state change") which was not intended to introduce a functional
change, but it did (memory_block_change_state() would have returned
EINVAL, device_online() does not).
Powered by blists - more mailing lists