summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xetc/rc24
1 files changed, 24 insertions, 0 deletions
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
OpenPOWER on IntegriCloud