1on init
2    # Make foreground and background I/O priority different. none-to-rt was
3    # introduced in kernel 5.14. promote-to-rt was introduced in kernel 6.5.
4    # Write none-to-rt first and promote-to-rt next to support both older and
5    # newer kernel versions.
6    write /dev/blkio/blkio.prio.class none-to-rt
7    write /dev/blkio/blkio.prio.class promote-to-rt
8
9on property:ro.build.type=userdebug
10    write /dev/sys/block/bootdevice/pixel/enable_pixel_ufs_logging 1
11    chown system /dev/sg3
12
13on default_storage_mode
14    # F2FS
15    write /dev/sys/fs/by-name/userdata/data_io_flag 8
16    write /dev/sys/fs/by-name/userdata/node_io_flag 8
17    write /dev/sys/fs/by-name/userdata/max_io_bytes 524288
18    write /dev/sys/fs/by-name/userdata/min_hot_blocks 0
19
20    # Block
21    write /dev/sys/block/by-name/rootdisk/queue/iostats 1
22    write /dev/sys/block/by-name/rootdisk/queue/nr_requests 128
23    write /dev/sys/block/by-name/rootdisk/queue/rq_affinity 2
24    write /dev/sys/block/by-name/zoned_device/queue/rq_affinity 2
25
26    # UFS
27    write /dev/sys/block/bootdevice/clkgate_enable 1
28
29on init
30    # Symlink /dev/sys/block/bootdevice
31    wait /dev/block/platform/${ro.boot.boot_devices}
32    symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
33    symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
34
35    # F2FS
36    write /dev/sys/fs/by-name/userdata/data_io_flag 56
37    write /dev/sys/fs/by-name/userdata/node_io_flag 56
38
39    # Block
40    write /dev/sys/block/by-name/rootdisk/queue/iostats 0
41    write /dev/sys/block/by-name/rootdisk/queue/nr_requests 256
42
43    # UFS
44    write /dev/sys/block/bootdevice/clkgate_enable 0
45    write /dev/sys/block/bootdevice/wb_on 0
46    write /dev/sys/block/bootdevice/enable_wb_buf_flush 0
47
48on property:sys.boot_completed=1
49    # Health Storage HAL
50    chown system system /dev/sys/block/bootdevice/manual_gc
51    write /dev/sys/block/bootdevice/manual_gc 0
52
53    # Pixelstats
54    chown system system /dev/sys/block/bootdevice/slowio_read_cnt
55    chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
56    chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
57    chown system system /dev/sys/block/bootdevice/slowio_write_cnt
58
59    chown system system /dev/sys/fs/by-name/userdata/committed_atomic_block
60    chown system system /dev/sys/fs/by-name/userdata/compr_new_inode
61    chown system system /dev/sys/fs/by-name/userdata/compr_saved_block
62    chown system system /dev/sys/fs/by-name/userdata/compr_written_block
63    chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
64    chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
65    chown system system /dev/sys/fs/by-name/userdata/peak_atomic_write
66    chown system system /dev/sys/fs/by-name/userdata/revoked_atomic_block
67
68    trigger default_storage_mode
69
70on charger
71    trigger default_storage_mode
72
73on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
74    trigger default_storage_mode
75