Крепление CIFS не восстанавливается после сна или спящего режима

У меня Linux Mint Mate 17.3. Следующие точки монтирования определены в моем fstab:

//at.xxxxxx-it.net/ORG  /mnt/L  cifs    user,auto,credentials=/home/liptak/.cifs.secret 0   1
//at.xxxxxx-it.net/shared   /mnt/M  cifs    user,auto,credentials=/home/liptak/.cifs.secret 0   1

Если я загружаюсь, это работает. Как только я перевожу компьютер в спящий или спящий режим, он больше не работает.

liptak@vnwha-ent034 ~ $ ls -la /mnt/
összesen 20
drwxr-xr-x  5 root root 4096 febr  29 13:33 .
drwxr-xr-x 25 root root 4096 márc  30 10:14 ..
drwxr-xr-x  2 root root 4096 dec   22 12:33 L
drwxr-xr-x  2 root root 4096 febr  29 13:33 M
drwxr-xr-x  2 root root 4096 febr  29 13:33 U

Я попробовал следующее:

  • ls /mnt/L -> зависает, не может быть прервано
  • sudo mount -a -> висит
  • sudo umount -a -t cifs -> umount: /mnt/L: device is busy,
  • lsof | grep /mnt/L -> висит
  • fuser -km /mnt/L -> зависает, не может быть прервано
  • sudo umount -f /mnt/L -> /mnt/L: device or resource is busy
  • sudo umount -l /mnt/L -> возвращается нормально, но потом sudo mount -a снова висит

Что я здесь не так? Как я мог расследовать это?

1 ответ

Решение

Если у вас есть проблема с этим общим ресурсом, вы можете размонтировать его в режиме гибернации / приостановить и перемонтировать его при возобновлении.
Для этого вы должны создать скрипт в /etc/pm/sleep.d/, назови это 50-share_handling (например) и вставьте в него следующие строки:

#!/bin/sh
# Unmount CIFS share on hibernate/suspend and remount it on resume

case "$1" in
        hibernate|suspend)
                umount /mnt/L
                umount /mnt/M
                ;;
        thaw|resume)
                mount /mnt/L
                mount /mnt/M
                ;;
        *) exit $NA
                ;;
esac

Убедитесь, что это исполняемый файл.
Другие примеры скриптов можно найти здесь: /usr/lib/pm-utils/sleep.d,

Источник для Debian Lenny, должен быть действительным для Ubuntu.

Другие вопросы по тегам