summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2014-10-17 18:10:19 -0700
committerNick Kralevich <nnk@google.com>2014-10-17 18:10:19 -0700
commit75da0247b5c15f0b08cac4844e5fe64c7d5015c5 (patch)
tree9612f419300edaf08363d949dfe918ba66ad57b3
parent066043fcc15b7f14235674dc45d40b8af13ba12b (diff)
downloadmanta-75da0247b5c15f0b08cac4844e5fe64c7d5015c5.tar.gz
Avoid ro->rw->ro mounts for /factorylollipop-dev
When manta boots, the /factory partition was handled as follows: 1) Mount /factory read-only from fstab.manta 2) Remount /factory read-write from init.manta.rc 3) Update SELinux labels on /factory via restorecon_recursive /factory 4) Remount /factory read-only from init.manta.rc Due to system/core commit e18c0d508a6d8b4376c6f0b8c22600e5aca37f69, when a read-only partition is mounted via fstab.manta, we also set the BLKROSET ioctl so that the underlying block device is also marked read-only. This breaks the above sequence of steps. Specifically, when we attempt to remount /factory read-write, the kernel realizes that the underlying block device is marked read-only, and refuses the remount. This causes the restorecon_recursive call to fail. This change simplifies the above sequence by avoiding the initial read-only mount. The steps are now: 1) Mount /factory read-write from fstab.manta 2) Update SELinux labels on /factory via restorecon_recursive /factory 3) Remount /factory read-only from init.manta.rc Bug: 18036999 Change-Id: I39fde77e85242c67f67bb601d4ffcdb3b4b087df
-rw-r--r--fstab.manta2
-rw-r--r--init.manta.rc1
2 files changed, 1 insertions, 2 deletions
diff --git a/fstab.manta b/fstab.manta
index 3c8411d..9096a04 100644
--- a/fstab.manta
+++ b/fstab.manta
@@ -7,7 +7,7 @@
/dev/block/platform/dw_mmc.0/by-name/system /system ext4 ro wait
/dev/block/platform/dw_mmc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/platform/dw_mmc.0/by-name/userdata /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,encryptable=/dev/block/platform/dw_mmc.0/by-name/metadata
-/dev/block/platform/dw_mmc.0/by-name/efs /factory ext4 noatime,nosuid,nodev,ro wait
+/dev/block/platform/dw_mmc.0/by-name/efs /factory ext4 noatime,nosuid,nodev,rw wait
/dev/block/platform/dw_mmc.0/by-name/boot /boot emmc defaults defaults
/dev/block/platform/dw_mmc.0/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/dw_mmc.0/by-name/misc /misc emmc defaults defaults
diff --git a/init.manta.rc b/init.manta.rc
index b5c8f07..0442416 100644
--- a/init.manta.rc
+++ b/init.manta.rc
@@ -57,7 +57,6 @@ on fs
mkdir /factory 0775 radio radio
mount_all /fstab.manta
- mount ext4 /dev/block/platform/dw_mmc.0/by-name/efs /factory rw remount
restorecon_recursive /factory
mount ext4 /dev/block/platform/dw_mmc.0/by-name/efs /factory ro remount
setprop ro.crypto.fuse_sdcard true