commit | ee51eb3696438465eb5f259bc779e5a64ce706d5 | [log] [tgz] |
---|---|---|
author | Adriana Kobylak <anoo@us.ibm.com> | Wed Jun 07 15:24:52 2017 -0500 |
committer | Adriana Kobylak <anoo@us.ibm.com> | Wed Jul 19 12:35:07 2017 -0500 |
tree | 35edb12d796015e30254a190cbb3b70349e16ebc | |
parent | 3d29ad4912e3f1efe365e892a88bb340d8fdea4a [diff] |
openpower-software-manager: Move ubiumount.service logic to script The service files that manage the pnor ubi volumes and mount points are starting to get too much logic in them. Move the logic to a shell script. Closes openbmc/openbmc#1673 Change-Id: I6c9fb239b493eb64049fd4b8efc9be6eaf5b9b79 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios index cbe58e1..2265275 100644 --- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios
@@ -108,6 +108,26 @@ fi } +umount_ubi() { + pnormtd="$(findmtd pnor)" + pnor="${pnormtd#mtd}" + ubidev="/dev/ubi${pnor}" + mountdir="/media/${name}" + + if is_mounted "${name}"; then + umount "${mountdir}" + fi + + vol="$(findubi "${name}")" + if [ -n "${vol}" ]; then + ubirmvol "${ubidev}" -N "${name}" + fi + + if [ -d "${mountdir}" ]; then + rm -r "${mountdir}" + fi +} + case "$1" in ubiattach) attach_ubi @@ -121,6 +141,10 @@ name="$2" mount_ubi ;; + ubiumount) + name="$2" + umount_ubi + ;; *) echo "Invalid argument" exit 1
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service index 7dcf1b2..463714c 100644 --- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service
@@ -6,10 +6,4 @@ [Service] Type=oneshot RemainAfterExit=no -ExecStart=/bin/sh -c 'if grep -q pnor-prsv /proc/mounts; then \ - umount /media/pnor-prsv; fi; \ - prsv_ubi=`ubinfo -d 0 -a | grep pnor-prsv`; \ - if [ ! -z "$prsv_ubi" ]; then \ - {sbindir}/ubirmvol /dev/ubi0 -N pnor-prsv; fi; \ - if [ -d "/media/pnor-prsv" ]; then \ - rm -r /media/pnor-prsv; fi;' +ExecStart={sbindir}/obmc-flash-bios ubiumount pnor-prsv
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service index b272402..84fd523 100644 --- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service
@@ -6,11 +6,4 @@ [Service] Type=oneshot RemainAfterExit=no -ExecStart=/bin/sh -c 'rw=pnor-rw-%i; \ - if grep -q $rw /proc/mounts; then \ - umount /media/$rw; fi; \ - rw_ubi=`ubinfo -d 0 -a | grep $rw`; \ - if [ ! -z "$rw_ubi" ]; then \ - {sbindir}/ubirmvol /dev/ubi0 -N $rw; fi; \ - if [ -d "/media/$rw" ]; then \ - rm -r /media/$rw; fi;' +ExecStart={sbindir}/obmc-flash-bios ubiumount pnor-rw-%i