diff --git a/src/scripts/addmount.sh b/src/scripts/addmount.sh index 7e89e15ac..82e933c91 100755 --- a/src/scripts/addmount.sh +++ b/src/scripts/addmount.sh @@ -26,5 +26,6 @@ mount_filename=$(systemd-escape -p --suffix=mount "$where") echo "$mount_file_contents" > "/etc/systemd/system/${mount_filename}" +systemctl stop "${mount_filename}" || true systemctl daemon-reload systemctl enable --no-block --now "${mount_filename}" || true diff --git a/src/volumes.js b/src/volumes.js index 60d90da3c..656ad8257 100644 --- a/src/volumes.js +++ b/src/volumes.js @@ -175,9 +175,9 @@ async function getStatus(volume) { output = safe.child_process.execSync(`journalctl -u $(systemd-escape -p --suffix=mount ${volume.hostPath}) -n 10 --no-pager -o cat`, { encoding: 'utf8' }); if (output) { - const lines = output.split('\n').reverse(); - const idx = lines.findIndex(l => l.includes('process exited')); - if (idx > 0) message = lines[idx-1]; // the line before probably has the error + const rlines = output.split('\n').reverse(); + const idx = rlines.findIndex(l => l.startsWith('mount ') || l.startsWith('mount.')); + if (idx !== -1) message = rlines[idx]; } if (!message) message = `Could not determine failure reason: ${safe.error.message}`; } else {