Add /metadata partition.

Test: booted phone and ensured partition was present.
Bug: 28693324
Change-Id: Id84582b9de9d31f751d5a0cdb67d0312607da265
diff --git a/fstab.aosp_common b/fstab.aosp_common
index 8bf7733..a640e5a 100755
--- a/fstab.aosp_common
+++ b/fstab.aosp_common
@@ -9,6 +9,7 @@
 /dev/block/bootdevice/by-name/system    /           ext4    ro,barrier=1                                wait,slotselect,verify
 /dev/block/bootdevice/by-name/vendor    /vendor     ext4    ro,barrier=1                                wait,slotselect
 /dev/block/bootdevice/by-name/modem     /firmware/radio    vfat    ro,shortname=lower,uid=1000,gid=0,dmask=227,fmask=337,context=u:object_r:firmware_file:s0   wait,slotselect
+/dev/block/bootdevice/by-name/metadata   /metadata   ext4    noatime,nosuid,nodev,barrier=1    wait,check,formattable
 /dev/block/bootdevice/by-name/userdata    /data             ext4    noatime,nosuid,nodev,barrier=1,noauto_da_alloc      latemount,wait,check,formattable,fileencryption=ice
 /dev/block/zram0                        none              swap    defaults                                            zramsize=536870912
 /dev/block/bootdevice/by-name/misc        /misc           emmc  defaults defaults
diff --git a/fstab.common b/fstab.common
index 2326a3e..6f128c9 100755
--- a/fstab.common
+++ b/fstab.common
@@ -9,6 +9,7 @@
 /dev/block/bootdevice/by-name/system    /           ext4    ro,barrier=1                                wait,slotselect,verify
 /dev/block/bootdevice/by-name/vendor    /vendor     ext4    ro,barrier=1                                wait,slotselect,verify
 /dev/block/bootdevice/by-name/modem     /firmware/radio    vfat    ro,shortname=lower,uid=1000,gid=0,dmask=227,fmask=337,context=u:object_r:firmware_file:s0   wait,slotselect
+/dev/block/bootdevice/by-name/metadata   /metadata   ext4    noatime,nosuid,nodev,barrier=1    wait,check,formattable
 /dev/block/bootdevice/by-name/userdata    /data             ext4    noatime,nosuid,nodev,barrier=1,noauto_da_alloc      latemount,wait,check,formattable,fileencryption=ice
 /dev/block/zram0                        none              swap    defaults                                            zramsize=536870912
 /dev/block/bootdevice/by-name/misc        /misc           emmc  defaults defaults
diff --git a/marlin/BoardConfig.mk b/marlin/BoardConfig.mk
index bd07ac5..7ef0fb6 100644
--- a/marlin/BoardConfig.mk
+++ b/marlin/BoardConfig.mk
@@ -101,7 +101,7 @@
 
 BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=marlin user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff
 
-BOARD_ROOT_EXTRA_FOLDERS := bt_firmware firmware firmware/radio persist
+BOARD_ROOT_EXTRA_FOLDERS := bt_firmware firmware firmware/radio metadata persist
 BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
 
 BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy
diff --git a/sailfish/BoardConfig.mk b/sailfish/BoardConfig.mk
index 78fa9d6..e2f239d 100644
--- a/sailfish/BoardConfig.mk
+++ b/sailfish/BoardConfig.mk
@@ -97,7 +97,7 @@
 
 BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=sailfish user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff
 
-BOARD_ROOT_EXTRA_FOLDERS := bt_firmware firmware firmware/radio persist
+BOARD_ROOT_EXTRA_FOLDERS := bt_firmware firmware firmware/radio metadata persist
 BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
 
 BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 4a3138d..fc1c274 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -187,3 +187,6 @@
 /persist(/.*)?          u:object_r:persist_file:s0
 /persist/data(/.*)?     u:object_r:persist_data_file:s0
 /persist/display(/.*)?  u:object_r:persist_display_file:s0
+
+/metadata               u:object_r:rootfs:s0
+/metadata/.*            u:object_r:vold_data_file:s0