You are not logged in.
I am trying to set blockdev readahead
I made a systemd service as follows :
[Unit]
Description=Set blockdev readahead
DefaultDependencies=no
After=local-fs.target
Wants=local-fs.target
ConditionPathExists=/etc/setblockdev.sh
[Service]
Type=forking
RemainAfterExit=no
ExecStart=/etc/setblockdev.sh
[Install]
WantedBy=multi-user.target
This launches this script :
#!/bin/bash
echo Setting Block device readahead...
blockdev --setra 262144 /dev/md1
blockdev --setra 262144 /dev/md0
blockdev --report > /tmp/blockdev
exit 0
On bootup I can see the /tmp/blockdev file contain the right values, however blockdev --report shows it has defaulted back to 256.
It seems like when the kernel remounts the file system, it reverts back :
[ 8.365194] archaic kernel: EXT4-fs (md1): re-mounted. Opts: discard,stripe=256,data=writeback,nobarrier,inode_readahead_blks=256,delalloc,commit=0
[ 8.368687] archaic kernel: EXT4-fs (md0): re-mounted. Opts: discard,stripe=1024,data=writeback,commit=0
How do I ensure blockdev readahead is set and retained as early as possible in the boot process?
Offline