Resolves: #589256
This commit is contained in:
		
							parent
							
								
									274d9d4edb
								
							
						
					
					
						commit
						d755cbc657
					
				
							
								
								
									
										74
									
								
								iscsi-initiator-utils-fix-iface-op-ret-val.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								iscsi-initiator-utils-fix-iface-op-ret-val.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,74 @@ | ||||
| diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c
 | ||||
| index b7d11b5..fcf2a3a 100644
 | ||||
| --- a/usr/iscsiadm.c
 | ||||
| +++ b/usr/iscsiadm.c
 | ||||
| @@ -465,7 +465,8 @@ static int iface_fn(void *data, node_rec_t *rec)
 | ||||
|  	return op_data->fn(op_data->data, rec); | ||||
|  } | ||||
|   | ||||
| -static int for_each_rec(struct node_rec *rec, void *data, idbm_iface_op_fn *fn)
 | ||||
| +static int __for_each_rec(int verbose, struct node_rec *rec,
 | ||||
| +			  void *data, idbm_iface_op_fn *fn)
 | ||||
|  { | ||||
|  	struct rec_op_data op_data; | ||||
|  	int nr_found = 0, rc; | ||||
| @@ -477,16 +478,25 @@ static int for_each_rec(struct node_rec *rec, void *data, idbm_iface_op_fn *fn)
 | ||||
|   | ||||
|  	rc = idbm_for_each_rec(&nr_found, &op_data, iface_fn); | ||||
|  	if (rc) { | ||||
| -		log_error("Could not execute operation on all "
 | ||||
| -			  "records. Err %d.", rc);
 | ||||
| +		if (verbose)
 | ||||
| +			log_error("Could not execute operation on all "
 | ||||
| +				  "records. Err %d.", rc);
 | ||||
|  	} else if (!nr_found) { | ||||
| -		log_error("no records found!");
 | ||||
| +		if (verbose)
 | ||||
| +			log_error("no records found!");
 | ||||
|  		rc = ENODEV; | ||||
|  	} | ||||
|   | ||||
|  	return rc; | ||||
|  } | ||||
|   | ||||
| +static int for_each_rec(struct node_rec *rec, void *data,
 | ||||
| +			idbm_iface_op_fn *fn)
 | ||||
| +{
 | ||||
| +	return __for_each_rec(1, rec, data, fn);
 | ||||
| +}
 | ||||
| +
 | ||||
| +
 | ||||
|  static int login_portals(struct node_rec *pattern_rec) | ||||
|  { | ||||
|  	struct list_head rec_list; | ||||
| @@ -1098,9 +1108,9 @@ new_fail:
 | ||||
|  		} | ||||
|   | ||||
|  		/* logout and delete records using it first */ | ||||
| -		rc = for_each_rec(rec, NULL, delete_node);
 | ||||
| -		if (rc)
 | ||||
| -			break;
 | ||||
| +		rc = __for_each_rec(0, rec, NULL, delete_node);
 | ||||
| +		if (rc && rc != ENODEV)
 | ||||
| +			goto delete_fail;
 | ||||
|   | ||||
|  		rc = iface_conf_delete(iface); | ||||
|  		if (rc) | ||||
| @@ -1167,9 +1177,11 @@ delete_fail:
 | ||||
|  		if (rc) | ||||
|  			goto update_fail; | ||||
|   | ||||
| -		rc = for_each_rec(rec, &set_param, idbm_node_set_param);
 | ||||
| -		if (rc)
 | ||||
| -			break;
 | ||||
| +		rc = __for_each_rec(0, rec, &set_param, idbm_node_set_param);
 | ||||
| +		if (rc == ENODEV)
 | ||||
| +			rc = 0;
 | ||||
| +		else if (rc)
 | ||||
| +			goto update_fail;
 | ||||
|   | ||||
|  		printf("%s updated.\n", iface->name); | ||||
|  		break; | ||||
| -- 
 | ||||
| 1.6.6.1 | ||||
| 
 | ||||
| @ -3,7 +3,7 @@ | ||||
| Summary: iSCSI daemon and utility programs | ||||
| Name: iscsi-initiator-utils | ||||
| Version: 6.2.0.872 | ||||
| Release: 7%{?dist} | ||||
| Release: 8%{?dist} | ||||
| Source0: http://people.redhat.com/mchristi/iscsi/rhel6.0/source/open-iscsi-2.0-872-rc4-bnx2i.tar.gz | ||||
| Source1: iscsid.init | ||||
| Source2: iscsidevs.init | ||||
| @ -28,6 +28,8 @@ Patch7: iscsi-initiator-utils-fix-uip-init-race.patch | ||||
| Patch8: iscsi-initiator-utils-dont-use-static.patch | ||||
| # Fix brcm nic state | ||||
| Patch9: iscsi-initiator-utils-fix-brcm-nic-state.patch | ||||
| # Fix iface op return value | ||||
| Patch10: iscsi-initiator-utils-fix-iface-op-ret-val.patch | ||||
| 
 | ||||
| Group: System Environment/Daemons | ||||
| License: GPLv2+ | ||||
| @ -65,6 +67,7 @@ developing applications that use %{name}. | ||||
| %patch7 -p1 -b .fix-uip-init-race | ||||
| %patch8 -p1 -b .dont-use-static | ||||
| %patch9 -p1 -b .fix-brcm-nic-state | ||||
| %patch10 -p1 -b .fix-iface-op-ret-val | ||||
| 
 | ||||
| %build | ||||
| cd utils/open-isns | ||||
| @ -183,6 +186,9 @@ fi | ||||
| %{_includedir}/libiscsi.h | ||||
| 
 | ||||
| %changelog | ||||
| * Mon Jul 26 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.8 | ||||
| - 589256 Re-fix iface update/delete return value. | ||||
| 
 | ||||
| * Mon Jul 12 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.7 | ||||
| - 595591 Fix nic state bug in brcm_iscsiuio. | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user