diff mbox

multipath: check setup_multipath return value.

Message ID 20110713183042.GT15149@ether.msp.redhat.com (mailing list archive)
State Deferred, archived
Headers show

Commit Message

Benjamin Marzinski July 13, 2011, 6:30 p.m. UTC
When setup_multipath() fails, it removes the map. So update_path_groups()
needs check the return value, and fail without touching the map anymore if
setup_multipath() fails.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
 multipathd/main.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Comments

Benjamin Marzinski Sept. 1, 2011, 2:50 a.m. UTC | #1
Christophe, would it be possible to get this merged?

Thanks,
-Ben

On Wed, Jul 13, 2011 at 01:30:42PM -0500, Benjamin Marzinski wrote:
> When setup_multipath() fails, it removes the map. So update_path_groups()
> needs check the return value, and fail without touching the map anymore if
> setup_multipath() fails.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
> ---
>  multipathd/main.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> Index: multipath-tools-110713/multipathd/main.c
> ===================================================================
> --- multipath-tools-110713.orig/multipathd/main.c
> +++ multipath-tools-110713/multipathd/main.c
> @@ -1060,7 +1060,8 @@ int update_path_groups(struct multipath 
>  		return 1;
>  	}
>  	dm_lib_release();
> -	setup_multipath(vecs, mpp);
> +	if (setup_multipath(vecs, mpp) != 0)
> +		return 1;
>  	sync_map_state(mpp);
>  
>  	return 0;
> 
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

Index: multipath-tools-110713/multipathd/main.c
===================================================================
--- multipath-tools-110713.orig/multipathd/main.c
+++ multipath-tools-110713/multipathd/main.c
@@ -1060,7 +1060,8 @@  int update_path_groups(struct multipath 
 		return 1;
 	}
 	dm_lib_release();
-	setup_multipath(vecs, mpp);
+	if (setup_multipath(vecs, mpp) != 0)
+		return 1;
 	sync_map_state(mpp);
 
 	return 0;