From da4fab0462bef28f8a9b929efea2910023c92ec3 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Wed, 29 Nov 2017 16:51:08 +0100 Subject: luci-mod-admin-full: change supports_reset() test for factory reset The check "supports_reset" only covers /proc/mtd partitions. If we have this the commands checks for names like ubi or rootfs_data. If this is found the system is possible for a factory reset. But on x86 the situation is different. We have no /proc/mtd partitions because this system do not use a bare metall flash. To solve this issue check if we have an overlay and if so we could do a factory reset. This could be applied for system which uses bare metal flash and system which uses FTL or harddisks. Jffs2reset is the current command used for factory reset. It will try to find volume "rootfs_data" and if it's mounted will delete all files under directory /overlay luci-mod-admin-mini also has check for reset available, but we leave it alone for now as it uses "mtd -r erase rootfs_data" Signed-off-by: Florian Eckert Signed-off-by: Yousong Zhou --- modules/luci-mod-admin-full/luasrc/controller/admin/system.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua index 5478afa3e6..51f9d9d7b6 100644 --- a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua +++ b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua @@ -195,7 +195,7 @@ local function supports_sysupgrade() end local function supports_reset() - return (os.execute([[grep -sqE '"rootfs_data"|"ubi"' /proc/mtd]]) == 0) + return (os.execute([[grep -sq "^overlayfs:/overlay / overlay " /proc/mounts]]) == 0) end local function storage_size() -- cgit v1.2.3