[Cluster-devel] [PATCH 4/5] rgmanager: Treat exit status 16 from umount as success

Fabio M. Di Nitto fdinitto at redhat.com
Wed Jul 4 11:08:48 UTC 2012


ACK, but please add Masatake YAMATO suggestion to the final patch.

Fabio

On 6/28/2012 9:57 PM, Ryan McCabe wrote:
> When the filesystem /etc lives on is completely full, umount will exit
> with exit status 16 if the umount syscall succeeded but it was unable to write
> a new mtab file because the disk is full. umount won't exit with status 16
> under any other circumstances.
> 
> This patch changes the fs.sh, clusterfs.sh, and netfs.sh resource agents
> to check treat both exit status 0 and exit status 16 as success.
> 
> Resolves: rhbz#819595
> 
> Signed-off-by: Ryan McCabe <rmccabe at redhat.com>
> ---
>  rgmanager/src/resources/clusterfs.sh |    3 ++-
>  rgmanager/src/resources/fs.sh        |    3 ++-
>  rgmanager/src/resources/netfs.sh     |    3 ++-
>  3 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/rgmanager/src/resources/clusterfs.sh b/rgmanager/src/resources/clusterfs.sh
> index 49eb724..eae1ee0 100755
> --- a/rgmanager/src/resources/clusterfs.sh
> +++ b/rgmanager/src/resources/clusterfs.sh
> @@ -793,7 +793,8 @@ stop: Could not match $OCF_RESKEY_device with a real device"
>  			ocf_log info "unmounting $dev ($mp)"
>  
>  			umount $mp
> -			if  [ $? -eq 0 ]; then
> +			retval=$?
> +			if  [ $retval -eq 0 -o $retval -eq 16 ]; then
>  				umount_failed=
>  				done=$YES
>  				continue
> diff --git a/rgmanager/src/resources/fs.sh b/rgmanager/src/resources/fs.sh
> index a98cddc..5d6bc1b 100755
> --- a/rgmanager/src/resources/fs.sh
> +++ b/rgmanager/src/resources/fs.sh
> @@ -1103,7 +1103,8 @@ stop: Could not match $OCF_RESKEY_device with a real device"
>  
>   			ocf_log info "unmounting $mp"
>  			umount $mp
> -			if  [ $? -eq 0 ]; then
> +			retval=$?
> +			if  [ $retval -eq 0 -o $retval -eq 16 ]; then
>  				umount_failed=
>  				done=$YES
>  				continue
> diff --git a/rgmanager/src/resources/netfs.sh b/rgmanager/src/resources/netfs.sh
> index 837a4c4..9f0daa4 100755
> --- a/rgmanager/src/resources/netfs.sh
> +++ b/rgmanager/src/resources/netfs.sh
> @@ -560,7 +560,8 @@ stopNFSFilesystem() {
>  			ocf_log info "unmounting $mp"
>  
>                          umount $umount_flag $mp
> -			if  [ $? -eq 0 ]; then
> +			retval=$?
> +			if  [ $retval -eq 0 -o $retval -eq 16 ]; then
>                                  umount_failed=
>                                  done=$YES
>                                  continue
> 





More information about the Cluster-devel mailing list