summaryrefslogtreecommitdiff
path: root/package/base-files/src/etc/mdev/fs
blob: e56115b79e5e62f1799dd4e4ca73b82515441c93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh
fs=$(grep -v "^#" /etc/fstab | grep "^/dev/${MDEV}[[:blank:]]"|awk '{ print $3}')
mnt=$(grep -v "^#" /etc/fstab | grep "^/dev/${MDEV}[[:blank:]]"|awk '{ print $2}')
procfs=$fs
if [ $fs = "ntfs-3g" ];then
	procfs=fuse
fi

# fstab check
adk_check() {
	grep -v "^#" /etc/fstab | grep -q "^/dev/${MDEV}[[:blank:]]"
	if [ $? -ne 0 ];then
		logger -t fs -s "Disk ${MDEV} not registered in /etc/fstab"
		exit 1
	fi
}

# filesystem check
adk_fsck() {
	[ -x /usr/sbin/fsck.$fs ] && {
		logger -t fs -s "Checking $fs filesystem on ${MDEV}"
			fsck -p -t $fs ${MDEV}
	}
}

# mount filesystem
adk_mount() {
	mkdir -p $mnt >/dev/null 2>&1
	grep $procfs /proc/filesystems >/dev/null 2>&1
	if [ $? -eq 0 ];then
		logger -t fs -s "Mounting /dev/${MDEV} to $mnt"
		mount $mnt
	else
		logger -t fs -s "Required filesystem $procfs not available"
	fi
}

case "${ACTION}" in
add)
	logger -t fs -s "Device ${MDEV} added to the system"
	adk_check
	adk_fsck
	adk_mount
	;;
esac
exit 0