From: Derrick Brashear Date: Mon, 5 Aug 2002 23:08:02 +0000 (+0000) Subject: STABLE12-vos-listaddrs-avoid-holes-in-index-20020805 X-Git-Tag: openafs-stable-1_2_7~56 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3665a731375f3e45b1200272e10c48ac775be6e6;p=packages%2Fo%2Fopenafs.git STABLE12-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 (cherry picked from commit 61442535baca5f81fee3dc3ed59227678b481277) --- diff --git a/src/volser/vos.c b/src/volser/vos.c index abbd426a6..1ffd712e2 100644 --- a/src/volser/vos.c +++ b/src/volser/vos.c @@ -3924,6 +3924,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; @@ -3933,8 +3944,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"); @@ -3945,7 +3959,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; }