From 2085c6de5de1d9cd8864f85628f775bce5853012 Mon Sep 17 00:00:00 2001 From: jim-p Date: Sat, 2 Feb 2013 21:30:31 -0500 Subject: Add a manual way for someone to set TRIM if they really want it. touch /root/TRIM_set and reboot to set, touch /root/TRIM_unset to clear. Have to reboot after setting the tunefs flag or when mount is run, it clears any changes. No way to do it on the fly. --- etc/rc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'etc') diff --git a/etc/rc b/etc/rc index ca9af7f..07ab210 100755 --- a/etc/rc +++ b/etc/rc @@ -31,6 +31,27 @@ if [ "$PLATFORM" = "pfSense" ]; then /etc/rc.dumpon fi +TUNEFS_STATUS=`/sbin/tunefs -p / 2>&1 | /usr/bin/grep trim: | /usr/bin/awk '{print $4;}'` +if [ -e /root/TRIM_set ] && [ "${TUNEFS_STATUS}" = "disabled" ]; then + echo "Enabling TRIM support" + /sbin/tunefs -t enable / + if [ "$PLATFORM" = "nanobsd" ]; then + /sbin/tunefs -t enable /cf + fi + echo "Rebooting in 5 seconds after enabling TRIM..." + sleep 5 + /sbin/reboot +elif [ -e /root/TRIM_unset ] && [ "${TUNEFS_STATUS}" = "enabled" ]; then + echo "Disabling TRIM support" + /sbin/tunefs -t disable / + if [ "$PLATFORM" = "nanobsd" ]; then + /sbin/tunefs -t disable /cf + fi + echo "Rebooting in 5 seconds after disabling TRIM..." + sleep 5 + /sbin/reboot +fi + # Mount memory file system if it exists echo "Mounting filesystems..." @@ -76,6 +97,9 @@ if [ ! "$PLATFORM" = "cdrom" ] ; then fi fi +/bin/rm -f /root/TRIM_set +/bin/rm -f /root/TRIM_unset + # Disable APM on ATA drives. Leaving this on will kill drives long-term, especially laptop drives, by generating excessive Load Cycles. if [ -f /etc/rc.disable_hdd_apm ]; then /etc/rc.disable_hdd_apm -- cgit v1.1