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). -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>