Re: [PATCH 4/4] osd_login: Add autologin script for objlayoutdriver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 03/16/2012 02:27 AM, Boaz Harrosh wrote:
> From: Sachin Bhamare <sbhamare@xxxxxxxxxxx>
> 
> This script is part of the autologin feature mandated by the
> pnfs-objects standard.
> It is called from objlayoutdriver.ko in the kernel.
> 
> Signed-off-by: Sachin Bhamare <sbhamare@xxxxxxxxxxx>
> Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
Committed...

steved.
> ---
>  configure.ac                |    1 +
>  utils/Makefile.am           |    1 +
>  utils/osd_login/Makefile.am |   13 +++++
>  utils/osd_login/osd_login   |  102 +++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 117 insertions(+), 0 deletions(-)
>  create mode 100644 utils/osd_login/Makefile.am
>  create mode 100755 utils/osd_login/osd_login
> 
> diff --git a/configure.ac b/configure.ac
> index 67e8d2d..011a2bf 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -467,6 +467,7 @@ AC_CONFIG_FILES([
>  	utils/nfsidmap/Makefile
>  	utils/showmount/Makefile
>  	utils/statd/Makefile
> +	utils/osd_login/Makefile
>  	tests/Makefile
>  	tests/nsm_client/Makefile])
>  AC_OUTPUT
> diff --git a/utils/Makefile.am b/utils/Makefile.am
> index d074b85..c7e5d27 100644
> --- a/utils/Makefile.am
> +++ b/utils/Makefile.am
> @@ -28,6 +28,7 @@ SUBDIRS = \
>  	nfsstat \
>  	showmount \
>  	statd \
> +	osd_login \
>  	$(OPTDIRS)
>  
>  MAINTAINERCLEANFILES = Makefile.in
> diff --git a/utils/osd_login/Makefile.am b/utils/osd_login/Makefile.am
> new file mode 100644
> index 0000000..e931e36
> --- /dev/null
> +++ b/utils/osd_login/Makefile.am
> @@ -0,0 +1,13 @@
> +## Process this file with automake to produce Makefile.in
> +
> +OSD_LOGIN_FILES= osd_login
> +
> +EXTRA_DIST= $(OSD_LOGIN_FILES)
> +
> +all-local: $(OSD_LOGIN_FILES)
> +
> +install-data-hook:
> +	$(INSTALL) --mode 755 osd_login $(DESTDIR)/sbin/osd_login
> +
> +MAINTAINERCLEANFILES = Makefile.in
> +
> diff --git a/utils/osd_login/osd_login b/utils/osd_login/osd_login
> new file mode 100755
> index 0000000..161a487
> --- /dev/null
> +++ b/utils/osd_login/osd_login
> @@ -0,0 +1,102 @@
> +#!/bin/bash
> +#
> +# osd_login : This script is part of the autologin feature
> +#             mandated by the pnfs-objects standard.
> +# It is called from objlayoutdriver.ko in the kernel.
> +
> +# Copyright (C) 2012, Sachin Bhamare <sbhamare@xxxxxxxxxxx>
> +# Copyright (C) 2012, Boaz Harrosh <bharrosh@xxxxxxxxxxx>
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License version 2 as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
> +# MA 02110-1301 USA
> +
> +umask 022
> +
> +PATH="/sbin:/usr/sbin:/bin:/usr/bin"
> +
> +iscsiadm=/sbin/iscsiadm
> +
> +protocol=""
> +portal=""
> +uri=""
> +osdname=""
> +systemid=""
> +
> +usage()
> +{
> +	echo "Usage: $0 -u <URI> -o <OSDNAME> -s <SYSTEMID>"
> +	echo "Options:"
> +	echo  "-u		target uri e.g. iscsi://<ip>:<port>"
> +	echo  "-o		osdname of the target OSD"
> +	echo  "-s 		systemid of the target OSD"
> +}
> +
> +parse_cmdline()
> +{
> +	argc=$#
> +	if [ $# -lt 3 ]; then
> +		usage
> +		exit 1
> +	fi
> +
> +	# parse the input arguments
> +	while getopts "u:o:s:" options; do
> +	    case $options in
> +		u ) uri=$OPTARG;;
> +		o ) osdname=$OPTARG;;
> +		s ) systemid=$OPTARG;;
> +		\? ) usage
> +			exit 1;;
> +		* )  usage
> +			exit 1;;
> +	    esac
> +	done
> +
> +	echo "-u : $uri"
> +	echo "-o : $osdname"
> +	echo "-s : $systemid"
> +
> +	protocol=`echo $uri | awk -F ':' '{print $1}'`
> +	portal=`echo $uri | awk -F '//' '{print $2}'`
> +}
> +
> +do_cmd()
> +{
> +	$* 2>&1 | logger &
> +}
> +
> +login_iscsi_osd()
> +{
> +	echo "osd_login: login into: $1"
> +	if ! $iscsiadm -m discovery -o nonpersistent -t sendtargets -p $1 --login; then
> +		echo "$iscsiadm -m discovery -t sendtargets -p $1 --login returned error $? !"
> +		sleep 1;
> +	fi
> +}
> +
> + echo "============= osd_login ========="
> + echo "progname : $0"
> +parse_cmdline "$@"
> +echo "protocol: $protocol"
> +echo "portal: $portal"
> +
> +case $protocol in
> +iscsi)
> +	login_iscsi_osd $portal |& logger
> +	;;
> +*)
> +	echo "osd_login: Error: protocol $protocol not supported !" | logger
> +	;;
> +esac
> +
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux