[2/2] partresize: enable journal on ssd's and vm's

Message ID 20230605073029.2971-2-arne_f@ipfire.org
State Accepted
Commit f24ce4558aeaf5e3a81f059a4c23a17651afbe2d
Headers
Series [1/2] partresize: remove buggy code |

Commit Message

Arne Fitzenreiter June 5, 2023, 7:30 a.m. UTC
  the flashimage is build without journal to not destroy
usb thumbdrives or sd cards. On real ssd's and virtual
machines it should enabled for higher data security.

So this patch add the journal is drive support smart.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
---
 src/initscripts/system/partresize | 13 +++++++++++++
 1 file changed, 13 insertions(+)
  

Patch

diff --git a/src/initscripts/system/partresize b/src/initscripts/system/partresize
index 832bc7237..df9c43991 100644
--- a/src/initscripts/system/partresize
+++ b/src/initscripts/system/partresize
@@ -48,6 +48,7 @@  case "${1}" in
 			# Azure and Google Compute Platform
 			if running_on_ec2 || running_on_oci || running_on_azure || running_on_gcp; then
 				scon="on"
+				journal="on"
 			fi
 
 			mount /boot > /dev/null
@@ -109,6 +110,18 @@  case "${1}" in
 						root_dev="${dev::-2}"
 					fi
 
+					# Check if the device support smart
+					smartctl --smart=on "${root_dev}" > /dev/null
+					if [ ${?} = 0 ]; then
+						journal="on"
+					fi
+
+					# Enable journal
+					if [ "${journal}" = "on" ]; then
+						boot_mesg "Create journal on "${dev}" ..."
+						tune2fs -O has_journal "${dev}"
+					fi
+
 					boot_mesg "Growing root partition to maximum size..."
 					echo -e ',+' | sfdisk --no-reread -f -N${part_num} "${root_dev}" 2>/dev/null