fstab: make discard opt-in via BOARD_STORAGE_SUPPORTS_DISCARD
Add fstab.rpi4.discard (metadata with discard) alongside the default fstab.rpi4 (no discard). device.mk selects between them based on BOARD_STORAGE_SUPPORTS_DISCARD — set true for SD cards or SSDs that actually support TRIM, leave unset for USB flash drives.
This commit is contained in:
@@ -140,9 +140,19 @@ PRODUCT_PACKAGES += \
|
||||
com.android.hardware.power
|
||||
|
||||
# Ramdisk
|
||||
# Set BOARD_STORAGE_SUPPORTS_DISCARD := true in BoardConfig.mk (or a device
|
||||
# variant makefile) to enable TRIM on the metadata partition. Only do this if
|
||||
# your storage device actually supports discard (SD cards, SSDs) — USB flash
|
||||
# drives typically don't, and requesting discard on them stalls jbd2.
|
||||
ifeq ($(BOARD_STORAGE_SUPPORTS_DISCARD),true)
|
||||
_FSTAB_SRC := $(DEVICE_PATH)/ramdisk/fstab.rpi4.discard
|
||||
else
|
||||
_FSTAB_SRC := $(DEVICE_PATH)/ramdisk/fstab.rpi4
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(DEVICE_PATH)/ramdisk/fstab.rpi4:$(TARGET_COPY_OUT_RAMDISK)/fstab.rpi4 \
|
||||
$(DEVICE_PATH)/ramdisk/fstab.rpi4:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.rpi4 \
|
||||
$(_FSTAB_SRC):$(TARGET_COPY_OUT_RAMDISK)/fstab.rpi4 \
|
||||
$(_FSTAB_SRC):$(TARGET_COPY_OUT_VENDOR)/etc/fstab.rpi4 \
|
||||
$(DEVICE_PATH)/ramdisk/init.rpi4.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rpi4.rc \
|
||||
$(DEVICE_PATH)/ramdisk/init.rpi4.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rpi4.usb.rc \
|
||||
$(DEVICE_PATH)/ramdisk/ueventd.rpi4.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# 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
|
||||
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/by-name/system /system ext4 ro,barrier=1 wait,first_stage_mount
|
||||
/dev/block/by-name/system_ext /system_ext ext4 ro,barrier=1 wait,first_stage_mount
|
||||
/dev/block/by-name/vendor /vendor ext4 ro,barrier=1 wait,first_stage_mount
|
||||
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,formattable,first_stage_mount
|
||||
/dev/block/by-name/userdata /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,formattable,quota
|
||||
/devices/platform/scb/*.pcie/*/*/*/usb* auto auto defaults voldmanaged=usb:auto
|
||||
/devices/platform/soc/*.usb/usb* auto auto defaults voldmanaged=usb:auto
|
||||
Reference in New Issue
Block a user