diff options
author | ramon <ramongomez@us.es> | 2016-04-08 09:36:48 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2016-04-08 09:36:48 +0000 |
commit | 01d425390ced0e20b320630619ea3dff749f4563 (patch) | |
tree | 38e4c212a781429ee8955d0ca6b7649cdb378b56 | |
parent | 492bf9cfb8ab1043da8f65e9576aa534a1eeedb5 (diff) |
#744: Nuevas funciones {{{ogLockDisk}}} y {{{ogUnlockDisk}}}.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4869 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-x | client/engine/Disk.lib | 70 | ||||
-rw-r--r-- | client/shared/etc/lang.ca_ES.conf | 2 | ||||
-rw-r--r-- | client/shared/etc/lang.en_GB.conf | 2 | ||||
-rw-r--r-- | client/shared/etc/lang.es_ES.conf | 2 |
4 files changed, 76 insertions, 0 deletions
diff --git a/client/engine/Disk.lib b/client/engine/Disk.lib index f7726b3e..0af97497 100755 --- a/client/engine/Disk.lib +++ b/client/engine/Disk.lib @@ -1132,6 +1132,41 @@ echo $PARTS | cut -sf5- -d" " #/** +# ogLockDisk int_ndisk +#@brief Genera un fichero de bloqueo para un disco en uso exlusivo. +#@param int_ndisk nº de orden del disco +#@return (nada) +#@exception OG_ERR_FORMAT Formato incorrecto. +#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo. +#@note El fichero de bloqueo se localiza en \c /var/lock/disk, siendo \c disk el dispositivo del disco, sustituyendo el carácter "/" por "-". +#@version 1.1.0 - Primera versión para OpenGnSys. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2016-04-07 +#*/ ## +function ogLockDisk () +{ +# Variables locales +local DISK LOCKFILE + +# Si se solicita, mostrar ayuda. +if [ "$*" == "help" ]; then + ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk" \ + "$FUNCNAME 1" + return +fi +# Error si no se recibe 1 parámetro. +[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $? + +# Obtener partición. +DISK="$(ogDiskToDev $1)" || return $? + +# Crear archivo de bloqueo exclusivo. +LOCKFILE="/var/lock/lock${DISK//\//-}" +touch $LOCKFILE +} + + +#/** # ogSetPartitionActive int_ndisk int_npartition #@brief Establece cual es la partición activa de un disco. #@param int_ndisk nº de orden del disco @@ -1462,6 +1497,41 @@ ogSetPartitionType $1 $2 $NEWTYPE #/** +# ogUnlockDisk int_ndisk +#@brief Elimina el fichero de bloqueo para un disco. +#@param int_ndisk nº de orden del disco +#@return (nada) +#@exception OG_ERR_FORMAT Formato incorrecto. +#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo. +#@note El fichero de bloqueo se localiza en \c /var/lock/disk, siendo \c disk el dispositivo del disco, sustituyendo el carácter "/" por "-". +#@version 1.1.0 - Primera versión para OpenGnSys. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2016-04-08 +#*/ ## +function ogUnlockDisk () +{ +# Variables locales +local DISK LOCKFILE + +# Si se solicita, mostrar ayuda. +if [ "$*" == "help" ]; then + ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk" \ + "$FUNCNAME 1" + return +fi +# Error si no se recibe 1 parámetro. +[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $? + +# Obtener partición. +DISK="$(ogDiskToDev $1)" || return $? + +# Borrar archivo de bloqueo exclusivo. +LOCKFILE="/var/lock/lock${DISK//\//-}" +rm -f $LOCKFILE +} + + +#/** # ogUpdatePartitionTable #@brief Fuerza al kernel releer la tabla de particiones de los discos duros #@param no requiere diff --git a/client/shared/etc/lang.ca_ES.conf b/client/shared/etc/lang.ca_ES.conf index ead87529..6f0885eb 100644 --- a/client/shared/etc/lang.ca_ES.conf +++ b/client/shared/etc/lang.ca_ES.conf @@ -208,6 +208,7 @@ MSG_HELP_ogListRegistryKeys="Lista los nombres de las subclaves incluidas en una MSG_HELP_ogListRegistryValues="Lista los nombres de los valores incluidos en una clave del registro de Windows." MSG_HELP_ogListSoftware="Lista el inventario de programas instalados en un sistema operativo." MSG_HELP_ogLock="Bloquea una partición para operación de uso exclusivo." +MSG_HELP_ogLockDisk="Bloquea un disco para operación de uso exclusivo." MSG_HELP_ogLockImage="Bloquea una imagen para operación de uso exclusivo." MSG_HELP_ogLockPartition=$MSG_HELP_ogLock MSG_HELP_ogMakeChecksumFile="Almacena la suma de comprobación de un fichero." @@ -250,6 +251,7 @@ MSG_HELP_ogUcastSendPartition="" MSG_HELP_ogUcastSyntax="" MSG_HELP_ogUnhidePartition="Hace visible una partición de Windows." MSG_HELP_ogUnlock="Desbloquea una partición tras finalizar una operación de uso exclusivo." +MSG_HELP_ogUnlockDisk="Desbloquea un disco tras finalizar una operación de uso exclusivo." MSG_HELP_ogUnlockImage="Desbloquea una imagen tras finalizar una operación de uso exclusivo." MSG_HELP_ogUnlockPartition=$MSG_HELP_ogUnlock MSG_HELP_ogUnmountAll="Desmonta todos los sistemas de archivos." diff --git a/client/shared/etc/lang.en_GB.conf b/client/shared/etc/lang.en_GB.conf index f19b9106..1b225e60 100644 --- a/client/shared/etc/lang.en_GB.conf +++ b/client/shared/etc/lang.en_GB.conf @@ -208,6 +208,7 @@ MSG_HELP_ogListRegistryKeys="Lista los nombres de las subclaves incluidas en una MSG_HELP_ogListRegistryValues="Lista los nombres de los valores incluidos en una clave del registro de Windows." MSG_HELP_ogListSoftware="Lista el inventario de programas instalados en un sistema operativo." MSG_HELP_ogLock="Bloquea una partición para operación de uso exclusivo." +MSG_HELP_ogLockDisk="Bloquea un disco para operación de uso exclusivo." MSG_HELP_ogLockImage="Bloquea una imagen para operación de uso exclusivo." MSG_HELP_ogLockPartition=$MSG_HELP_ogLock MSG_HELP_ogMakeChecksumFile="Store the file checksum." @@ -250,6 +251,7 @@ MSG_HELP_ogUcastSendPartition="" MSG_HELP_ogUcastSyntax="" MSG_HELP_ogUnhidePartition="Unhide a Windows partition." MSG_HELP_ogUnlock="Desbloquea una partición tras finalizar una operación de uso exclusivo." +MSG_HELP_ogUnlockDisk="Desbloquea un dicso tras finalizar una operación de uso exclusivo." MSG_HELP_ogUnlockImage="Desbloquea una imagen tras finalizar una operación de uso exclusivo." MSG_HELP_ogUnlockPartition=$MSG_HELP_ogUnlock MSG_HELP_ogUnmountAll="Unmount all filesystems." diff --git a/client/shared/etc/lang.es_ES.conf b/client/shared/etc/lang.es_ES.conf index da7d8db2..c12d6482 100644 --- a/client/shared/etc/lang.es_ES.conf +++ b/client/shared/etc/lang.es_ES.conf @@ -208,6 +208,7 @@ MSG_HELP_ogListRegistryKeys="Lista los nombres de las subclaves incluidas en una MSG_HELP_ogListRegistryValues="Lista los nombres de los valores incluidos en una clave del registro de Windows." MSG_HELP_ogListSoftware="Lista el inventario de programas instalados en un sistema operativo." MSG_HELP_ogLock="Bloquea una partición para operación de uso exclusivo." +MSG_HELP_ogLockDisk="Bloquea un disco para operación de uso exclusivo." MSG_HELP_ogLockImage="Bloquea una imagen para operación de uso exclusivo." MSG_HELP_ogLockPartition=$MSG_HELP_ogLock MSG_HELP_ogMakeChecksumFile="Almacena la suma de comprobación de un fichero." @@ -250,6 +251,7 @@ MSG_HELP_ogUcastSendPartition="" MSG_HELP_ogUcastSyntax="" MSG_HELP_ogUnhidePartition="Hace visible una partición de Windows." MSG_HELP_ogUnlock="Desbloquea una partición tras finalizar una operación de uso exclusivo." +MSG_HELP_ogUnlockDisk="Desbloquea un disco tras finalizar una operación de uso exclusivo." MSG_HELP_ogUnlockImage="Desbloquea una imagen tras finalizar una operación de uso exclusivo." MSG_HELP_ogUnlockPartition=$MSG_HELP_ogUnlock MSG_HELP_ogUnmountAll="Desmonta todos los sistemas de archivos." |