mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	 c9c0d073da
			
		
	
	
		c9c0d073da
		
	
	
	
	
		
			
			Add autoconf style build infrastructure to the ZFS tree. This includes autogen.sh, configure.ac, m4 macros, some scripts/*, and makefiles for all the core ZFS components.
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| CONFIG=${CONFIG:-/etc/zfs/zdev.conf}
 | |
| PATH_ID=${PATH_ID:-/lib/udev/path_id}
 | |
| AWK=${AWK:-/bin/awk}
 | |
| 
 | |
| die() {
 | |
| 	echo "Error: $*"
 | |
| 	exit 1
 | |
| }
 | |
| 
 | |
| usage() {
 | |
| 	cat << EOF
 | |
| Usage: zpool_id [h] [-c configfile] <devpath>
 | |
|   -c    Alternate config file [default /etc/zfs/zdev.conf]
 | |
|   -d    Use path_id from device as the mapping key
 | |
|   -h    Show this message
 | |
| EOF
 | |
| 	exit 1
 | |
| }
 | |
| 
 | |
| while getopts 'c:d:h' OPTION; do
 | |
| 	case ${OPTION} in
 | |
| 	c)
 | |
| 		CONFIG=${OPTARG}
 | |
| 		;;
 | |
| 	d)
 | |
| 		DEVICE=${OPTARG}
 | |
| 		;;
 | |
| 	h)
 | |
| 		usage
 | |
| 		;;
 | |
| 	esac
 | |
| done
 | |
| 
 | |
| # Check that a device was requested
 | |
| [ -z ${DEVICE} ] && usage
 | |
| 
 | |
| # Check for the existence of a configuration file
 | |
| [ ! -f ${CONFIG} ] && die "Missing config file: ${CONFIG}"
 | |
| 
 | |
| # Use udev's path_id to generate a unique persistent key
 | |
| eval `${PATH_ID} ${DEVICE}`
 | |
| [ -z ${ID_PATH} ] && die "Missing ID_PATH for ${DEVICE}"
 | |
| 
 | |
| # Use the persistent key to lookup the zpool device id in the
 | |
| # configuration file which is of the format <device id> <key>.
 | |
| # Lines starting with #'s are treated as comments and ignored.
 | |
| # Exact matches are required, wild cards are not supported,
 | |
| # and only the first match is returned.
 | |
| ID_ZPOOL=`${AWK} "/${ID_PATH}\>/ && !/^#/ { print \\$1; exit }" ${CONFIG}`
 | |
| [ -z ${ID_ZPOOL} ] && die "Missing ID_ZPOOL for ID_PATH: ${ID_PATH}"
 | |
| 
 | |
| if [ ${ID_ZPOOL} ]; then
 | |
| 	echo "ID_PATH=${ID_PATH}"
 | |
| 	echo "ID_ZPOOL=${ID_ZPOOL}"
 | |
| 	echo "ID_ZPOOL_PATH=disk/zpool/${ID_ZPOOL}"
 | |
| fi
 | |
| 
 | |
| exit 0
 |