From 36d7c1cb639843bc89e5510fd7486e1b75e41aaf Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 7 May 2014 13:03:09 +0200 Subject: wait for mount points for 9 seconds, when registered in /etc/fstab --- package/samba/Makefile | 2 +- package/samba/files/samba.init | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'package') diff --git a/package/samba/Makefile b/package/samba/Makefile index a8e1bb36f..9f32076dd 100644 --- a/package/samba/Makefile +++ b/package/samba/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= samba PKG_VERSION:= 3.6.23 -PKG_RELEASE:= 4 +PKG_RELEASE:= 5 PKG_MD5SUM:= 2f7aee1dc5d31aefcb364600915b31dc PKG_DESCR:= NetBIOS/SMB file and print server PKG_SECTION:= net/fs 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 -- cgit v1.2.3