diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-05-07 13:03:09 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-05-07 13:03:42 +0200 |
commit | 36d7c1cb639843bc89e5510fd7486e1b75e41aaf (patch) | |
tree | 014e8382255045cd9e8dda918797306732a8dced /package/samba/files | |
parent | 3dbaf8534d28ac57b4b6f51e8552539b162d9d4a (diff) |
wait for mount points for 9 seconds, when registered in /etc/fstab
Diffstat (limited to 'package/samba/files')
-rw-r--r-- | package/samba/files/samba.init | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/package/samba/files/samba.init b/package/samba/files/samba.init index b7e370484..f181db1cd 100644 --- a/package/samba/files/samba.init +++ b/package/samba/files/samba.init @@ -3,6 +3,26 @@ #INIT 80 . /etc/rc.conf +check_mount() { + sed -n -e '/^#/d' -e '/path/s/^.*=//p' \ + /etc/samba/smb.conf | while read path; do + grep -v '^#' /etc/fstab | fgrep -q "$path" || continue + count=0 + while :; do + if fgrep -q "$path" /proc/mounts; then + logger -t smb "Device mounted, starting samba" + break + fi + if test $count -eq 9; then + logger -s "required filesystem missing" + exit 1 + fi + sleep 1 + count=$(($count+1)) + done + done +} + case $1 in autostop) ;; autostart) @@ -11,6 +31,7 @@ autostart) exec sh $0 start ;; start) + check_mount [ -d /var/run/samba ] || mkdir -p /var/run/samba [ -d /var/log/samba ] || mkdir -p /var/log/samba /usr/sbin/nmbd -D |