From: Dean Roehrich Date: Mon, 1 Oct 2001 21:39:50 +0000 (+0000) Subject: Add fixes from Takayuki Sasaki X-Git-Tag: v1.1.0~1205 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=ebdd1ec32c06a4d0fe7e1ad303181880c1ae9158;hp=ca1fb7f3a5f7655aaf96b1725180ae31c0681765 Add fixes from Takayuki Sasaki call mk_daemon from a different place so we don't close the dmapi device. --- diff --git a/dmapi/src/sample_hsm/migin.c b/dmapi/src/sample_hsm/migin.c index 12b04a1d..9951b991 100644 --- a/dmapi/src/sample_hsm/migin.c +++ b/dmapi/src/sample_hsm/migin.c @@ -111,6 +111,13 @@ main( logfile = LOG_DEFAULT; + /* + * Turn ourselves into a daemon + */ + error = mk_daemon(logfile); + if (error) + exit(1); + /* * Now we have our filesystem name and possibly a size threshold * to look for. Init the dmapi, and get a filesystem handle so @@ -125,13 +132,6 @@ main( exit(1); } - /* - * Turn ourselves into a daemon - */ - error = mk_daemon(logfile); - if (error) - exit(1); - /* * Set the event disposition so that our session will receive diff --git a/dmapi/src/sample_hsm/migout.c b/dmapi/src/sample_hsm/migout.c index c7a90194..d2e8b788 100644 --- a/dmapi/src/sample_hsm/migout.c +++ b/dmapi/src/sample_hsm/migout.c @@ -469,6 +469,7 @@ extract_fields( char *cp, *start; size_t len; char *hanp; + char *hanpp=NULL; /* * Skip any leading white space, and check the length @@ -505,8 +506,9 @@ extract_fields( cp += len*2; *cp = '\0'; - atohan( hanp, (void**)&handle_buf, &len ); - + atohan( hanp, (void**)&hanpp, &len ); + memcpy( handle_buf, hanpp, len); + free( hanpp ); /* skip over white space */ while (!isalnum(*cp)) diff --git a/dmapi/src/sample_hsm/wbee.c b/dmapi/src/sample_hsm/wbee.c index 95566e1a..96839557 100644 --- a/dmapi/src/sample_hsm/wbee.c +++ b/dmapi/src/sample_hsm/wbee.c @@ -453,7 +453,7 @@ clear_mrgns( size_t hlen, dm_token_t token) { - dm_region_t *rgn; + dm_region_t *rgn, *sv_rgn; u_int nregions, nret; u_int exact_flag; int i; @@ -502,6 +502,8 @@ clear_mrgns( } } + sv_rgn = rgn; + /* * Clear all the managed regions */ @@ -511,6 +513,8 @@ clear_mrgns( rgn->rg_flags = DM_REGION_NOEVENT; rgn++; } + rgn = sv_rgn; + error = dm_set_region(sid, hanp, hlen, token, nregions, rgn, &exact_flag); if (error == -1) {