# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.

#<src>                                                <mnt_point>  <type>  <mnt_flags and options>                     <fs_mgr_flags>
/dev/block/platform/msm_sdcc.1/by-name/system         /system      ext4    ro,barrier=1,discard                                wait
/dev/block/platform/msm_sdcc.1/by-name/userdata       /data        ext4    nosuid,nodev,barrier=1,noauto_da_alloc,discard      wait,check,encryptable=footer
/devices/msm_sdcc.2/mmc_host*                          /storage/sdcard1   vfat    nosuid,nodev         wait,voldmanaged=sdcard1:auto,encryptable=footer
/dev/block/bootdevice/by-name/pad                  /frp        emmc    defaults             defaults
/devices/platform/xhci-hcd/usb*                       /storage/usbotg    vfat    nosuid,nodev  wait,voldmanaged=usbotg:auto 
