| 
									
										
										
										
											2015-11-20 19:48:54 +03:00
										 |  |  | #!/bin/sh | 
					
						
							|  |  |  | PREREQ="mdadm mdrun multipath" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | prereqs() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |         echo "$PREREQ" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | case $1 in | 
					
						
							|  |  |  | # get pre-requisites | 
					
						
							|  |  |  | prereqs) | 
					
						
							|  |  |  |         prereqs | 
					
						
							|  |  |  |         exit 0 | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Helper functions | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | message() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |         if [ -x /bin/plymouth ] && plymouth --ping; then | 
					
						
							|  |  |  |                 plymouth message --text="$@" | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |                 echo "$@" >&2 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         return 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | udev_settle() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |         # Wait for udev to be ready, see https://launchpad.net/bugs/85640 | 
					
						
							|  |  |  |         if [ -x /sbin/udevadm ]; then | 
					
						
							|  |  |  |                 /sbin/udevadm settle --timeout=30 | 
					
						
							|  |  |  |         elif [ -x /sbin/udevsettle ]; then | 
					
						
							|  |  |  |                 /sbin/udevsettle --timeout=30 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         return 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | activate_vg() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |         # Sanity checks | 
					
						
							|  |  |  |         if [ ! -x /sbin/lvm ]; then | 
					
						
							| 
									
										
										
										
											2017-10-11 20:06:20 +03:00
										 |  |  |                 [ "$quiet" != "y" ] && message "lvm is not available" | 
					
						
							| 
									
										
										
										
											2015-11-20 19:48:54 +03:00
										 |  |  |                 return 1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # Detect and activate available volume groups | 
					
						
							|  |  |  |         /sbin/lvm vgscan | 
					
						
							|  |  |  |         /sbin/lvm vgchange -a y --sysinit | 
					
						
							|  |  |  |         return $? | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | udev_settle | 
					
						
							|  |  |  | activate_vg | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit 0 |