You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							48 lines
						
					
					
						
							1.1 KiB
						
					
					
				
								#!/bin/sh
							 | 
						|
								
							 | 
						|
								. /etc/init.d/globals
							 | 
						|
								
							 | 
						|
								MOUNTBASE=/mnt
							 | 
						|
								MOUNTPOINT="$MOUNTBASE/$MDEV"
							 | 
						|
								ROOTDEV=$(readlink /dev/root)
							 | 
						|
								
							 | 
						|
								# do not add or remove root device again...
							 | 
						|
								[ "$ROOTDEV" = "$MDEV" ] && exit 0
							 | 
						|
								
							 | 
						|
								if [ -e /tmp/.nomdevmount ]; then
							 | 
						|
									LOGINFO "no action on $MDEV -- /tmp/.nomdevmount exists"
							 | 
						|
									exit 0
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								case "$ACTION" in
							 | 
						|
									add)
							 | 
						|
										# TODO: check for partitions
							 | 
						|
								
							 | 
						|
										if grep -q "/dev/$MDEV" /proc/mounts; then
							 | 
						|
											LOGINFO "/dev/$MDEV already mounted - not mounting again"
							 | 
						|
											exit 0
							 | 
						|
										fi
							 | 
						|
										LOGINFO "[$ACTION] mounting /dev/$MDEV to $MOUNTPOINT"
							 | 
						|
										# remove old mountpoint symlinks we might have for this device
							 | 
						|
										rm -f $MOUNTPOINT
							 | 
						|
										mkdir -p $MOUNTPOINT
							 | 
						|
										mount -t auto /dev/$MDEV $MOUNTPOINT 2>&1 >/dev/null
							 | 
						|
										RET=$?
							 | 
						|
										if [ $RET != 0 ]; then
							 | 
						|
											LOGWARN "mount   /dev/$MDEV $MOUNTPOINT failed with $RET"
							 | 
						|
											LOGWARN "        $OUT1"
							 | 
						|
											rmdir $MOUNTPOINT
							 | 
						|
										fi
							 | 
						|
										;;
							 | 
						|
									remove)
							 | 
						|
										LOGINFO "[$ACTION] unmounting $MOUNTBASE/$MDEV"
							 | 
						|
										grep -q "^/dev/$MDEV " /proc/mounts || exit 0 # not mounted...
							 | 
						|
										umount -lf $MOUNTBASE/$MDEV
							 | 
						|
										RET=$?
							 | 
						|
										if [ $RET = 0 ]; then
							 | 
						|
											rmdir $MOUNTPOINT
							 | 
						|
										else
							 | 
						|
											LOGWARN "umount $MOUNTBASE/$MDEV failed with $RET"
							 | 
						|
										fi
							 | 
						|
										;;
							 | 
						|
								esac
							 | 
						|
								
							 |