action: Only unmount /vendor if it actually exists
* Since commit 168bc4caaedfdf655a71ba24a1c5a7f2b905a122 the vendor partition gets unmounted prior to switching the slots. However, devices without a vendor partition (e.g. tissot's stock partition table) will have errors since the partition doesn't actually exist * Therefore, it should be only mounted if that partition exists in the partition table Change-Id: Id16ab55e25d05964ca0de1bf218914d66c2b0205
This commit is contained in:
committed by
aguerosueingservices
parent
989dee2ac8
commit
f5547386da
+8
-8
@@ -1942,15 +1942,15 @@ int GUIAction::setbootslot(std::string arg)
|
||||
{
|
||||
operation_start("Set Boot Slot");
|
||||
if (!simulate) {
|
||||
if (!PartitionManager.UnMount_By_Path("/vendor", false)) {
|
||||
// PartitionManager failed to unmount /vendor, this should not happen,
|
||||
// but in case it does, do a lazy unmount
|
||||
LOGINFO("WARNING: vendor partition could not be unmounted normally!\n");
|
||||
umount2("/vendor", MNT_DETACH);
|
||||
PartitionManager.Set_Active_Slot(arg);
|
||||
} else {
|
||||
PartitionManager.Set_Active_Slot(arg);
|
||||
if (PartitionManager.Find_Partition_By_Path("/vendor")) {
|
||||
if (!PartitionManager.UnMount_By_Path("/vendor", false)) {
|
||||
// PartitionManager failed to unmount /vendor, this should not happen,
|
||||
// but in case it does, do a lazy unmount
|
||||
LOGINFO("WARNING: vendor partition could not be unmounted normally!\n");
|
||||
umount2("/vendor", MNT_DETACH);
|
||||
}
|
||||
}
|
||||
PartitionManager.Set_Active_Slot(arg);
|
||||
} else {
|
||||
simulate_progress_bar();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user