Espere para montar hasta que el proceso no esté ocupado

Espere para montar hasta que el proceso no esté ocupado

Estoy escribiendo/leyendo en un SSD a través de NVMe. Me gustaría desmontar las particiones SSD y volver a montarlas después de escribir y antes de leer para evitar problemas de almacenamiento en caché. Parece que cuando intento realizar esta operación, aparece un error que dice que el dispositivo está ocupado y no realiza esta acción.

Aquí están los comandos.

/root/bin/mountfs -u
sleep 5
/root/bin/mountfs -m
sleep 10

Aquí está Mountfs.

#!/bin/bash

# Mount/unmount ext4 file systems

exit_status=1
if [ "-m" = "$1" ]
then mount -t ext4 /fsmnt/fs1
     mount -t ext4 /fsmnt/fs2
     mount -t ext4 /fsmnt/fs3
     mount -t ext4 /fsmnt/fs4
     exit_status=0
elif [ "-u" = "$1" ]
then umount /fsmnt/fs1
     umount /fsmnt/fs2
     umount /fsmnt/fs3
     umount /fsmnt/fs4
     exit_status=0
else echo "mountfs -m | -u"
fi
exit $exit_status

¿Hay alguna forma en bash de esperar mediante programación a que se completen todas las lecturas/escrituras, de modo que los dispositivos no estén ocupados y pueda volver a montar con éxito las particiones para borrar los cachés del controlador NVMe/OS?

información relacionada