From: Derrick Brashear Date: Mon, 5 Aug 2002 23:07:12 +0000 (+0000) Subject: vos-listaddrs-avoid-holes-in-index-20020805 X-Git-Tag: openafs-devel_1_3_3~24 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=61442535baca5f81fee3dc3ed59227678b481277 vos-listaddrs-avoid-holes-in-index-20020805 index may have holes in it, so make sure we actually walk over the number of entries we expect --- diff --git a/src/volser/vos.c b/src/volser/vos.c index 1d57a19..056048f 100644 --- a/src/volser/vos.c +++ b/src/volser/vos.c @@ -3950,6 +3950,17 @@ register struct cmd_syndesc *as; printuuid=1; } + m_addrs.bulkaddrs_val = 0; + m_addrs.bulkaddrs_len = 0; + + vcode = ubik_Call_New(VL_GetAddrs, cstruct, 0, + 0, 0, &m_unique, &nentries, &m_addrs); + if (vcode) { + fprintf(STDERR,"vos: could not list the server addresses\n"); + PrintError("",vcode); + return( vcode ); + } + m_nentries = 0; m_addrs.bulkaddrs_val = 0; m_addrs.bulkaddrs_len = 0; @@ -3959,8 +3970,11 @@ register struct cmd_syndesc *as; vcode = ubik_Call_New(VL_GetAddrsU, cstruct, 0, &m_attrs, &m_uuid, &m_unique, &m_nentries, &m_addrs); - if(vcode == VL_NOENT) - break; + if(vcode == VL_NOENT) { + i++; + nentries++; + continue; + } if (vcode) { fprintf(STDERR,"vos: could not list the server addresses\n"); @@ -3971,7 +3985,7 @@ register struct cmd_syndesc *as; print_addrs(&m_addrs, &m_uuid, m_nentries, printuuid, noresolve); i++; - if ((as->parms[1].items)||(as->parms[0].items)) + if ((as->parms[1].items)||(as->parms[0].items)||(i>nentries)) break; }