From 963409080e76d0028e558c3db852f128c75e20d8 Mon Sep 17 00:00:00 2001 From: Zhenggen Xu Date: Sun, 24 Mar 2019 00:59:55 -0700 Subject: [PATCH] Add fstrim service and fstrim timer by default This service (weekly) will let SSD firmware to do the garbage collection after file-system deleted files. It could avoid slowness or even READ-ONLY error due to SSD not being able to free the pages even though the file system thinks there was a lot of space left. Signed-off-by: Zhenggen Xu --- files/build_templates/sonic_debian_extension.j2 | 4 ++++ .../common => files/image_config/fstrim}/fstrim.service | 0 .../common => files/image_config/fstrim}/fstrim.timer | 0 .../debian/platform-modules-s6100.install | 2 -- .../debian/platform-modules-s6100.postinst | 4 ---- .../debian/platform-modules-z9100.install | 2 -- .../debian/platform-modules-z9100.postinst | 4 ---- 7 files changed, 4 insertions(+), 12 deletions(-) rename {platform/broadcom/sonic-platform-modules-dell/common => files/image_config/fstrim}/fstrim.service (100%) rename {platform/broadcom/sonic-platform-modules-dell/common => files/image_config/fstrim}/fstrim.timer (100%) diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 7523236f659c..55da564abfc4 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -269,6 +269,10 @@ sudo dpkg --root=$FILESYSTEM_ROOT -P {{ debname }} sudo rm -f $FILESYSTEM_ROOT/usr/sbin/policy-rc.d +# Copy fstrim service and timer file, enable fstrim timer +sudo cp $IMAGE_CONFIGS/fstrim/* $FILESYSTEM_ROOT/etc/systemd/system/ +sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable fstrim.timer + ## copy platform rc.local sudo cp $IMAGE_CONFIGS/platform/rc.local $FILESYSTEM_ROOT/etc/ diff --git a/platform/broadcom/sonic-platform-modules-dell/common/fstrim.service b/files/image_config/fstrim/fstrim.service similarity index 100% rename from platform/broadcom/sonic-platform-modules-dell/common/fstrim.service rename to files/image_config/fstrim/fstrim.service diff --git a/platform/broadcom/sonic-platform-modules-dell/common/fstrim.timer b/files/image_config/fstrim/fstrim.timer similarity index 100% rename from platform/broadcom/sonic-platform-modules-dell/common/fstrim.timer rename to files/image_config/fstrim/fstrim.timer diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install index a54e5b092642..d024d90e9ebb 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install @@ -2,8 +2,6 @@ s6100/scripts/iom_power_*.sh usr/local/bin s6100/scripts/s6100_platform.sh usr/local/bin common/dell_i2c_utils.sh usr/local/bin common/io_rd_wr.py usr/local/bin -common/fstrim.timer etc/systemd/system -common/fstrim.service etc/systemd/system common/platform_reboot usr/share/sonic/device/x86_64-dell_s6100_c2538-r0 s6100/scripts/platform_sensors.py usr/local/bin s6100/scripts/platform_watchdog_enable.sh usr/local/bin diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.postinst b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.postinst index 1c220633451d..7a8abd7921a3 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.postinst +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.postinst @@ -1,9 +1,5 @@ # postinst script for S6100 -# Enable fstrim -systemctl enable fstrim.timer -systemctl start fstrim.timer - # Enable Dell-S6100-platform-service depmod -a systemctl enable platform-modules-s6100.service diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install index 59eff97421bb..e332f1affdcf 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.install @@ -2,8 +2,6 @@ z9100/scripts/check_qsfp.sh usr/local/bin z9100/scripts/z9100_platform.sh usr/local/bin common/dell_i2c_utils.sh usr/local/bin common/io_rd_wr.py usr/local/bin -common/fstrim.timer etc/systemd/system -common/fstrim.service etc/systemd/system common/platform_reboot usr/share/sonic/device/x86_64-dell_z9100_c2538-r0 z9100/scripts/platform_sensors.py usr/local/bin z9100/scripts/z9100_qsfp_monitor.py usr/local/bin diff --git a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.postinst b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.postinst index 08bc05087e78..59d58b84e742 100644 --- a/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.postinst +++ b/platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-z9100.postinst @@ -1,9 +1,5 @@ # postinst script for Z9100 -# Enable fstrim -systemctl enable fstrim.timer -systemctl start fstrim.timer - # Enable Dell-Z9100-platform-service depmod -a systemctl enable platform-modules-z9100.service