Re: [PATCH v4 10/16] block: sed-opal: add ioctl for done-mark of shadow mbr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 01, 2019 at 09:50:17PM +0100, David Kozub wrote:
> From: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx>
> 
> Enable users to mark the shadow mbr as done without completely
> deactivating the shadow mbr feature. This may be useful on reboots,
> when the power to the disk is not disconnected in between and the shadow
> mbr stores the required boot files. Of course, this saves also the
> (few) commands required to enable the feature if it is already enabled
> and one only wants to mark the shadow mbr as done.
> 
> Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Scott Bauer <sbauer@xxxxxxxxxxxxxx>
> ---
>  block/sed-opal.c              | 33 +++++++++++++++++++++++++++++++--
>  include/linux/sed-opal.h      |  1 +
>  include/uapi/linux/sed-opal.h |  1 +
>  3 files changed, 33 insertions(+), 2 deletions(-)
> 
> diff --git a/block/sed-opal.c b/block/sed-opal.c
> index 4b0a63b9d7c9..e03838cfd31b 100644
> --- a/block/sed-opal.c
> +++ b/block/sed-opal.c
> @@ -1996,13 +1996,39 @@ static int opal_erase_locking_range(struct opal_dev *dev,
>  static int opal_enable_disable_shadow_mbr(struct opal_dev *dev,
>  					  struct opal_mbr_data *opal_mbr)
>  {
> +	u8 token = opal_mbr->enable_disable == OPAL_MBR_ENABLE
> +		? OPAL_TRUE : OPAL_FALSE;
>  	const struct opal_step mbr_steps[] = {
>  		{ opal_discovery0, },
>  		{ start_admin1LSP_opal_session, &opal_mbr->key },
> -		{ set_mbr_done, &opal_mbr->enable_disable },
> +		{ set_mbr_done, &token },
>  		{ end_opal_session, },
>  		{ start_admin1LSP_opal_session, &opal_mbr->key },
> -		{ set_mbr_enable_disable, &opal_mbr->enable_disable },
> +		{ set_mbr_enable_disable, &token },
> +		{ end_opal_session, },
> +		{ NULL, }

This seems to be a change of what we pass to set_mbr_done /
set_mbr_enable_disable and not really related to the new functionality
here, so it should be split into a separate patch.

That being said if we really care about this translation between
the two sets of constants, why not do it inside
set_mbr_done and set_mbr_enable_disable?



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux