|
Lines 4-10
Link Here
|
| 4 |
AddConfigHandler FilesystemsOptions |
4 |
AddConfigHandler FilesystemsOptions |
| 5 |
AddConfigHelp "Unmount <mount point or device> [...]" "If you have network shares or external devices that should be unmounted before suspending, list them here." |
5 |
AddConfigHelp "Unmount <mount point or device> [...]" "If you have network shares or external devices that should be unmounted before suspending, list them here." |
| 6 |
AddConfigHelp "Mount <mount point or device> [...]" "If you have network shares or external devices that should be mounted after resuming, list them here." |
6 |
AddConfigHelp "Mount <mount point or device> [...]" "If you have network shares or external devices that should be mounted after resuming, list them here." |
|
|
7 |
AddConfigHelp "UnmountFSTypes <fylesystem type> [...]" "Unmount fylesystems by type. Useful for unmounting all filesystems of specific type which are not in /etc/fstab, e.g. manually mounted cifs or smbfs fylesystems" |
| 8 |
AddConfigHelp "UnmountSleepTime <number>[smhd]" "Time to sleep before sending SIGKILL for processes using filesystems to be unmounted. The parameter value is a number of seconds, suffix has the same meaning as for sleep(1)" |
| 7 |
|
9 |
|
|
|
10 |
sleeptime=1 |
| 8 |
FilesystemsUnmount() { |
11 |
FilesystemsUnmount() { |
| 9 |
local mnt |
12 |
local mnt |
| 10 |
local ret |
13 |
local ret |
|
Lines 24-30
FilesystemsUnmount() {
Link Here
|
| 24 |
done |
27 |
done |
| 25 |
fi |
28 |
fi |
| 26 |
|
29 |
|
| 27 |
[ "$needsleep" -eq 1 ] && sleep 1 |
30 |
[ "$needsleep" -eq 1 ] && sleep $sleeptime |
| 28 |
|
31 |
|
| 29 |
# Send KILL to processes and unmount |
32 |
# Send KILL to processes and unmount |
| 30 |
ret=0 |
33 |
ret=0 |
|
Lines 54-59
FilesystemsMount() {
Link Here
|
| 54 |
return $ret |
57 |
return $ret |
| 55 |
} |
58 |
} |
| 56 |
|
59 |
|
|
|
60 |
FSTypesUnmount() { |
| 61 |
local fstype |
| 62 |
[ -z "$FS_TYPES" ] && return 0 |
| 63 |
|
| 64 |
ret=0 |
| 65 |
FS_UNMOUNTS_SAVE="$FS_UNMOUNTS" |
| 66 |
for fstype in $FS_TYPES; do |
| 67 |
FS_UNMOUNTS=`awk '($3 == "'$fstype'") {print $2}' /proc/mounts |sort -r` |
| 68 |
vecho 2 "Filesystems of type \"$fstype\" to unmount: $FS_UNMOUNTS" |
| 69 |
FilesystemsUnmount || ret=1 |
| 70 |
done |
| 71 |
|
| 72 |
FS_UNMOUNTS="$FS_UNMOUNTS_SAVE" |
| 73 |
return $ret |
| 74 |
} |
| 75 |
|
| 57 |
FilesystemsOptions() { |
76 |
FilesystemsOptions() { |
| 58 |
case $1 in |
77 |
case $1 in |
| 59 |
unmount) |
78 |
unmount) |
|
Lines 61-71
FilesystemsOptions() {
Link Here
|
| 61 |
shift |
80 |
shift |
| 62 |
FS_UNMOUNTS="$FS_UNMOUNTS $@" |
81 |
FS_UNMOUNTS="$FS_UNMOUNTS $@" |
| 63 |
;; |
82 |
;; |
|
|
83 |
unmountfstypes) |
| 84 |
[ -z "$FS_TYPES" ] && AddSuspendHook 45 FSTypesUnmount |
| 85 |
shift |
| 86 |
FS_TYPES="$FS_TYPES $@" |
| 87 |
;; |
| 64 |
mount) |
88 |
mount) |
| 65 |
[ -z "$FS_MOUNTS" ] && AddResumeHook 50 FilesystemsMount |
89 |
[ -z "$FS_MOUNTS" ] && AddResumeHook 50 FilesystemsMount |
| 66 |
shift |
90 |
shift |
| 67 |
FS_MOUNTS="$FS_MOUNTS $@" |
91 |
FS_MOUNTS="$FS_MOUNTS $@" |
| 68 |
;; |
92 |
;; |
|
|
93 |
unmountsleeptime) |
| 94 |
shift |
| 95 |
sleeptime="$1" |
| 96 |
;; |
| 69 |
*) |
97 |
*) |
| 70 |
return 1 |
98 |
return 1 |
| 71 |
esac |
99 |
esac |