From 41cd8dec1235763ca5a2a6ba40f8dd567a77169d Mon Sep 17 00:00:00 2001 From: Zim Date: Tue, 21 Jan 2020 13:51:15 +0000 Subject: [PATCH] Reboot only userspace to kick FUSE flag change into place Test: Flag flip works Bug: 144914977 Change-Id: Ie203deeb16dd07de7ff92541286cf664861090ce --- .../com/android/server/StorageManagerService.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java index 32830aeacf06d..4b4ce348385a6 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java @@ -1701,8 +1701,15 @@ class StorageManagerService extends IStorageManager.Stub if (mIsFuseEnabled != settingsFuseFlag) { Slog.i(TAG, "Toggling persist.sys.fuse to " + settingsFuseFlag); SystemProperties.set(PROP_FUSE, Boolean.toString(settingsFuseFlag)); - // Perform hard reboot to kick policy into place - mContext.getSystemService(PowerManager.class).reboot("fuse_prop"); + + PowerManager powerManager = mContext.getSystemService(PowerManager.class); + if (powerManager.isRebootingUserspaceSupported()) { + // Perform userspace reboot to kick policy into place + powerManager.reboot(PowerManager.REBOOT_USERSPACE); + } else { + // Perform hard reboot to kick policy into place + powerManager.reboot("fuse_prop"); + } } }