core: change internal error code for masked units from EBADR to ESHUTDOWN
authorLennart Poettering <lennart@poettering.net>
Tue, 9 Feb 2016 19:28:58 +0000 (20:28 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 9 Feb 2016 19:28:58 +0000 (20:28 +0100)
commit114400dfb37f5e34985060b925fbaed7a9f01ac8
treee7066797b809078f50b119cc463756a6cb253e1f
parentbae687d885dc9df257a23ab6aab08c579190fd53
core: change internal error code for masked units from EBADR to ESHUTDOWN

This commit changes the mapping of the BUS_ERROR_UNIT_MASKED error to ESHUTDOWN. This error is used whenever the
transaction engine is asked to operate on a masked unit. ESHUTDOWN is what is used for the similar case when the unit
file enable/disable logic hits a masked unit file, hence is a natural candidate to be used here too.

Background: before this patch both "job type not applicable" and "unit masked" where mapped to EBADR, which
transaction_add_job_and_dependencies() then checked for. It actually wanted to check exclusively for the former error
condition, not the latter but due to the same mapping this failed to work.

This patch semi-undoes an accidental change made in caffa4ef700fdd0eadd6c0b2ef9925611672a1bc, however restores the
error number to ESHUTDOWN instead of the original ENOSYS (for the reasons indicated above).

To make this easier to grok for the future, I added comments to explaining which error conditions are checked for.

Fixes: #2315
src/core/transaction.c
src/libsystemd/sd-bus/bus-common-errors.c