mkfs.f2fs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/sbin/sh
  2. DEV=$(echo "$@" | tr ' ' '\n' | grep '/dev')
  3. OPTIONS="-f -O quota -w 4096 -R 0:0"
  4. echo "Executing /sbin/__mkfs.f2fs $OPTIONS $DEV"
  5. /sbin/__mkfs.f2fs $OPTIONS $DEV
  6. echo "Optimizing f2fs"
  7. mkdir -p /mnt
  8. mount $DEV /mnt
  9. find /sys/fs/f2fs* -name extension_list | while read list; do
  10. echo "Updating extensions list for $list"
  11. echo "Removing previous extensions list"
  12. HOT=$(cat $list | grep -n 'hot file extension' | cut -d : -f 1)
  13. COLD=$(($(cat $list | wc -l) - $HOT))
  14. COLDLIST=$(head -n$(($HOT - 1)) $list | grep -v ':')
  15. HOTLIST=$(tail -n$COLD $list)
  16. echo $COLDLIST | tr ' ' '\n' | while read cold; do
  17. echo "[c]!$cold"
  18. echo "[c]!$cold" > $list
  19. done
  20. echo $HOTLIST | tr ' ' '\n' | while read hot; do
  21. echo "[h]!$hot"
  22. echo "[h]!$hot" > $list
  23. done
  24. echo "Writing new extensions list"
  25. cat /sbin/f2fs-cold.list | grep -v '#' | while read cold; do
  26. if [ ! -z $cold ]; then
  27. echo "[c]$cold"
  28. echo "[c]$cold" > $list
  29. fi
  30. done
  31. cat /sbin/f2fs-hot.list | while read hot; do
  32. if [ ! -z $hot ]; then
  33. echo "[h]$hot"
  34. echo "[h]$hot" > $list
  35. fi
  36. done
  37. done
  38. umount /mnt