Espere para montar até que o processo não esteja ocupado

0

Eu estou escrevendo / lendo para um SSD sobre NVMe. Eu gostaria de desmontar as partições SSD e remontá-las depois de escrever e antes de ler, de modo a evitar problemas de cache. Parece que quando tento executar esta operação, recebo um erro dizendo que o dispositivo está ocupado e não executa esta ação.

Aqui estão os comandos

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

Aqui está o 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

Existe alguma maneira no bash de esperar programaticamente que todas as leituras / gravações sejam concluídas, para que os dispositivos não fiquem ocupados e eu possa remontar com êxito as partições para limpar os caches do Controlador NVMe / OS?

    
por John Frye 20.11.2017 / 16:22

0 respostas