All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [COMMITTED] [PATCH] testcases: Remove dmapi
@ 2017-05-24 12:27 Cyril Hrubis
  0 siblings, 0 replies; only message in thread
From: Cyril Hrubis @ 2017-05-24 12:27 UTC (permalink / raw)
  To: ltp

The test was skipped from compilation for quite a long time, there is no
point in keeping it in the tree.

See also:
https://github.com/linux-test-project/ltp/issues/156

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
 testcases/kernel/fs/Makefile             |     6 -
 testcases/kernel/fs/dmapi/Makefile       |    59 -
 testcases/kernel/fs/dmapi/README         |   243 -
 testcases/kernel/fs/dmapi/attr.c         | 13507 -----------------------------
 testcases/kernel/fs/dmapi/config.c       |   491 --
 testcases/kernel/fs/dmapi/disp.c         |  4062 ---------
 testcases/kernel/fs/dmapi/dm_impl.h      |   158 -
 testcases/kernel/fs/dmapi/dm_test.c      |   522 --
 testcases/kernel/fs/dmapi/dm_test.h      |   171 -
 testcases/kernel/fs/dmapi/dm_vars.h      |   135 -
 testcases/kernel/fs/dmapi/event.c        |  1907 ----
 testcases/kernel/fs/dmapi/event_am.c     |  2548 ------
 testcases/kernel/fs/dmapi/event_an.c     |  3580 --------
 testcases/kernel/fs/dmapi/event_sd.c     |  7334 ----------------
 testcases/kernel/fs/dmapi/event_sn.c     |  1863 ----
 testcases/kernel/fs/dmapi/event_us.c     |  1034 ---
 testcases/kernel/fs/dmapi/handle.c       |  7051 ---------------
 testcases/kernel/fs/dmapi/hole.c         |  4616 ----------
 testcases/kernel/fs/dmapi/invis.c        |  2707 ------
 testcases/kernel/fs/dmapi/mmap.c         |  1619 ----
 testcases/kernel/fs/dmapi/mmapfile.c     |   135 -
 testcases/kernel/fs/dmapi/mount.c        |   871 --
 testcases/kernel/fs/dmapi/objref.c       |   764 --
 testcases/kernel/fs/dmapi/pmr_post.c     |  1366 ---
 testcases/kernel/fs/dmapi/pmr_pre.c      |  2579 ------
 testcases/kernel/fs/dmapi/right.c        |  2059 -----
 testcases/kernel/fs/dmapi/runtest_off.sh |    42 -
 testcases/kernel/fs/dmapi/runtest_on.sh  |    29 -
 testcases/kernel/fs/dmapi/session.c      |  1362 ---
 testcases/kernel/fs/dmapi/token.c        |   845 --
 30 files changed, 63665 deletions(-)
 delete mode 100644 testcases/kernel/fs/dmapi/Makefile
 delete mode 100644 testcases/kernel/fs/dmapi/README
 delete mode 100644 testcases/kernel/fs/dmapi/attr.c
 delete mode 100644 testcases/kernel/fs/dmapi/config.c
 delete mode 100644 testcases/kernel/fs/dmapi/disp.c
 delete mode 100644 testcases/kernel/fs/dmapi/dm_impl.h
 delete mode 100644 testcases/kernel/fs/dmapi/dm_test.c
 delete mode 100644 testcases/kernel/fs/dmapi/dm_test.h
 delete mode 100644 testcases/kernel/fs/dmapi/dm_vars.h
 delete mode 100644 testcases/kernel/fs/dmapi/event.c
 delete mode 100644 testcases/kernel/fs/dmapi/event_am.c
 delete mode 100644 testcases/kernel/fs/dmapi/event_an.c
 delete mode 100644 testcases/kernel/fs/dmapi/event_sd.c
 delete mode 100644 testcases/kernel/fs/dmapi/event_sn.c
 delete mode 100644 testcases/kernel/fs/dmapi/event_us.c
 delete mode 100644 testcases/kernel/fs/dmapi/handle.c
 delete mode 100644 testcases/kernel/fs/dmapi/hole.c
 delete mode 100644 testcases/kernel/fs/dmapi/invis.c
 delete mode 100644 testcases/kernel/fs/dmapi/mmap.c
 delete mode 100644 testcases/kernel/fs/dmapi/mmapfile.c
 delete mode 100644 testcases/kernel/fs/dmapi/mount.c
 delete mode 100644 testcases/kernel/fs/dmapi/objref.c
 delete mode 100644 testcases/kernel/fs/dmapi/pmr_post.c
 delete mode 100644 testcases/kernel/fs/dmapi/pmr_pre.c
 delete mode 100644 testcases/kernel/fs/dmapi/right.c
 delete mode 100755 testcases/kernel/fs/dmapi/runtest_off.sh
 delete mode 100755 testcases/kernel/fs/dmapi/runtest_on.sh
 delete mode 100644 testcases/kernel/fs/dmapi/session.c
 delete mode 100644 testcases/kernel/fs/dmapi/token.c

diff --git a/testcases/kernel/fs/Makefile b/testcases/kernel/fs/Makefile
index d843b48b8..caa2c2df3 100644
--- a/testcases/kernel/fs/Makefile
+++ b/testcases/kernel/fs/Makefile
@@ -23,10 +23,4 @@
 top_srcdir		?= ../../..
 
 include $(top_srcdir)/include/mk/env_pre.mk
-
-# XXX (garrcoop): Need to add autoconf checks for JFS.
-# ext4-new-features: This test need to be configured be user.
-# Please read $LTPROOT/README to see the detail information
-FILTER_OUT_DIRS		:= dmapi
-
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
diff --git a/testcases/kernel/fs/dmapi/Makefile b/testcases/kernel/fs/dmapi/Makefile
deleted file mode 100644
index 9ee7e1d44..000000000
--- a/testcases/kernel/fs/dmapi/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-#   Copyright (c) International Business Machines  Corp., 2004
-#
-#   This program is free software;  you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY;  without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
-#   the GNU General Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License
-#   along with this program;  if not, write to the Free Software
-#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-#
-
-top_srcdir		?= ../../../..
-
-include	$(top_srcdir)/include/mk/testcases.mk
-
-# dmapi_imp is platform for DMAPI implementation (currently supported: JFS)
-dmapi_imp		:= JFS
-
-# dmapi_lib is path of user space library for DMAPI implementation
-LDLIBS			+= -ljfsdm
-
-CFLAGS			+= -g -Wall -D$(dmapi_imp)
-
-#	Define USER_SPACE_FAULTS if DMAPI implementation handles user space
-#	  faults (JFS has plenty of handle code in user space, which causes
-#	  faults when invalid pointers are passed in)
-#	Define DIRECTORY_LINKS if DMAPI FS supports links on directories (JFS
-#	  does not)
-#	Define INTERIOR_HOLES if DMAPI implementation supports probing/punching
-#	  interior holes (JFS does); if not defined, only probing/punching
-#	  holes to end-of-file is supported
-#	Define MULTIPLE_REGIONS if DMAPI implementation supports multiple
-#	  interior regions (JFS does); if not defined, only one region
-#	  covering entire file is supported
-#extra_cflags = -DUSER_SPACE_FAULTS
-#extra_cflags = -DDIRECTORY_LINKS
-#extra_cflags = -DINTERIOR_HOLES
-#extra_cflags = -DMULTIPLE_REGIONS
-CFLAGS			+= -DINTERIOR_HOLES -DMULTIPLE_REGIONS
-
-cflags = $(std_cflags) $(extra_cflags)
-
-lflags = $(dmapi_lib)
-lflags_thd = $(dmapi_lib) -lpthread
-
-FILTER_OUT_MAKE_TARGETS	:= dm_test
-
-dm_test.o: dm_test.c dm_impl.h
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
-
-$(MAKE_TARGETS): %: %.o dm_test.o dm_test.h
diff --git a/testcases/kernel/fs/dmapi/README b/testcases/kernel/fs/dmapi/README
deleted file mode 100644
index 6461a6f68..000000000
--- a/testcases/kernel/fs/dmapi/README
+++ /dev/null
@@ -1,243 +0,0 @@
-
-		DMAPI Function Verification Test Bucket
-
-I. Test Bucket Introduction
-
-This test bucket tests the interfaces and events defined in the CAE
-Specification entitled "Systems Management: Data Storage Management (XDSM)
-API," which was copyrighted in February, 1997 by The Open Group.  The test
-bucket consists of 20 executables containing 1097 variations which test 59 of
-67 published DMAPIs and all JFS-supported events except DM_EVENT_NOSPACE on a
-functional level.
-
-II. Test Bucket Contents
-
-These files provide the test harness:
-
-dm_test.h	: Defines macros and constants common to all DMAPI test cases;
-		  some of the constants may be platform-dependent and should be
-		  reviewed prior to running the test bucket on a new platform
-dm_vars.h	: Defines variation number bases for all DMAPI test cases;
-		  theoretically these could all be zero, but the author
-		  believes that giving every variation a unique number makes
-		  it much easier when discussing successes/failures
-dm_impl.h	: Define implementation-dependent functions and variables
-		  common to all DMAPI test cases; these must be modified prior
-		  to running the test bucket on a new platform (note: although
-		  this is a .h file, it is really a .c file that is included by
-		  dm_test.c and is separated to make it easier to port to new
-		  platforms)
-dm_test.c	: Define functions and variables common to all DMAPI test cases
-
-These files provide the test scenarios:
-
-attr.c		: Tests dm_set_dmattr, dm_get_dmattr, dm_remove_dmattr,
-		  dm_getall_dmattr, dm_set_fileattr, dm_get_fileattr,
-		  dm_get_dirattrs, dm_set_inherit, dm_clear_inherit and
-		  dm_getall_inherit
-config.c	: Tests dm_get_config
-disp.c		: Tests dm_get_config_events, dm_set_disp, dm_getall_disp,
-		  dm_set_eventlist and dm_get_eventlist
-event.c		: Tests dm_get_events, dm_respond_event, dm_move_event and
-		  dm_pending
-event_am.c	: Tests DM_EVENT_ATTRIBUTE, DM_EVENT_CLOSE, DM_EVENT_DESTROY
-		  and dm_set_return_on_destroy
-event_an.c	: Tests DM_EVENT_POSTCREATE, DM_EVENT_POSTREMOVE,
-		  DM_EVENT_POSTRENAME, DM_EVENT_POSTSYMLINK and
-		  DM_EVENT_POSTLINK
-event_sd.c	: Tests DM_EVENT_READ, DM_EVENT_WRITE and DM_EVENT_TRUNCATE
-event_sn.c	: Tests DM_EVENT_CREATE, DM_EVENT_REMOVE, DM_EVENT_RENAME,
-		  DM_EVENT_SYMLINK and DM_EVENT_LINK
-event_us.c	: Tests DM_EVENT_USER, dm_create_userevent, dm_send_msg and
-		  dm_find_eventmsg
-handle.c	: Tests dm_path_to_handle, dm_fd_to_handle,
-		  dm_path_to_fshandle, dm_handle_to_fshandle, dm_handle_cmp,
-		  dm_handle_free, dm_handle_is_valid, dm_handle_hash,
-		  dm_handle_to_fsid, dm_handle_to_igen, dm_handle_to_ino,
-		  dm_make_handle, dm_make_fshandle, dm_handle_to_path and
-		  dm_sync_by_handle
-hole.c		: Tests dm_get_allocinfo, dm_probe_hole and dm_punch_hole
-invis.c		: Tests dm_read_invis and dm_write_invis
-mmap.c		: Tests DM_EVENT_READ and DM_EVENT_WRITE
-mmapfile.c	: Helper for mmap, invokes mmap() from a different process
-mount.c		: Tests dm_get_mountinfo
-objref.c	: Tests dm_obj_ref_hold, dm_obj_ref_rele and dm_obj_ref_query
-pmr_pre.c	: Tests dm_set_region
-pmr_post.c	: Tests dm_get_region
-right.c		: Tests dm_request_right, dm_release_right, dm_query_right,
-		  dm_upgrade_right and dm_downgrade_right
-session.c	: Tests dm_create_session, dm_destroy_session,
-		  dm_getall_sessions and dm_query_session
-token.c		: Tests dm_getall_tokens
-
-These scripts execute the test scenarios:
-
-runtest_off.sh	: Executes test scenarios that must be run off the DM-enabled
-		  file system (any directory is fine)
-runtest_on.sh	: Executes test scenarios that must be run from the root
-		  directory of the DM-enabled file system
-
-Other file(s):
-
-README		: You're looking at it
-Makefile	: Builds the test harness and scenario; the platform must be
-		  defined (i.e. JFS) to build the proper stuff in dm_impl.c,
-		  and other constants as necessary to build the proper support
-		  (i.e. MULTIPLE_REGIONS)
-
-III. Test Bucket Omissions
-
-This test bucket does not test the following DMAPIs because they are not
-supported by the originating platform (JFS):
-
-	dm_create_by_handle
-	dm_get_bulkall
-	dm_get_bulkattr
-	dm_mkdir_by_handle
-	dm_symlink_by_handle
-
-This test bucket does not fully test the following DMAPIs because they are not
-fully supported by the originating platform (JFS); in other words, these tests
-will probably need further variations to fully test their functionality as the
-current variations only test the skeleton support provided by JFS:
-
-	dm_clear_inherit
-	dm_downgrade_right
-	dm_getall_inherit
-	dm_query_right
-	dm_release_right
-	dm_request_right
-	dm_set_inherit
-	dm_upgrade_right
-
-IV. Test Bucket Execution
-
-To run this test bucket against a DMAPI-enabled partition, make sure the
-DMAPI implementation (kernel and user space code) is installed on the system
-(see Implementation-dependent Notes below) and follow these steps:
-
-	1) Untar the tarball in a directory NOT on a DMAPI-enabled partition:
-
-		tar -xvf dm_test.tar
-
-	2) Make the test bucket:
-
-		make
-
-	   NOTE: Modify dmapi_lib in Makefile to point to the user space
-	   library for the DMAPI implementation to be tested
-
-	3) If the file system is compiled as a module, make sure it is
-	    installed first:
-
-		modprobe blah
-
-	4) Run the test cases that require NOT being on a DMAPI-enabled
-	   partition:
-
-		./runtest_off.sh
-
-	5) Check the results of these test cases:
-
-		grep status *.log
-
-	6) Mount the DMAPI-enabled partition:
-
-		mount -t blah -o blah /dev/hdablah /dmapidir
-
-	7) Copy the test bucket to the root of the DMAPI-enabled partition:
-
-		cp * /dmapidir
-
-	8) Make the root of the DMAPI-enabled partition the current directory:
-
-		cd /dmapidir
-
-	9) Remove the copies of the log files just generated:
-
-		rm -f *.log
-
-	10) Run the test cases that require being on a DMAPI-enabled partition:
-
-		./runtest_on.sh
-
-	11) Check the results of these test cases:
-
-		grep status *.log
-
-V. Test Case Format
-
-The general format of a test case using the supplied test harness should be:
-
-	if (DMVAR_EXEC(variation number)) {
-		set up variation;
-		if (set up variation failed)
-			DMVAR_SKIP();
-		else {
-			execute variation;
-			if (variation successful)
-				DMVAR_PASS();
-			else
-				DMVAR_FAIL();
-			clean up variation;
-		}
-	}
-
-VI. Test Case Options
-
-Following this format will allow the tester to be able to run a variation
-individually as the variation both initializes and terminates itself.  Current
-options supported by the test harness are:
-
--runfrom n	: Defines the starting variation to begin executing from; sets
-		  a variation range to execute when used along with -runto, or
-		  runs all variations greater than or equal to n if -runto is
-		  not specified
--runto n	: Defines the stopping variation to end executing at; sets
-		  a variation range to execute when used along with -runfrom,
-		  or runs all variations less than or equal to n if -runfrom is
-		  not specified
--runonly n	: Executes only variation n
--loglevel n	: Write all messages less than or equal to n to the log file
--termlevel n	: Write all messages less than or equal to n to the terminal
--logname s	: Write all messages defined by -loglevel to the log file named
-		  s; if not defined, the default log file name is dm_logfile
-
-Options and corresponding option values MUST be separated by whitespace.  Any
-unrecognized option (that is, one starting with a dash such as -devname) and
-its option value can be obtained by using the DMOPT_GET macro (such as
-DMOPT_GET("devname")).
-
-VII. Test Case Output
-
-Each line of output generated by the DMLOG_PRINT macro is prefixed with:
-
-	[prog pid level]
-
-where:
-	prog is the name of the test program
-	pid is the decimal process identifier
-	level is the decimal logging level
-
-VIII. Test Case Notes
-
-The test bucket contains several multithreaded test cases where one thread is
-responsible for generating DMAPI events	while the other is responsible for
-receiving said events and communicating back to the generating thread what was
-or was not received.  At first semaphores were used to control thread execution
-but this lead to several deadlocks when expected events did not arrive, so
-delays (EVENT_DELIVERY_DELAY macro) were used.  This could lead to timing
-issues on some platforms, so if a variation fails make sure to check the log
-to see if the event arrived after the generating thread checked for its
-arrival.
-
-IX. Implementation-dependent Notes
-
-1) JFS
-	a) Instructions for installing DMAPI for IBM JFS can be found at
-	http://oss.software.ibm.com/jfs/.
-	b) The test case and user space library must match the architecture
-	of the kernel.  In other words, the test case and library must be
-	compiled as 32-bit if running on a 32-bit kernel, and must be compiled
-	as 64-bit if running on a 64-bit kernel.  Currently, JFS DMAPI does
-	not support a 32-bit DM app running on a 64-bit kernel.
diff --git a/testcases/kernel/fs/dmapi/attr.c b/testcases/kernel/fs/dmapi/attr.c
deleted file mode 100644
index 1bea3831e..000000000
--- a/testcases/kernel/fs/dmapi/attr.c
+++ /dev/null
@@ -1,13507 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: attr.c - DMAPI attributes
- *
- * VARIATIONS	: 204
- *
- * API'S TESTED	: dm_set_dmattr
- * 		  dm_get_dmattr
- * 		  dm_remove_dmattr
- * 		  dm_getall_dmattr
- * 		  dm_set_fileattr
- * 		  dm_get_fileattr
- * 		  dm_get_dirattrs
- * 		  dm_set_inherit
- * 		  dm_clear_inherit
- * 		  dm_getall_inherit
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/xattr.h>
-#include "dm_test.h"
-
-#define TMP_FILELEN 1000
-#define ATTR_NAME2 "DMAttr02"
-#define NUM_ATTRS 15
-#define ATTR_SMALLLEN (DWALIGN(sizeof(dm_stat_t)+1) + DWALIGN(sizeof(DUMMY_FILE)+1))
-#define MIN_ENTRYLEN (DWALIGN(sizeof(dm_stat_t)+1) + DWALIGN(sizeof(CURRENT_DIR)+1))
-#define DM_AT_ALL_DIRATTRS (DM_AT_DTIME|DM_AT_HANDLE|DM_AT_EMASK|DM_AT_PMANR|DM_AT_PATTR|DM_AT_STAT|DM_AT_CFLAG)
-#define NON_DM_ATTR_NAME "user.non-dm.attr"
-#define NON_DM_ATTR_VALUE "This is a non-DM attribute's value"
-
-/*
- * DIRENTS_FILES is very implementation-dependent, and is the number of files
- * that will just fill up the buffer passed to jfs_get_dirents; NUM_FILES
- * should be at least 3 times DIRENTS_FILES; ATTR_LISTLEN needs to be large
- * enough to contain 3 files (., .. and dummy.txt) worth of information while
- * ATTR_BIGLISTLEN needs to be large enough to contain NUM_FILES files worth
- * of information
- */
-#define DIRENTS_FILES 5
-#define NUM_FILES 15
-#define ATTR_LISTLEN 1000
-#define ATTR_BIGLISTLEN 10000
-
-char command[4096];
-char fullAttrName[32];
-dm_sessid_t sid;
-dm_size_t maxAttrSize;
-dm_size_t persInheritAttr;
-
-void LogDmStat(dm_stat_t * statdm)
-{
-
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_dev %d\n", statdm->dt_dev);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_ino %d\n", statdm->dt_ino);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_mode 0x%x\n", statdm->dt_mode);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_nlink %d\n", statdm->dt_nlink);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_uid %d\n", statdm->dt_uid);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_gid %d\n", statdm->dt_gid);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_rdev %d\n", statdm->dt_rdev);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_size %lld\n", statdm->dt_size);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_blksize %d\n", statdm->dt_blksize);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_blocks %d\n", statdm->dt_blocks);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_atime %d\n", statdm->dt_atime);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_mtime %d\n", statdm->dt_mtime);
-	DMLOG_PRINT(DMLVL_DEBUG, "    dt_ctime %d\n", statdm->dt_ctime);
-
-}
-
-void LogDmAttrs(dm_attrlist_t * attrlist)
-{
-
-	int i = 0;
-	dm_attrlist_t *attr = attrlist;
-
-	while (attr != NULL) {
-		DMLOG_PRINT(DMLVL_DEBUG, "  dmattr %d: name %.*s, value %.*s\n",
-			    i++, DM_ATTR_NAME_SIZE, attr->al_name.an_chars,
-			    DM_GET_LEN(attr, al_data), DM_GET_VALUE(attr,
-								    al_data,
-								    char *));
-		attr = DM_STEP_TO_NEXT(attr, dm_attrlist_t *);
-	}
-}
-
-void LogDirAttrs(void *attrlist, u_int mask)
-{
-	int i = 0;
-	dm_stat_t *stat = (dm_stat_t *) attrlist;
-
-	while (stat != NULL) {
-		DMLOG_PRINT(DMLVL_DEBUG, "  dirattr %d:\n", i++);
-		DMLOG_PRINT(DMLVL_DEBUG, "    dt_compname: %s\n",
-			    DM_GET_VALUE(stat, dt_compname, char *));
-		if (mask & DM_AT_HANDLE)
-			dm_LogHandle(DM_GET_VALUE(stat, dt_handle, void *),
-				     DM_GET_LEN(stat, dt_handle));
-		if (mask & DM_AT_EMASK)
-			DMLOG_PRINT(DMLVL_DEBUG, "    dt_emask: %x\n",
-				    stat->dt_emask);
-		if (mask & DM_AT_PMANR)
-			DMLOG_PRINT(DMLVL_DEBUG, "    dt_pmanreg: %s\n",
-				    stat->dt_pmanreg ? "DM_TRUE" : "DM_FALSE");
-		if (mask & DM_AT_PATTR)
-			DMLOG_PRINT(DMLVL_DEBUG, "    dt_pers: %s\n",
-				    stat->dt_pers ? "DM_TRUE" : "DM_FALSE");
-		if (mask & DM_AT_DTIME)
-			DMLOG_PRINT(DMLVL_DEBUG, "    dt_dtime: %d\n",
-				    stat->dt_dtime);
-		if (mask & DM_AT_CFLAG)
-			DMLOG_PRINT(DMLVL_DEBUG, "    dt_change: %d\n",
-				    stat->dt_change);
-		if (mask & DM_AT_STAT)
-			LogDmStat(stat);
-
-		stat = DM_STEP_TO_NEXT(stat, dm_stat_t *);
-	}
-}
-
-dm_stat_t *GetDirEntry(void *attrlist, char *compname)
-{
-
-	dm_stat_t *stat = (dm_stat_t *) attrlist;
-
-	while (stat != NULL) {
-		if (strcmp(DM_GET_VALUE(stat, dt_compname, char *), compname) ==
-		    0)
-			return stat;
-		stat = DM_STEP_TO_NEXT(stat, dm_stat_t *);
-	}
-	return NULL;
-
-}
-
-dm_stat_t *GetLastDirEntry(void *attrlist)
-{
-
-	dm_stat_t *stat = (dm_stat_t *) attrlist;
-	dm_stat_t *laststat = NULL;
-
-	while (stat != NULL) {
-		laststat = stat;
-		stat = DM_STEP_TO_NEXT(stat, dm_stat_t *);
-	}
-	return laststat;
-
-}
-
-int GetNumDirEntry(void *attrlist)
-{
-
-	dm_stat_t *stat = (dm_stat_t *) attrlist;
-	int i = 0;
-
-	while (stat != NULL) {
-		i++;
-		stat = DM_STEP_TO_NEXT(stat, dm_stat_t *);
-	}
-	return i;
-
-}
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int i;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else {
-		int fd;
-		void *fshanp;
-		size_t fshlen;
-
-		fd = open(DUMMY_TMP, O_RDWR | O_CREAT | O_TRUNC,
-			  DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < (TMP_FILELEN / DUMMY_STRLEN); i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc == 0) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-
-		rc = dm_path_to_fshandle(DUMMY_TMP, &fshanp, &fshlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_path_to_fshandle! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-
-		rc = dm_get_config(fshanp, fshlen, DM_CONFIG_MAX_ATTRIBUTE_SIZE,
-				   &maxAttrSize);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_config failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_handle_free(fshanp, fshlen);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-
-		rc = dm_get_config(fshanp, fshlen,
-				   DM_CONFIG_PERS_INHERIT_ATTRIBS,
-				   &persInheritAttr);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_config failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_handle_free(fshanp, fshlen);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-
-		dm_handle_free(fshanp, fshlen);
-
-		sprintf(fullAttrName, "%s%s", DMAPI_ATTR_PREFIX, ATTR_NAME);
-
-		/* Clean up any possible leftovers that could get in the way */
-		remove(DUMMY_SUBDIR_FILE);
-		unlink(DUMMY_SUBDIR_LINK);
-		rmdir(DUMMY_SUBDIR_SUBDIR);
-		remove(DUMMY_FILE);
-		remove(DUMMY_FILE2);
-		unlink(DUMMY_LINK);
-		rmdir(DUMMY_SUBDIR);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI attribute tests\n");
-
-	szFuncName = "dm_set_dmattr";
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, &attrname, 0,
-					   sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, &attrname, 0,
-					   sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, INVALID_ADDR,
-					   &attrname, 0, sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid attrnamep
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #10 (0 return code from strnlen_user
-	 * ignored, which indicated fault)
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrnamep)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   (dm_attrname_t *) INVALID_ADDR, 0,
-					   sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, INVALID_ADDR, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf),
-					   (void *)INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - empty attrname
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(empty attrname)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - zero buflen
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN], value[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(zero buflen)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, 0, NULL);
-			if (rc == 0) {
-				if ((rc =
-				     getxattr(DUMMY_FILE, fullAttrName, value,
-					      sizeof(value))) == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected attribute length (%d vs %d)\n",
-						    szFuncName, 0, 0, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - maximum buflen
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char *buf, *value;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((buf = malloc(maxAttrSize)) == NULL) {
-			/* No clean up */
-		} else if ((memset(buf, '1', maxAttrSize) == NULL) ||
-			   ((value = malloc(maxAttrSize)) == NULL)) {
-			free(buf);
-		} else if ((memset(value, 0, maxAttrSize) == NULL) ||
-			   ((rc = system(command)) == -1)) {
-			free(value);
-			free(buf);
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-			free(value);
-			free(buf);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			free(value);
-			free(buf);
-		}
-		if (fd == -1 || rc == -1 || buf == NULL || value == NULL) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(max buflen)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, maxAttrSize, buf);
-			if (rc == 0) {
-				if ((rc =
-				     getxattr(DUMMY_FILE, fullAttrName, value,
-					      maxAttrSize)) == maxAttrSize) {
-					if (memcmp(buf, value, maxAttrSize) ==
-					    0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected attribute value (%s vs %s)\n",
-							    szFuncName, 0, buf,
-							    value);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected attribute length (%d vs %d)\n",
-						    szFuncName, 0, maxAttrSize,
-						    rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			free(buf);
-			free(value);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - buflen too big
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char *buf;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((buf = malloc(maxAttrSize + 1)) == NULL) {
-			/* No clean up */
-		} else if ((memset(buf, '2', maxAttrSize + 1) == NULL) ||
-			   ((rc = system(command)) == -1)) {
-			free(buf);
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-			free(buf);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			free(buf);
-		}
-		if (fd == -1 || rc == -1 || buf == NULL) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(buflen too big)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, maxAttrSize + 1, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			free(buf);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - one file attribute, setdtime zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 12)) {
-		int fd;
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(one file attr, setdtime zero)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime == statfs2.st_ctime)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and dtime unmodified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime modified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - one file attribute, setdtime non-zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 13)) {
-		int fd;
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(one file attr, setdtime non-zero)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 1, sizeof(buf), buf);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime != statfs2.st_ctime)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and dtime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - two file attributes
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		int buf2 = INVALID_ADDR;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(two file attr)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			if (rc == 0) {
-				memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-				memcpy(attrname.an_chars, ATTR_NAME2,
-				       DM_ATTR_NAME_SIZE);
-				rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-						   &attrname, 0, sizeof(buf2),
-						   (void *)&buf2);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - multiple file attributes
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 15)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(multiple file attr)\n",
-				    szFuncName);
-			for (i = 1; (i <= NUM_ATTRS) && (rc == 0); i++) {
-				memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-				memcpy(attrname.an_chars, ATTR_NAME,
-				       DM_ATTR_NAME_SIZE);
-				attrname.an_chars[DM_ATTR_NAME_SIZE - 2] =
-				    '0' + (i / 10);
-				attrname.an_chars[DM_ATTR_NAME_SIZE - 1] =
-				    '0' + (i % 10);
-				DMLOG_PRINT(DMLVL_DEBUG, "%s(%.*s)\n",
-					    szFuncName, DM_ATTR_NAME_SIZE,
-					    attrname.an_chars);
-				rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-						   &attrname, 0, sizeof(buf),
-						   buf);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - replace file attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 16)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN], value[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(attrname), &attrname)) == -1)
-			||
-			((rc =
-			  (getxattr
-			   (DUMMY_FILE, fullAttrName, value,
-			    sizeof(value)) == sizeof(attrname)) ? 0 : -1) == -1)
-			||
-			((rc =
-			  (memcmp(&attrname, value, sizeof(attrname)) ==
-			   0) ? 0 : -1) == -1)) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(replace file attr)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			if (rc == 0) {
-				if ((rc =
-				     getxattr(DUMMY_FILE, fullAttrName, value,
-					      sizeof(value))) ==
-				    ATTR_VALUELEN) {
-					if (memcmp(buf, value, sizeof(buf)) ==
-					    0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected attribute value (%s vs %s)\n",
-							    szFuncName, 0, buf,
-							    value);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected attribute length (%d vs %d)\n",
-						    szFuncName, 0,
-						    ATTR_VALUELEN, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - one directory attribute, setdtime zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 17)) {
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			rmdir(DUMMY_SUBDIR);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(one dir attr, setdtime zero)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime == statfs2.st_ctime)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and dtime unmodified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime modified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - one directory attribute, setdtime non-zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 18)) {
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			rmdir(DUMMY_SUBDIR);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(one dir attr, setdtime non-zero)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 1, sizeof(buf), buf);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime != statfs2.st_ctime)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and dtime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 19)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 20)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, &attrname, 0,
-					   sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 21)) {
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_set_dmattr(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_NO_TOKEN, &attrname, 0, sizeof(buf), buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_set_dmattr - invalidated hanp
-	 * EXPECTED: rc = -1, errno = BADF
-	 */
-	if (DMVAR_EXEC(SET_DMATTR_BASE + 22)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_get_dmattr";
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, &attrname, sizeof(buf),
-					   buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, &attrname, sizeof(buf),
-					   buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, INVALID_ADDR,
-					   &attrname, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid attrnamep
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrnamep)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   (dm_attrname_t *) INVALID_ADDR,
-					   sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 1, buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-			DMLOG_PRINT(DMLVL_DEBUG, "rlen %d\n");
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #13 (attrname not null-terminated)
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf),
-					   (void *)INVALID_ADDR, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "rc = %d, %s", rc, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf,
-					   (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - zero buflen, zero attribute length
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, 0, NULL)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(zero buflen, zero attr len)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, NULL, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - zero buflen, non-zero attribute length
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(zero buflen, non-zero attr len)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, NULL, &rlen);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n",
-						    rlen);
-					if (rlen == ATTR_VALUELEN) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d\n",
-							    szFuncName, -1,
-							    E2BIG);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected rlen (%d vs %d)\n",
-							    szFuncName, -1,
-							    E2BIG, rlen,
-							    ATTR_VALUELEN);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, -1, E2BIG);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, -1);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - attribute not exist
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(attr not exist)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - buf too small
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(buflen too small)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf) - 1, buf,
-					   &rlen);
-			if (rc == -1 && errno == E2BIG) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-			}
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 13)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				if (rlen == ATTR_VALUELEN) {
-					if (memcmp
-					    (buf, ATTR_VALUE,
-					     ATTR_VALUELEN) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and rlen = %d but unexpected buf %s",
-							    szFuncName, 0, rlen,
-							    buf);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen = %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - maximum buflen
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char *buf;
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((buf = malloc(maxAttrSize)) == NULL) {
-			/* No clean up */
-		} else if ((memset(buf, '3', maxAttrSize) == NULL) ||
-			   ((rc = system(command)) == -1)) {
-			free(buf);
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			free(buf);
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			free(buf);
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, maxAttrSize, buf)) == -1) {
-			free(buf);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || buf == NULL) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(max buflen)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, maxAttrSize, buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				if (rlen == maxAttrSize) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen (%d vs %d)\n",
-						    szFuncName, 0, rlen,
-						    maxAttrSize);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			free(buf);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 15)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				if (rlen == ATTR_VALUELEN) {
-					if (memcmp
-					    (buf, ATTR_VALUE,
-					     ATTR_VALUELEN) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and rlen = %d but unexpected buf %s",
-							    szFuncName, 0, rlen,
-							    buf);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen = %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 16)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 17)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, &attrname, sizeof(buf),
-					   buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 18)) {
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_get_dmattr(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_NO_TOKEN, &attrname, sizeof(buf), buf,
-				   &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_dmattr - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_DMATTR_BASE + 19)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc == remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_get_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_remove_dmattr";
-
-	/*
-	 * TEST    : dm_remove_dmattr - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, 0, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, (void *)INVALID_ADDR, hlen,
-					      DM_NO_TOKEN, 0, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, 0, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, INVALID_ADDR, 0,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - invalid attrnamep
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrnamep)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      (dm_attrname_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - attribute not exist
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(attr not exist)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - file attribute, setdtime zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 7)) {
-		int fd;
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file attr, setdtime zero)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      &attrname);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if (((rc =
-				      dm_get_dmattr(sid, hanp, hlen,
-						    DM_NO_TOKEN, &attrname,
-						    sizeof(buf), buf,
-						    &rlen)) == -1)
-				    && (errno == ENOENT)) {
-					if ((rc2 == 0)
-					    && (statfs1.st_ctime ==
-						statfs2.st_ctime)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and dtime unmodified\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but dtime modified (%d vs %d)\n",
-							    szFuncName, 0,
-							    statfs1.st_ctime,
-							    statfs2.st_ctime);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but attr still exist (errno = %d)\n",
-						    szFuncName, 0, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - file attribute, setdtime non-zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 8)) {
-		int fd;
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file attr, setdtime non-zero)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 1,
-					      &attrname);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if (((rc =
-				      dm_get_dmattr(sid, hanp, hlen,
-						    DM_NO_TOKEN, &attrname,
-						    sizeof(buf), buf,
-						    &rlen)) == -1)
-				    && (errno == ENOENT)) {
-					if ((rc2 == 0)
-					    && (statfs1.st_ctime !=
-						statfs2.st_ctime)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and dtime modified\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but dtime unmodified (%d vs %d)\n",
-							    szFuncName, 0,
-							    statfs1.st_ctime,
-							    statfs2.st_ctime);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but attr still exist (errno = %d)\n",
-						    szFuncName, 0, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - directory attribute, setdtime zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 9)) {
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir attr, setdtime zero)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      &attrname);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if (((rc =
-				      dm_get_dmattr(sid, hanp, hlen,
-						    DM_NO_TOKEN, &attrname,
-						    sizeof(buf), buf,
-						    &rlen)) == -1)
-				    && (errno == ENOENT)) {
-					if ((rc2 == 0)
-					    && (statfs1.st_ctime ==
-						statfs2.st_ctime)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and dtime unmodified\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but dtime modified (%d vs %d)\n",
-							    szFuncName, 0,
-							    statfs1.st_ctime,
-							    statfs2.st_ctime);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but attr still exist (errno = %d)\n",
-						    szFuncName, 0, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - directory attribute, setdtime non-zero
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 10)) {
-		int rc2;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		size_t rlen;
-		struct stat statfs1, statfs2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			TIMESTAMP_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir attr, setdtime non-zero)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 1,
-					      &attrname);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if (((rc =
-				      dm_get_dmattr(sid, hanp, hlen,
-						    DM_NO_TOKEN, &attrname,
-						    sizeof(buf), buf,
-						    &rlen)) == -1)
-				    && (errno == ENOENT)) {
-					if ((rc2 == 0)
-					    && (statfs1.st_ctime !=
-						statfs2.st_ctime)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and dtime modified\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but dtime unmodified (%d vs %d)\n",
-							    szFuncName, 0,
-							    statfs1.st_ctime,
-							    statfs2.st_ctime);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but attr still exist (errno = %d)\n",
-						    szFuncName, 0, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 11)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, 0, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 13)) {
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_remove_dmattr(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      DM_NO_TOKEN, 0, &attrname);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_remove_dmattr - invalidated handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(REMOVE_DMATTR_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated handle)\n",
-				    szFuncName);
-			rc = dm_remove_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_getall_dmattr";
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, (void *)INVALID_ADDR, hlen,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, INVALID_ADDR,
-					      sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(buflen too small)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN, 1,
-					      buf, &rlen);
-			if (rc == -1 && errno == E2BIG) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-			}
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), (void *)INVALID_ADDR,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf,
-					      (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - no file attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(no file attr)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				if (rlen == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - one file attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, ATTR_VALUELEN, buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one file attr)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				LogDmAttrs((dm_attrlist_t *) buf);
-				if (rlen ==
-				    DWALIGN(sizeof(dm_attrlist_t) +
-					    ATTR_VALUELEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d) %d\n",
-					    szFuncName, rc, errno, rlen);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - two file attributes
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, ATTR_VALUELEN, buf)) == -1)
-			|| (memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE) ==
-			    NULL)
-			||
-			(memcpy
-			 (attrname.an_chars, ATTR_NAME2,
-			  DM_ATTR_NAME_SIZE) == NULL)
-			||
-			((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, ATTR_VALUELEN, buf)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(two file attr)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				LogDmAttrs((dm_attrlist_t *) buf);
-				if (rlen ==
-				    2 * DWALIGN(sizeof(dm_attrlist_t) +
-						ATTR_VALUELEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d) %d\n",
-					    szFuncName, rc, errno, rlen);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - multiple file attributes
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		size_t len;
-		size_t totlen;
-		int i;
-		void *totbuf;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		for (i = 0, len = 0, totlen = 0; i < NUM_ATTRS && rc == 0; i++) {
-			memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-			memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-			attrname.an_chars[DM_ATTR_NAME_SIZE - 2] =
-			    '0' + (i / 10);
-			attrname.an_chars[DM_ATTR_NAME_SIZE - 1] =
-			    '0' + (i % 10);
-			memcpy(buf + len, DUMMY_STRING, DUMMY_STRLEN);
-			len += DUMMY_STRLEN;
-			totlen += DWALIGN(len + sizeof(dm_attrlist_t));
-			rc = dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, len, buf);
-		}
-		if (rc != -1) {
-			if ((totbuf = malloc(totlen)) == NULL) {
-				close(fd);
-				remove(DUMMY_FILE);
-			}
-		}
-		if (fd == -1 || rc == -1 || totbuf == NULL) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(%d file attr)\n",
-				    szFuncName, NUM_ATTRS);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      totlen, totbuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				LogDmAttrs((dm_attrlist_t *) totbuf);
-				if (rlen == totlen) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d) %d\n",
-					    szFuncName, rc, errno, rlen);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			free(totbuf);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - one file attribute with non-DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, ATTR_VALUELEN, buf)) == -1)
-			||
-			((rc =
-			  setxattr(DUMMY_FILE, NON_DM_ATTR_NAME,
-				   NON_DM_ATTR_VALUE, sizeof(NON_DM_ATTR_VALUE),
-				   0)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(one file attr with non-DM attr)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				LogDmAttrs((dm_attrlist_t *) buf);
-				if (rlen ==
-				    DWALIGN(sizeof(dm_attrlist_t) +
-					    ATTR_VALUELEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d) %d\n",
-					    szFuncName, rc, errno, rlen);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - one directory attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 13)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No claen up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, ATTR_VALUELEN, buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one dir attr)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				LogDmAttrs((dm_attrlist_t *) buf);
-				if (rlen ==
-				    DWALIGN(sizeof(dm_attrlist_t) +
-					    ATTR_VALUELEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, 0, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d) %d\n",
-					    szFuncName, rc, errno, rlen);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 14)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 15)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 16)) {
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_getall_dmattr(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      DM_NO_TOKEN, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_getall_dmattr - invalidated handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GETALL_DMATTR_BASE + 17)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, ATTR_VALUELEN, buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated handle)\n",
-				    szFuncName);
-			rc = dm_getall_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_set_fileattr";
-
-	/*
-	 * TEST    : dm_set_fileattr - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(INVALID_ADDR, hanp, hlen,
-					     DM_NO_TOKEN, DM_AT_UID, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, (void *)INVALID_ADDR, hlen,
-					     DM_NO_TOKEN, DM_AT_UID, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, INVALID_ADDR,
-					     DM_NO_TOKEN, DM_AT_UID, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, INVALID_ADDR,
-					     DM_AT_UID, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - invalid mask
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #20 (0 returned instead of -1 and
-	 * EINVAL errno)
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid mask)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_HANDLE, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - invalid attrp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrp)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_UID,
-					     (dm_fileattr_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_ATIME on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_atime = DUMMY_TIME;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_ATIME)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_ATIME, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_atime != statfs2.st_atime)
-				    && (statfs2.st_atime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and atime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but atime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_atime,
-						    statfs2.st_atime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_MTIME on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_mtime = DUMMY_TIME;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_MTIME)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_MTIME, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_mtime != statfs2.st_mtime)
-				    && (statfs2.st_mtime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and mtime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but mtime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_mtime,
-						    statfs2.st_mtime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_CTIME on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_ctime = DUMMY_TIME;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_CTIME)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_CTIME, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime != statfs2.st_ctime)
-				    && (statfs2.st_ctime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and ctime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but ctime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_DTIME on file with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		fileattr.fa_dtime = DUMMY_TIME;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, ATTR_VALUELEN, buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_DTIME with attr)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime != statfs2.st_ctime)
-				    && (statfs2.st_ctime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and ctime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but ctime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_DTIME on file without DM attr
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #21 (dtime updated without any DM
-	 * attributes)
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_dtime = DUMMY_TIME;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_DTIME without attr)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime == statfs2.st_ctime)
-				    && (statfs2.st_ctime != DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and ctime unmodified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but ctime modified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_UID on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_UID)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_UID, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_uid != statfs2.st_uid)
-				    && (statfs2.st_uid == DUMMY_UID)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and uid modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but uid unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_uid,
-						    statfs2.st_uid);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_GID on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 13)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_gid = DUMMY_GID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_GID)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_GID, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_gid != statfs2.st_gid)
-				    && (statfs2.st_gid == DUMMY_GID)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and gid modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but gid unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_gid,
-						    statfs2.st_gid);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_MODE on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_mode = DUMMY_MODE;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_MODE)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_MODE, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_mode != statfs2.st_mode)
-				    && ((statfs2.st_mode & MODE_MASK) ==
-					DUMMY_MODE)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and mode modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but mode unmodified (%x vs %x)\n",
-						    szFuncName, 0,
-						    statfs1.st_mode,
-						    statfs2.st_mode);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_SIZE on file, shrink
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 15)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_size = TMP_FILELEN / 2;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_SIZE, shrink)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_SIZE, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_size != statfs2.st_size)
-				    && (statfs2.st_size == TMP_FILELEN / 2)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and size modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but size unmodified (%x vs %x)\n",
-						    szFuncName, 0,
-						    statfs1.st_size,
-						    statfs2.st_size);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_SIZE on file, expand
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 16)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_size = TMP_FILELEN * 2;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_SIZE, expand)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_SIZE, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_size != statfs2.st_size)
-				    && (statfs2.st_size == TMP_FILELEN * 2)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and size modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but size unmodified (%x vs %x)\n",
-						    szFuncName, 0,
-						    statfs1.st_size,
-						    statfs2.st_size);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 17)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_FILE, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_UID, &fileattr);
-			rc2 |= stat(DUMMY_FILE, &statfs2);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_ATIME on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 18)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_atime = DUMMY_TIME;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_ATIME)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_ATIME, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_atime != statfs2.st_atime)
-				    && (statfs2.st_atime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and atime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but atime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_atime,
-						    statfs2.st_atime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_MTIME on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 19)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_mtime = DUMMY_TIME;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_MTIME)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_MTIME, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_mtime != statfs2.st_mtime)
-				    && (statfs2.st_mtime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and mtime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but mtime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_mtime,
-						    statfs2.st_mtime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_CTIME on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 20)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_ctime = DUMMY_TIME;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_CTIME)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_CTIME, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime != statfs2.st_ctime)
-				    && (statfs2.st_ctime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and ctime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but ctime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_DTIME on directory with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 21)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		dm_attrname_t attrname;
-		char buf[ATTR_LISTLEN];
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		fileattr.fa_dtime = DUMMY_TIME;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, ATTR_VALUELEN, buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir DM_AT_DTIME with attr)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime != statfs2.st_ctime)
-				    && (statfs2.st_ctime == DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and ctime modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but ctime unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_DTIME on directory without DM attribute
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 22)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_dtime = DUMMY_TIME;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir DM_AT_DTIME without attr)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_ctime == statfs2.st_ctime)
-				    && (statfs2.st_ctime != DUMMY_TIME)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and ctime unmodified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but ctime modified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_ctime,
-						    statfs2.st_ctime);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_UID on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 23)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_UID)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_UID, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_uid != statfs2.st_uid)
-				    && (statfs2.st_uid == DUMMY_UID)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and uid modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but uid unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_uid,
-						    statfs2.st_uid);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_GID on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 24)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_gid = DUMMY_GID;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_GID)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_GID, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_gid != statfs2.st_gid)
-				    && (statfs2.st_gid == DUMMY_GID)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and gid modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but gid unmodified (%d vs %d)\n",
-						    szFuncName, 0,
-						    statfs1.st_gid,
-						    statfs2.st_gid);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_AT_MODE on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 25)) {
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-		struct stat statfs1, statfs2;
-		int rc2;
-
-		/* Variation set up */
-		fileattr.fa_mode = DUMMY_MODE;
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			rc2 = stat(DUMMY_SUBDIR, &statfs1);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_MODE)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_MODE, &fileattr);
-			rc2 |= stat(DUMMY_SUBDIR, &statfs2);
-			if (rc == 0) {
-				if ((rc2 == 0)
-				    && (statfs1.st_mode != statfs2.st_mode)
-				    && ((statfs2.st_mode & MODE_MASK) ==
-					DUMMY_MODE)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and mode modified\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but mode unmodified (%x vs %x)\n",
-						    szFuncName, 0,
-						    statfs1.st_mode,
-						    statfs2.st_mode);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 26)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(DM_NO_SESSION, hanp, hlen,
-					     DM_NO_TOKEN, DM_AT_UID, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 27)) {
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_set_fileattr(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				     DM_NO_TOKEN, DM_AT_UID, &fileattr);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_set_fileattr - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_FILEATTR_BASE + 28)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_fileattr_t fileattr;
-
-		/* Variation set up */
-		fileattr.fa_uid = DUMMY_UID;
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_set_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_UID, &fileattr);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_get_fileattr";
-
-	/*
-	 * TEST    : dm_get_fileattr - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(INVALID_ADDR, hanp, hlen,
-					     DM_NO_TOKEN, DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, (void *)INVALID_ADDR, hlen,
-					     DM_NO_TOKEN, DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, INVALID_ADDR,
-					     DM_NO_TOKEN, DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, INVALID_ADDR,
-					     DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - invalid mask
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #22 (0 returned instead of -1 and
-	 * EINVAL errno)
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid mask)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_HANDLE, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - invalid statp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid statp)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK,
-					     (dm_stat_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_EMASK on file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, eventset);
-		DMEV_SET(DM_EVENT_CLOSE, eventset);
-		DMEV_SET(DM_EVENT_DESTROY, eventset);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					  &eventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_EMASK)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &stat);
-			if (rc == 0) {
-				if (memcmp
-				    (&eventset, &stat.dt_emask,
-				     sizeof(dm_eventset_t)) == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected emask (%llx vs %llx)\n",
-						    szFuncName, 0, eventset,
-						    stat.dt_emask);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(eventset);
-			rc |=
-			    dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					     &eventset, DM_EVENT_MAX);
-			rc |= close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_PMANR with region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_region_t region = { 0, 0, DM_REGION_READ };
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, 1, &region,
-				       &exactflag)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_PMANR with region)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PMANR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pmanreg == DM_TRUE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pmanreg (%d vs %d)\n",
-						    szFuncName, 0, DM_TRUE,
-						    stat.dt_pmanreg);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_PMANR without region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_PMANR without region)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PMANR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pmanreg == DM_FALSE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pmanreg (%d vs %d)\n",
-						    szFuncName, 0, DM_FALSE,
-						    stat.dt_pmanreg);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_PATTR with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_PATTR with attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PATTR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pers == DM_TRUE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pers (%d vs %d)\n",
-						    szFuncName, 0, DM_TRUE,
-						    stat.dt_pers);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_PATTR without DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_PATTR without attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PATTR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pers == DM_FALSE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pers (%d vs %d)\n",
-						    szFuncName, 0, DM_FALSE,
-						    stat.dt_pers);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_DTIME with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			stat.dt_dtime = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_DTIME with attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &stat);
-			if (rc == 0) {
-				if (stat.dt_dtime != 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime not set\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_DTIME without DM attribute
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #23 (dtime updated without any DM
-	 * attributes)
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 13)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			stat.dt_dtime = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file DM_AT_DTIME without attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &stat);
-			if (rc == 0) {
-				if (stat.dt_dtime == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime set\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - file DM_AT_STAT
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t statdm;
-		struct stat statfs;
-		int varStatus;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = stat(DUMMY_FILE, &statfs)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file DM_AT_STAT)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &statdm);
-			if (rc == 0) {
-				varStatus = DMSTAT_PASS;
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s returned expected rc = %d\n",
-					    szFuncName, rc);
-				if (statfs.st_dev != statdm.dt_dev) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching dev (%lld vs %lld)\n",
-						    szFuncName, statfs.st_dev,
-						    statdm.dt_dev);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_ino != statdm.dt_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching ino (%lld vs %lld)\n",
-						    szFuncName, statfs.st_ino,
-						    statdm.dt_ino);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_mode != statdm.dt_mode) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching mode (%d vs %d)\n",
-						    szFuncName, statfs.st_mode,
-						    statdm.dt_mode);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_nlink != statdm.dt_nlink) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching nlink (%d vs %d)\n",
-						    szFuncName, statfs.st_nlink,
-						    statdm.dt_nlink);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_uid != statdm.dt_uid) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching uid (%d vs %d)\n",
-						    szFuncName, statfs.st_uid,
-						    statdm.dt_uid);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_gid != statdm.dt_gid) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching gid (%d vs %d)\n",
-						    szFuncName, statfs.st_gid,
-						    statdm.dt_gid);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_rdev != statdm.dt_rdev) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching rdev (%lld vs %lld)\n",
-						    szFuncName, statfs.st_rdev,
-						    statdm.dt_rdev);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_size != statdm.dt_size) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching size (%lld vs %lld)\n",
-						    szFuncName, statfs.st_size,
-						    statdm.dt_size);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_atime != statdm.dt_atime) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching atime (%d vs %d)\n",
-						    szFuncName, statfs.st_atime,
-						    statdm.dt_atime);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_mtime != statdm.dt_mtime) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching mtime (%d vs %d)\n",
-						    szFuncName, statfs.st_mtime,
-						    statdm.dt_mtime);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_ctime != statdm.dt_ctime) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching ctime (%d vs %d)\n",
-						    szFuncName, statfs.st_ctime,
-						    statdm.dt_ctime);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_blksize != statdm.dt_blksize) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching blksize (%d vs %d)\n",
-						    szFuncName,
-						    statfs.st_blksize,
-						    statdm.dt_blksize);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_blocks != statdm.dt_blocks) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching blocks (%lld vs %lld)\n",
-						    szFuncName,
-						    statfs.st_blocks,
-						    statdm.dt_blocks);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_EMASK on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 15)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, eventset);
-		DMEV_SET(DM_EVENT_CLOSE, eventset);
-		DMEV_SET(DM_EVENT_DESTROY, eventset);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					  &eventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_EMASK)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &stat);
-			if (rc == 0) {
-				if (memcmp
-				    (&eventset, &stat.dt_emask,
-				     sizeof(dm_eventset_t)) == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected emask (%llx vs %llx)\n",
-						    szFuncName, 0, eventset,
-						    stat.dt_emask);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(eventset);
-			rc |=
-			    dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					     &eventset, DM_EVENT_MAX);
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_PMANR on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 16)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_PMANR)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PMANR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pmanreg == DM_FALSE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pmanreg (%d vs %d)\n",
-						    szFuncName, 0, DM_FALSE,
-						    stat.dt_pmanreg);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_PATTR on directory with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 17)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir DM_AT_PATTR with attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PATTR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pers == DM_TRUE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pers (%d vs %d)\n",
-						    szFuncName, 0, DM_TRUE,
-						    stat.dt_pers);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_PATTR on directory without DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 18)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir DM_AT_PATTR without attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_PATTR, &stat);
-			if (rc == 0) {
-				if (stat.dt_pers == DM_FALSE) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected pers (%d vs %d)\n",
-						    szFuncName, 0, DM_FALSE,
-						    stat.dt_pers);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_DTIME on directory with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 19)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			stat.dt_dtime = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir DM_AT_DTIME with attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &stat);
-			if (rc == 0) {
-				if (stat.dt_dtime != 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime not set\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_DTIME on directory without DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 20)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			stat.dt_dtime = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(dir DM_AT_DTIME without attr)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &stat);
-			if (rc == 0) {
-				if (stat.dt_dtime == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but dtime set\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_AT_STAT on directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 21)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t statdm;
-		struct stat statfs;
-		int varStatus;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = stat(DUMMY_SUBDIR, &statfs)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir DM_AT_STAT)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &statdm);
-			if (rc == 0) {
-				varStatus = DMSTAT_PASS;
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s returned expected rc = %d\n",
-					    szFuncName, rc);
-				if (statfs.st_dev != statdm.dt_dev) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching dev (%lld vs %lld)\n",
-						    szFuncName, statfs.st_dev,
-						    statdm.dt_dev);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_ino != statdm.dt_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching ino (%lld vs %lld)\n",
-						    szFuncName, statfs.st_ino,
-						    statdm.dt_ino);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_mode != statdm.dt_mode) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching mode (%d vs %d)\n",
-						    szFuncName, statfs.st_mode,
-						    statdm.dt_mode);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_nlink != statdm.dt_nlink) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching nlink (%d vs %d)\n",
-						    szFuncName, statfs.st_nlink,
-						    statdm.dt_nlink);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_uid != statdm.dt_uid) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching uid (%d vs %d)\n",
-						    szFuncName, statfs.st_uid,
-						    statdm.dt_uid);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_gid != statdm.dt_gid) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching gid (%d vs %d)\n",
-						    szFuncName, statfs.st_gid,
-						    statdm.dt_gid);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_rdev != statdm.dt_rdev) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching rdev (%lld vs %lld)\n",
-						    szFuncName, statfs.st_rdev,
-						    statdm.dt_rdev);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_size != statdm.dt_size) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching size (%lld vs %lld)\n",
-						    szFuncName, statfs.st_size,
-						    statdm.dt_size);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_atime != statdm.dt_atime) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching atime (%d vs %d)\n",
-						    szFuncName, statfs.st_atime,
-						    statdm.dt_atime);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_mtime != statdm.dt_mtime) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching mtime (%d vs %d)\n",
-						    szFuncName, statfs.st_mtime,
-						    statdm.dt_mtime);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_ctime != statdm.dt_ctime) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching ctime (%d vs %d)\n",
-						    szFuncName, statfs.st_ctime,
-						    statdm.dt_ctime);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_blksize != statdm.dt_blksize) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching blksize (%d vs %d)\n",
-						    szFuncName,
-						    statfs.st_blksize,
-						    statdm.dt_blksize);
-					varStatus = DMSTAT_FAIL;
-				}
-				if (statfs.st_blocks != statdm.dt_blocks) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with nonmatching blocks (%lld vs %lld)\n",
-						    szFuncName,
-						    statfs.st_blocks,
-						    statdm.dt_blocks);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 22)) {
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 23)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(DM_NO_SESSION, hanp, hlen,
-					     DM_NO_TOKEN, DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 24)) {
-		dm_stat_t stat;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_get_fileattr(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				     DM_NO_TOKEN, DM_AT_EMASK, &stat);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_fileattr - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_FILEATTR_BASE + 25)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_stat_t stat;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_get_fileattr(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &stat);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_init_attrloc";
-
-	/*
-	 * TEST    : dm_init_attrloc - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(INVALID_ADDR, hanp, hlen,
-					     DM_NO_TOKEN, &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, (void *)INVALID_ADDR, hlen,
-					     DM_NO_TOKEN, &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, hanp, INVALID_ADDR,
-					     DM_NO_TOKEN, &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, hanp, hlen, INVALID_ADDR,
-					     &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - invalid locp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid locp)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					     (dm_attrloc_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					     &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 7)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					     &loc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "loc = %lld\n", loc);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 8)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					     &loc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "loc = %lld\n", loc);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(DM_NO_SESSION, hanp, hlen,
-					     DM_NO_TOKEN, &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 10)) {
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_init_attrloc(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				     DM_NO_TOKEN, &loc);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_init_attrloc - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(INIT_ATTRLOC_BASE + 11)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rmdir(DUMMY_SUBDIR)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					     &loc);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_get_dirattrs";
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(INVALID_ADDR, hanp, hlen,
-					     DM_NO_TOKEN, DM_AT_EMASK, &loc,
-					     sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, (void *)INVALID_ADDR, hlen,
-					     DM_NO_TOKEN, DM_AT_EMASK, &loc,
-					     sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid hlen
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, INVALID_ADDR,
-					     DM_NO_TOKEN, DM_AT_EMASK, &loc,
-					     sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, INVALID_ADDR,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid mask
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #24 (0 returned instead of -1 and
-	 * EINVAL errno)
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid mask)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_SIZE, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid locp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid locp)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK,
-					     (dm_attrloc_t *) INVALID_ADDR,
-					     sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid loc
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 7)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			loc = INVALID_ADDR;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid loc)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid buflen
-	 * EXPECTED: rc = 1
-	 *
-	 * This variation uncovered XFS BUG #26 (-1 and E2BIG errno returned
-	 * instead of 1)
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 8)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, 0, buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			DMVAR_ENDPASSEXP(szFuncName, 1, rc);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     (void *)INVALID_ADDR, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 10)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 11)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_HANDLE
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 12)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_AT_HANDLE)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_HANDLE, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_HANDLE);
-				if (entry != NULL) {
-					if (dm_handle_cmp
-					    (fhanp, fhlen,
-					     DM_GET_VALUE(entry, dt_handle,
-							  void *),
-					     DM_GET_LEN(entry,
-							dt_handle)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but handles NOT same\n",
-							    szFuncName, 0);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_EMASK
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 13)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, eventset);
-		DMEV_SET(DM_EVENT_CLOSE, eventset);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fhanp, fhlen, DM_NO_TOKEN,
-					   &eventset, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_AT_EMASK)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_EMASK);
-				if (entry != NULL) {
-					if (eventset == entry->dt_emask) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but emasks NOT same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    eventset,
-							    entry->dt_emask);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_PMANR with region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 14)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		dm_region_t region = { 0, 0, DM_REGION_READ };
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, fhanp, fhlen, DM_NO_TOKEN, 1,
-					&region, &exactflag)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_PMANR with region)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_PMANR, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_PMANR);
-				if (entry != NULL) {
-					if (entry->dt_pmanreg == DM_TRUE) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but pmanreg NOT same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry->dt_pmanreg,
-							    DM_TRUE);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_PMANR without region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 15)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		rc |= dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN, &loc);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_PMANR without region)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_PMANR, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_PMANR);
-				if (entry != NULL) {
-					if (entry->dt_pmanreg == DM_FALSE) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but pmanreg NOT same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry->dt_pmanreg,
-							    DM_FALSE);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_PATTR with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 16)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		dm_attrname_t attrname;
-		char attrbuf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(attrbuf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, fhanp, fhlen, DM_NO_TOKEN,
-					&attrname, 0, sizeof(attrbuf),
-					attrbuf)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_PATTR with DM attr)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_PATTR, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_PATTR);
-				if (entry != NULL) {
-					if (entry->dt_pers == DM_TRUE) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but pers NOT same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry->dt_pers,
-							    DM_TRUE);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_PATTR without DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 17)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_PATTR without DM attr)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_PATTR, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_PATTR);
-				if (entry != NULL) {
-					if (entry->dt_pers == DM_FALSE) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but pers NOT same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry->dt_pers,
-							    DM_FALSE);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_DTIME with DM attribute
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 18)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		dm_attrname_t attrname;
-		char attrbuf[ATTR_VALUELEN];
-		struct stat statfs;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(attrbuf, ATTR_VALUE, ATTR_VALUELEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if (((rc = stat(DUMMY_SUBDIR_FILE, &statfs)) == -1) ||
-			   ((rc =
-			     dm_set_dmattr(sid, fhanp, fhlen, DM_NO_TOKEN,
-					   &attrname, 0, sizeof(attrbuf),
-					   attrbuf)) == -1)
-			   ||
-			   ((rc =
-			     dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     &loc)) == -1)) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_DTIME with DM attr)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_DTIME);
-				if (entry != NULL) {
-					if (entry->dt_dtime == statfs.st_ctime) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but dtime NOT same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry->dt_dtime,
-							    statfs.st_ctime);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_DTIME without DM attribute
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #25 (dtime updated without any DM
-	 * attributes)
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 19)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		struct stat statfs;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if (((rc = stat(DUMMY_SUBDIR_FILE, &statfs)) == -1) ||
-			   ((rc =
-			     dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     &loc)) == -1)) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_DTIME without DM attr)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_DTIME, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_DTIME);
-				if (entry != NULL) {
-					if (entry->dt_dtime != statfs.st_ctime) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but dtime same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry->dt_dtime,
-							    statfs.st_ctime);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_CFLAG with no change
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 20)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_LISTLEN], buf2[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf1, 0, ATTR_LISTLEN);
-		memset(buf2, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  DM_AT_CFLAG, &loc, sizeof(buf1), buf1,
-					  &rlen)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_CFLAG with no change)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_CFLAG, &loc, sizeof(buf2),
-					     buf2, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry1 =
-				    GetDirEntry(buf1, DUMMY_FILE);
-				dm_stat_t *entry2 =
-				    GetDirEntry(buf2, DUMMY_FILE);
-				LogDirAttrs(buf2, DM_AT_CFLAG);
-				if ((entry1 != NULL) && (entry2 != NULL)) {
-					if (entry1->dt_change ==
-					    entry2->dt_change) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but change not same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry1->dt_change,
-							    entry2->dt_change);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_CFLAG with data change
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 21)) {
-		int fd;
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_LISTLEN], buf2[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf1, 0, ATTR_LISTLEN);
-		memset(buf2, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((fd = open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-				      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  DM_AT_CFLAG, &loc, sizeof(buf1), buf1,
-					  &rlen)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN ? -1 : 0) == 1))) {
-			close(fd);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_CFLAG with data change)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_CFLAG, &loc, sizeof(buf2),
-					     buf2, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry1 =
-				    GetDirEntry(buf1, DUMMY_FILE);
-				dm_stat_t *entry2 =
-				    GetDirEntry(buf2, DUMMY_FILE);
-				LogDirAttrs(buf2, DM_AT_CFLAG);
-				if ((entry1 != NULL) && (entry2 != NULL)) {
-					if (entry1->dt_change !=
-					    entry2->dt_change) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but change same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry1->dt_change,
-							    entry2->dt_change);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_CFLAG with metadata change
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 22)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_LISTLEN], buf2[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf1, 0, ATTR_LISTLEN);
-		memset(buf2, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  DM_AT_CFLAG, &loc, sizeof(buf1), buf1,
-					  &rlen)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  chown(DUMMY_SUBDIR_FILE, DUMMY_UID,
-				DUMMY_GID)) == -1)) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_CFLAG with metadata change)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_CFLAG, &loc, sizeof(buf2),
-					     buf2, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry1 =
-				    GetDirEntry(buf1, DUMMY_FILE);
-				dm_stat_t *entry2 =
-				    GetDirEntry(buf2, DUMMY_FILE);
-				LogDirAttrs(buf2, DM_AT_CFLAG);
-				if ((entry1 != NULL) && (entry2 != NULL)) {
-					if (entry1->dt_change !=
-					    entry2->dt_change) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but change same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry1->dt_change,
-							    entry2->dt_change);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_CFLAG with DM attribute change
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 23)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_LISTLEN], buf2[ATTR_LISTLEN];
-		size_t rlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(buf1, 0, ATTR_LISTLEN);
-		memset(buf2, 0, ATTR_LISTLEN);
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  DM_AT_CFLAG, &loc, sizeof(buf1), buf1,
-					  &rlen)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  dm_set_dmattr(sid, fhanp, fhlen, DM_NO_TOKEN,
-					&attrname, 0, 0, NULL)) == -1)) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_CFLAG with DM attr change)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_CFLAG, &loc, sizeof(buf2),
-					     buf2, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry1 =
-				    GetDirEntry(buf1, DUMMY_FILE);
-				dm_stat_t *entry2 =
-				    GetDirEntry(buf2, DUMMY_FILE);
-				LogDirAttrs(buf2, DM_AT_CFLAG);
-				if ((entry1 != NULL) && (entry2 != NULL)) {
-					if (entry1->dt_change !=
-					    entry2->dt_change) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but change same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry1->dt_change,
-							    entry2->dt_change);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_CFLAG with non-DM attribute change
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 23)) {
-		void *dhanp, *fhanp;
-		size_t dhlen, fhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_LISTLEN], buf2[ATTR_LISTLEN];
-		size_t rlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(buf1, 0, ATTR_LISTLEN);
-		memset(buf2, 0, ATTR_LISTLEN);
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp,
-					   &fhlen)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  DM_AT_CFLAG, &loc, sizeof(buf1), buf1,
-					  &rlen)) == -1)
-			||
-			((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			||
-			((rc =
-			  setxattr(DUMMY_SUBDIR_FILE, NON_DM_ATTR_NAME,
-				   NON_DM_ATTR_VALUE, sizeof(NON_DM_ATTR_VALUE),
-				   0)) == -1)) {
-			dm_handle_free(fhanp, fhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_CFLAG with non-DM attr change)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_CFLAG, &loc, sizeof(buf2),
-					     buf2, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry1 =
-				    GetDirEntry(buf1, DUMMY_FILE);
-				dm_stat_t *entry2 =
-				    GetDirEntry(buf2, DUMMY_FILE);
-				LogDirAttrs(buf2, DM_AT_CFLAG);
-				if ((entry1 != NULL) && (entry2 != NULL)) {
-					if (entry1->dt_change !=
-					    entry2->dt_change) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but change same (%d vs %d)\n",
-							    szFuncName, 0,
-							    entry1->dt_change,
-							    entry2->dt_change);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 24)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-		struct stat statfs;
-		int varStatus;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = stat(DUMMY_SUBDIR_FILE, &statfs)) == -1)) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_AT_STAT)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_STAT);
-				if (entry != NULL) {
-					varStatus = DMSTAT_PASS;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s returned expected rc = %d\n",
-						    szFuncName, rc);
-					if (statfs.st_dev != entry->dt_dev) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching dev (%lld vs %lld)\n",
-							    szFuncName,
-							    statfs.st_dev,
-							    entry->dt_dev);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_ino != entry->dt_ino) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching ino (%lld vs %lld)\n",
-							    szFuncName,
-							    statfs.st_ino,
-							    entry->dt_ino);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_mode != entry->dt_mode) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching mode (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_mode,
-							    entry->dt_mode);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_nlink != entry->dt_nlink) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching nlink (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_nlink,
-							    entry->dt_nlink);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_uid != entry->dt_uid) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching uid (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_uid,
-							    entry->dt_uid);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_gid != entry->dt_gid) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching gid (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_gid,
-							    entry->dt_gid);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_rdev != entry->dt_rdev) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching rdev (%lld vs %lld)\n",
-							    szFuncName,
-							    statfs.st_rdev,
-							    entry->dt_rdev);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_size != entry->dt_size) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching size (%lld vs %lld)\n",
-							    szFuncName,
-							    statfs.st_size,
-							    entry->dt_size);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_atime != entry->dt_atime) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching atime (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_atime,
-							    entry->dt_atime);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_mtime != entry->dt_mtime) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching mtime (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_mtime,
-							    entry->dt_mtime);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_ctime != entry->dt_ctime) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching ctime (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_ctime,
-							    entry->dt_ctime);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_blksize !=
-					    entry->dt_blksize) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching blksize (%d vs %d)\n",
-							    szFuncName,
-							    statfs.st_blksize,
-							    entry->dt_blksize);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (statfs.st_blocks !=
-					    entry->dt_blocks) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with nonmatching blocks (%lld vs %lld)\n",
-							    szFuncName,
-							    statfs.st_blocks,
-							    entry->dt_blocks);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT returned over two calls
-	 * EXPECTED: rc = 1, 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 25)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf1[2 * ATTR_SMALLLEN];
-		char buf2[ATTR_SMALLLEN + 1];
-		size_t rlen1, rlen2;
-		dm_stat_t *entry;
-		int rc1, rc2;
-		int varStatus;
-		int num;
-
-		/* Variation set up */
-		memset(buf1, 0, sizeof(buf1));
-		memset(buf2, 0, sizeof(buf2));
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT over two calls)\n",
-				    szFuncName);
-			rc1 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf1),
-					    buf1, &rlen1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "1st call: rc %d, rlen %d, loc %llx\n", rc1,
-				    rlen1, loc);
-			rc2 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf2),
-					    buf2, &rlen2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "2nd call: rc %d, rlen %d, loc %llx\n", rc2,
-				    rlen2, loc);
-			varStatus = DMSTAT_PASS;
-			if (rc1 == 1) {
-				if (((num = GetNumDirEntry(buf1)) == 2)
-				    && (rlen1 >= 2 * MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "1st call attrs:\n");
-					LogDirAttrs(buf1, DM_AT_STAT);
-					if (((entry =
-					      GetDirEntry(buf1,
-							  CURRENT_DIR)) != NULL)
-					    &&
-					    ((entry =
-					      GetDirEntry(buf1,
-							  PARENT_DIR)) !=
-					     NULL)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 1st call returned expected rc = %d and %d entries %s and %s in buffer\n",
-							    szFuncName, rc1,
-							    num, CURRENT_DIR,
-							    PARENT_DIR);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 1st call returned expected rc = %d but entries %s and/or %s not in buffer\n",
-							    szFuncName, rc1,
-							    CURRENT_DIR,
-							    PARENT_DIR);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 1st call returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc1, rlen1,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 1st call returned unexpected rc = %d\n",
-					    szFuncName, rc1);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (rc2 == 0) {
-				if (((num = GetNumDirEntry(buf2)) == 1)
-				    && (rlen2 >= MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "2nd call attrs:\n");
-					LogDirAttrs(buf2, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf2,
-							 DUMMY_FILE)) != NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 2nd call returned expected rc = %d and %d entry %s in buffer\n",
-							    szFuncName, rc2,
-							    num, DUMMY_FILE);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 2nd call returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc2,
-							    DUMMY_FILE);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 2nd call returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc2, rlen2,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 2nd call returned unexpected rc = %d\n",
-					    szFuncName, rc2);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT returned over three calls,
-	 *              third buffer too small
-	 * EXPECTED: rc = 1, 1, 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 26)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_SMALLLEN];
-		char buf2[ATTR_SMALLLEN];
-		char buf3[ATTR_SMALLLEN / 2];
-		size_t rlen1, rlen2, rlen3;
-		dm_stat_t *entry;
-		int rc1, rc2, rc3;
-		int varStatus;
-		int num;
-
-		/* Variation set up */
-		memset(buf1, 0, sizeof(buf1));
-		memset(buf2, 0, sizeof(buf2));
-		memset(buf3, 0, sizeof(buf3));
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT over three calls, third buf too small)\n",
-				    szFuncName);
-			rc1 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf1),
-					    buf1, &rlen1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "1st call: rc %d, rlen %d, loc %llx\n", rc1,
-				    rlen1, loc);
-			rc2 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf2),
-					    buf2, &rlen2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "2nd call: rc %d, rlen %d, loc %llx\n", rc2,
-				    rlen2, loc);
-			rc3 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf3),
-					    buf3, &rlen3);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "3rd call: rc %d, rlen %d, loc %llx\n", rc3,
-				    rlen3, loc);
-			varStatus = DMSTAT_PASS;
-			if (rc1 == 1) {
-				if (((num = GetNumDirEntry(buf1)) == 1)
-				    && (rlen1 >= MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "1st call attrs:\n");
-					LogDirAttrs(buf1, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf1,
-							 CURRENT_DIR)) !=
-					    NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 1st call returned expected rc = %d and %d entry %s in buffer\n",
-							    szFuncName, rc1,
-							    num, CURRENT_DIR);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 1st call returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc1,
-							    CURRENT_DIR);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 1st call returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc1, rlen1,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 1st call returned unexpected rc = %d\n",
-					    szFuncName, rc1);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (rc2 == 1) {
-				if (((num = GetNumDirEntry(buf2)) == 1)
-				    && (rlen2 >= MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "2nd call attrs:\n");
-					LogDirAttrs(buf2, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf2,
-							 PARENT_DIR)) != NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 2nd call returned expected rc = %d and %d entry %s in buffer\n",
-							    szFuncName, rc2,
-							    num, PARENT_DIR);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 2nd call returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc2,
-							    PARENT_DIR);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 2nd call returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc2, rlen2,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 2nd call returned unexpected rc = %d\n",
-					    szFuncName, rc2);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (rc3 == 1) {
-				if (rlen3 == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s 3rd call returned expected rc = %d and empty buffer\n",
-						    szFuncName, rc3);
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 3rd call returned expected rc = %d but unexpected rlen = %d\n",
-						    szFuncName, rc3, rlen3);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 3rd call returned unexpected rc = %d\n",
-					    szFuncName, rc3);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT returned over three calls
-	 * EXPECTED: rc = 1, 1, 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 27)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf1[ATTR_SMALLLEN];
-		char buf2[ATTR_SMALLLEN];
-		char buf3[ATTR_SMALLLEN];
-		size_t rlen1, rlen2, rlen3;
-		dm_stat_t *entry;
-		int rc1, rc2, rc3;
-		int varStatus;
-		int num;
-
-		/* Variation set up */
-		memset(buf1, 0, sizeof(buf1));
-		memset(buf2, 0, sizeof(buf2));
-		memset(buf3, 0, sizeof(buf3));
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT over three calls)\n",
-				    szFuncName);
-			rc1 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf1),
-					    buf1, &rlen1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "1st call: rc %d, rlen %d, loc %llx\n", rc1,
-				    rlen1, loc);
-			rc2 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf2),
-					    buf2, &rlen2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "2nd call: rc %d, rlen %d, loc %llx\n", rc2,
-				    rlen2, loc);
-			rc3 =
-			    dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					    DM_AT_STAT, &loc, sizeof(buf3),
-					    buf3, &rlen3);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "3rd call: rc %d, rlen %d, loc %llx\n", rc3,
-				    rlen3, loc);
-			varStatus = DMSTAT_PASS;
-			if (rc1 == 1) {
-				if (((num = GetNumDirEntry(buf1)) == 1)
-				    && (rlen1 >= MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "1st call attrs:\n");
-					LogDirAttrs(buf1, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf1,
-							 CURRENT_DIR)) !=
-					    NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 1st call returned expected rc = %d and %d entry %s in buffer\n",
-							    szFuncName, rc1,
-							    num, CURRENT_DIR);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 1st call returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc1,
-							    CURRENT_DIR);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 1st call returned expected rc = %d but unexpected rlen = %d\n and/or number of entries in buffer %d",
-						    szFuncName, rc1, rlen1,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 1st call returned unexpected rc = %d\n",
-					    szFuncName, rc1);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (rc2 == 1) {
-				if (((num = GetNumDirEntry(buf2)) == 1)
-				    && (rlen2 >= MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "2nd call attrs:\n");
-					LogDirAttrs(buf2, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf2,
-							 PARENT_DIR)) != NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 2nd call returned expected rc = %d and %d entry %s in buffer\n",
-							    szFuncName, rc2,
-							    num, PARENT_DIR);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 2nd call returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc2,
-							    PARENT_DIR);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 2nd call returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc2, rlen2,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 2nd call returned unexpected rc = %d\n",
-					    szFuncName, rc2);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (rc3 == 0) {
-				if (((num = GetNumDirEntry(buf3)) == 1)
-				    && (rlen3 >= MIN_ENTRYLEN)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "3rd call attrs:\n");
-					LogDirAttrs(buf3, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf3,
-							 DUMMY_FILE)) != NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s 3rd call returned expected rc = %d and %d entry %s in buffer\n",
-							    szFuncName, rc3,
-							    num, DUMMY_FILE);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s 3rd call returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc3,
-							    DUMMY_FILE);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s 3rd call returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc3, rlen3,
-						    num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 3rd call returned unexpected rc = %d\n",
-					    szFuncName, rc3);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir > files fit in buffer)
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 28)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_SMALLLEN * (DIRENTS_FILES - 1)];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, DIRENTS_FILES - 1);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 1) {
-				if (((num =
-				      GetNumDirEntry(buf)) == DIRENTS_FILES - 1)
-				    && (rlen >=
-					(DIRENTS_FILES - 1) * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) == NULL) {
-						if (((entry =
-						      GetLastDirEntry(buf)) !=
-						     NULL)
-						    && (entry->dt_compname.
-							vd_length > 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s returned expected rc = %d, expected number of entries in buffer %d, and neither entry %s nor empty entry in buffer\n",
-								    szFuncName,
-								    rc, num,
-								    filename);
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s returned expected rc = %d but empty entry in buffer\n",
-								    szFuncName,
-								    rc,
-								    filename);
-							varStatus = DMSTAT_FAIL;
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir > files fit in buffer)
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 29)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_SMALLLEN * DIRENTS_FILES];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, DIRENTS_FILES);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 1) {
-				if (((num =
-				      GetNumDirEntry(buf)) == DIRENTS_FILES)
-				    && (rlen >= DIRENTS_FILES * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) == NULL) {
-						if (((entry =
-						      GetLastDirEntry(buf)) !=
-						     NULL)
-						    && (entry->dt_compname.
-							vd_length > 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s returned expected rc = %d, expected number of entries in buffer %d, and neither entry %s nor empty entry in buffer\n",
-								    szFuncName,
-								    rc, num,
-								    filename);
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s returned expected rc = %d but empty entry in buffer\n",
-								    szFuncName,
-								    rc,
-								    filename);
-							varStatus = DMSTAT_FAIL;
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir > files fit in buffer)
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 30)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_SMALLLEN * (DIRENTS_FILES + 1)];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, DIRENTS_FILES + 1);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 1) {
-				if (((num =
-				      GetNumDirEntry(buf)) == DIRENTS_FILES + 1)
-				    && (rlen >=
-					(DIRENTS_FILES + 1) * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) == NULL) {
-						if (((entry =
-						      GetLastDirEntry(buf)) !=
-						     NULL)
-						    && (entry->dt_compname.
-							vd_length > 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s returned expected rc = %d, expected number of entries in buffer %d, and neither entry %s nor empty entry in buffer\n",
-								    szFuncName,
-								    rc, num,
-								    filename);
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s returned expected rc = %d but empty entry in buffer\n",
-								    szFuncName,
-								    rc,
-								    filename);
-							varStatus = DMSTAT_FAIL;
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir > files fit in buffer)
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 31)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_SMALLLEN * ((2 * DIRENTS_FILES) - 1)];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, (2 * DIRENTS_FILES) - 1);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 1) {
-				if (((num =
-				      GetNumDirEntry(buf)) ==
-				     (2 * DIRENTS_FILES) - 1)
-				    && (rlen >=
-					((2 * DIRENTS_FILES) -
-					 1) * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) == NULL) {
-						if (((entry =
-						      GetLastDirEntry(buf)) !=
-						     NULL)
-						    && (entry->dt_compname.
-							vd_length > 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s returned expected rc = %d, expected number of entries in buffer %d, and neither entry %s nor empty entry in buffer\n",
-								    szFuncName,
-								    rc, num,
-								    filename);
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s returned expected rc = %d but empty entry in buffer\n",
-								    szFuncName,
-								    rc,
-								    filename);
-							varStatus = DMSTAT_FAIL;
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir > files fit in buffer)
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 32)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_SMALLLEN * (2 * DIRENTS_FILES)];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, 2 * DIRENTS_FILES);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 1) {
-				if (((num =
-				      GetNumDirEntry(buf)) == 2 * DIRENTS_FILES)
-				    && (rlen >=
-					(2 * DIRENTS_FILES) * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) == NULL) {
-						if (((entry =
-						      GetLastDirEntry(buf)) !=
-						     NULL)
-						    && (entry->dt_compname.
-							vd_length > 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s returned expected rc = %d, expected number of entries in buffer %d, and neither entry %s nor empty entry in buffer\n",
-								    szFuncName,
-								    rc, num,
-								    filename);
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s returned expected rc = %d but empty entry in buffer\n",
-								    szFuncName,
-								    rc,
-								    filename);
-							varStatus = DMSTAT_FAIL;
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir > files fit in buffer)
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 33)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_SMALLLEN * ((2 * DIRENTS_FILES) + 1)];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, (2 * DIRENTS_FILES) + 1);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 1) {
-				if (((num =
-				      GetNumDirEntry(buf)) ==
-				     (2 * DIRENTS_FILES) + 1)
-				    && (rlen >=
-					((2 * DIRENTS_FILES) +
-					 1) * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) == NULL) {
-						if (((entry =
-						      GetLastDirEntry(buf)) !=
-						     NULL)
-						    && (entry->dt_compname.
-							vd_length > 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s returned expected rc = %d, expected number of entries in buffer %d, and neither entry %s nor empty entry in buffer\n",
-								    szFuncName,
-								    rc, num,
-								    filename);
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s returned expected rc = %d but empty entry in buffer\n",
-								    szFuncName,
-								    rc,
-								    filename);
-							varStatus = DMSTAT_FAIL;
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_STAT with one buffer (files
-	 *              returned from jfs_readdir < files fit in buffer)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 34)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_BIGLISTLEN];
-		size_t rlen;
-		dm_stat_t *entry;
-		int varStatus;
-		int i;
-		char *filename;
-		int num;
-
-		/* Variation set up */
-		memset(buf, 0, sizeof(buf));
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else {
-			for (i = 0; i < NUM_FILES && rc == 0; i++) {
-				sprintf(command, "cp %s %s.%3.3d", DUMMY_TMP,
-					DUMMY_SUBDIR_FILE, i);
-				rc = system(command);
-			}
-			if ((rc == -1) ||
-			    ((rc =
-			      dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					      &loc)) == -1)) {
-				sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-				rc = system(command);
-			}
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_AT_STAT with %d files)\n",
-				    szFuncName, NUM_FILES + 2);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_STAT, &loc, sizeof(buf), buf,
-					     &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			varStatus = DMSTAT_PASS;
-			if (rc == 0) {
-				if (((num =
-				      GetNumDirEntry(buf)) == NUM_FILES + 2)
-				    && (rlen >=
-					(NUM_FILES + 2) * MIN_ENTRYLEN)) {
-					filename = strchr(command, '/') + 1;
-					DMLOG_PRINT(DMLVL_DEBUG, "attrs:\n");
-					LogDirAttrs(buf, DM_AT_STAT);
-					if ((entry =
-					     GetDirEntry(buf,
-							 filename)) != NULL) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s returned expected rc = %d, expected number of entries in buffer %d, and entry %s in buffer\n",
-							    szFuncName, rc, num,
-							    filename);
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s returned expected rc = %d but entry %s not in buffer\n",
-							    szFuncName, rc,
-							    filename);
-						varStatus = DMSTAT_FAIL;
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s returned expected rc = %d but unexpected rlen = %d and/or number of entries in buffer %d\n",
-						    szFuncName, rc, rlen, num);
-					varStatus = DMSTAT_FAIL;
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d\n",
-					    szFuncName, rc);
-				varStatus = DMSTAT_FAIL;
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			sprintf(command, "rm -rf %s", DUMMY_SUBDIR);
-			rc = system(command);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_HANDLE with link
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 35)) {
-		void *dhanp, *fhanp1, *fhanp2;
-		size_t dhlen, fhlen1, fhlen2;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = system(command)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_FILE, &fhanp1,
-					   &fhlen1)) == -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = link(DUMMY_SUBDIR_FILE, DUMMY_SUBDIR_LINK)) ==
-			   -1) {
-			dm_handle_free(fhanp1, fhlen1);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_LINK, &fhanp2,
-					   &fhlen2)) == -1) {
-			unlink(DUMMY_SUBDIR_LINK);
-			dm_handle_free(fhanp1, fhlen1);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			dm_handle_free(fhanp2, fhlen2);
-			unlink(DUMMY_SUBDIR_LINK);
-			dm_handle_free(fhanp1, fhlen1);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_AT_HANDLE with link)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_HANDLE, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry1 =
-				    GetDirEntry(buf, DUMMY_FILE);
-				dm_stat_t *entry2 =
-				    GetDirEntry(buf, DUMMY_LINK);
-				LogDirAttrs(buf, DM_AT_HANDLE);
-				if (entry1 != NULL) {
-					if (dm_handle_cmp
-					    (fhanp1, fhlen1,
-					     DM_GET_VALUE(entry1, dt_handle,
-							  void *),
-					     DM_GET_LEN(entry1,
-							dt_handle)) == 0) {
-						if (entry2 != NULL) {
-							if (dm_handle_cmp
-							    (fhanp2, fhlen2,
-							     DM_GET_VALUE
-							     (entry2, dt_handle,
-							      void *),
-							     DM_GET_LEN(entry2,
-									dt_handle))
-							    == 0) {
-								DMLOG_PRINT
-								    (DMLVL_DEBUG,
-								     "%s passed with expected rc = %d\n",
-								     szFuncName,
-								     0);
-								DMVAR_PASS();
-							} else {
-								DMLOG_PRINT
-								    (DMLVL_ERR,
-								     "%s failed with expected rc = %d but link handles NOT same\n",
-								     szFuncName,
-								     0);
-								DMVAR_FAIL();
-							}
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s failed with expected rc = %d but unable to find entry %s",
-								    szFuncName,
-								    0,
-								    DUMMY_LINK);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but file handles NOT same\n",
-							    szFuncName, 0);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= remove(DUMMY_SUBDIR_LINK);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-			dm_handle_free(fhanp1, fhlen1);
-			dm_handle_free(fhanp2, fhlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_AT_EMASK (verify no handle)
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #28 (handle returned when
-	 * DM_AT_HANDLE not set in mask)
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 36)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memset(buf, 0, ATTR_LISTLEN);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if (((rc = system(command)) == -1) ||
-			   ((rc =
-			     dm_init_attrloc(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     &loc)) == -1)) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(~DM_AT_HANDLE)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, dhanp, dhlen, DM_NO_TOKEN,
-					     DM_AT_ALL_DIRATTRS &
-					     (~DM_AT_HANDLE), &loc, sizeof(buf),
-					     buf, &rlen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "call: rc %d, loc %lld, rlen %d\n", rc, loc,
-				    rlen);
-			if (rc == 0) {
-				dm_stat_t *entry = GetDirEntry(buf, DUMMY_FILE);
-				LogDirAttrs(buf, DM_AT_ALL_DIRATTRS);
-				if (entry != NULL) {
-					if ((entry->dt_handle.vd_offset == 0)
-					    && (entry->dt_handle.vd_length ==
-						0)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but handle non-zero (offset %d, length %d)\n",
-							    szFuncName, 0,
-							    entry->dt_handle.
-							    vd_offset,
-							    entry->dt_handle.
-							    vd_length);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unable to find entry %s",
-						    szFuncName, 0, DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 37)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			remove(DUMMY_FILE);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 38)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_SUBDIR_FILE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if (((rc =
-			  dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					  &loc)) == -1)
-			|| ((rc = system(command)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(DM_NO_SESSION, hanp, hlen,
-					     DM_NO_TOKEN, DM_AT_EMASK, &loc,
-					     sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 39)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, DM_GLOBAL_HANP,
-					     DM_GLOBAL_HLEN, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_dirattrs - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_DIRATTRS_BASE + 40)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrloc_t loc;
-		char buf[ATTR_LISTLEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_init_attrloc(sid, hanp, hlen, DM_NO_TOKEN,
-					 &loc)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = rmdir(DUMMY_SUBDIR)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_get_dirattrs(sid, hanp, hlen, DM_NO_TOKEN,
-					     DM_AT_EMASK, &loc, sizeof(buf),
-					     buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_set_inherit";
-
-	/*
-	 * TEST    : dm_set_inherit - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_inherit(INVALID_ADDR, hanp, hlen,
-					    DM_NO_TOKEN, &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_set_inherit(sid, (void *)INVALID_ADDR, hlen,
-					    DM_NO_TOKEN, &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_set_inherit(sid, hanp, INVALID_ADDR,
-					    DM_NO_TOKEN, &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_inherit(sid, hanp, hlen, INVALID_ADDR,
-					    &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - invalid attrnamep
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrnamep)\n",
-				    szFuncName);
-			rc = dm_set_inherit(sid, hanp, hlen, DM_NO_TOKEN,
-					    (dm_attrname_t *) INVALID_ADDR, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc,
-					 persInheritAttr ? EFAULT : ENOSYS);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_inherit(DM_NO_SESSION, hanp, hlen,
-					    DM_NO_TOKEN, &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 7)) {
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_set_inherit(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				    DM_NO_TOKEN, &attrname, 0);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_set_inherit(sid, hanp, hlen, DM_NO_TOKEN,
-					    &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_inherit - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_INHERIT_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_set_inherit(sid, hanp, hlen, DM_NO_TOKEN,
-					    &attrname, 0);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_clear_inherit";
-
-	/*
-	 * TEST    : dm_clear_inherit - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(sid, (void *)INVALID_ADDR, hlen,
-					      DM_NO_TOKEN, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(sid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(sid, hanp, hlen, INVALID_ADDR,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - invalid attrnamep
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrnamep)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(sid, hanp, hlen, DM_NO_TOKEN,
-					      (dm_attrname_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc,
-					 persInheritAttr ? EFAULT : ENOSYS);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 7)) {
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_clear_inherit(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      DM_NO_TOKEN, &attrname);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(sid, hanp, hlen, DM_NO_TOKEN,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_clear_inherit - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CLEAR_INHERIT_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_clear_inherit(sid, hanp, hlen, DM_NO_TOKEN,
-					      &attrname);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_getall_inherit";
-
-	/*
-	 * TEST    : dm_getall_inherit - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(INVALID_ADDR, hanp, hlen,
-					       DM_NO_TOKEN, 1, &inheritbuf,
-					       &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(sid, (void *)INVALID_ADDR, hlen,
-					       DM_NO_TOKEN, 1, &inheritbuf,
-					       &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(sid, hanp, INVALID_ADDR,
-					       DM_NO_TOKEN, 1, &inheritbuf,
-					       &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(sid, hanp, hlen, INVALID_ADDR, 1,
-					       &inheritbuf, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - invalid inheritbufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid inheritbufp)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(sid, hanp, hlen, DM_NO_TOKEN, 1,
-					       (dm_inherit_t *) INVALID_ADDR,
-					       &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc,
-					 persInheritAttr ? EFAULT : ENOSYS);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(DM_NO_SESSION, hanp, hlen,
-					       DM_NO_TOKEN, 1, &inheritbuf,
-					       &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 7)) {
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_getall_inherit(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				       DM_NO_TOKEN, 1, &inheritbuf, &nelem);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(sid, hanp, hlen, DM_NO_TOKEN, 1,
-					       &inheritbuf, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_inherit - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_INHERIT_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		dm_inherit_t inheritbuf;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_getall_inherit(sid, hanp, hlen, DM_NO_TOKEN, 1,
-					       &inheritbuf, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	remove(DUMMY_TMP);
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
diff --git a/testcases/kernel/fs/dmapi/config.c b/testcases/kernel/fs/dmapi/config.c
deleted file mode 100644
index 657484f90..000000000
--- a/testcases/kernel/fs/dmapi/config.c
+++ /dev/null
@@ -1,491 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: config.c
- *
- * VARIATIONS	: 28
- *
- * API'S TESTED	: dm_get_config
- */
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include "dm_test.h"
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int rc;
-	int i;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION AND NO PREEXISTING FILES!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI configuration tests\n");
-
-	szFuncName = "dm_get_config";
-
-	/*
-	 * TEST    : dm_get_config - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_config((void *)INVALID_ADDR, hlen,
-					   DM_CONFIG_BULKALL, &retval);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_config(hanp, INVALID_ADDR,
-					   DM_CONFIG_BULKALL, &retval);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - invalid flagname
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid flagname)\n",
-				    szFuncName);
-			rc = dm_get_config(hanp, hlen, INVALID_ADDR, &retval);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - invalid retvalp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid retvalp)\n",
-				    szFuncName);
-			rc = dm_get_config(hanp, hlen, DM_CONFIG_BULKALL,
-					   (dm_size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 5)) {
-		dm_size_t retval;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_get_config(DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_CONFIG_BULKALL, &retval);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_config - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_get_config(hanp, hlen, DM_CONFIG_BULKALL,
-					   &retval);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_config(hanp, hlen, DM_CONFIG_BULKALL,
-					   &retval);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_config(hanp, hlen, DM_CONFIG_BULKALL,
-					   &retval);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config - invalidated handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_size_t retval;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated handle)\n",
-				    szFuncName);
-			rc = dm_get_config(hanp, hlen, DM_CONFIG_BULKALL,
-					   &retval);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config
-	 * EXPECTED: rc = 0
-	 */
-	for (i = 1; i < CONFIG_MAX; i++) {
-		if (DMVAR_EXEC(GET_CONFIG_BASE + 9 + i)) {
-			int fd;
-			void *hanp;
-			size_t hlen;
-			dm_size_t retval;
-
-			/* Variation set up */
-			if ((fd =
-			     open(DUMMY_FILE, O_RDWR | O_CREAT,
-				  DUMMY_FILE_RW_MODE)) == -1) {
-				/* No clean up */
-			} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) ==
-				   -1) {
-				close(fd);
-				remove(DUMMY_FILE);
-			}
-			if (fd == -1 || rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-				DMVAR_SKIP();
-			} else {
-				/* Variation */
-				DMLOG_PRINT(DMLVL_DEBUG, "%s(%s)\n", szFuncName,
-					    dmimpl_expectedResults[i].name);
-				rc = dm_get_config(hanp, hlen, i, &retval);
-				if (rc == 0) {
-					if (retval ==
-					    dmimpl_expectedResults[i].result) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected retval (%lld vs %lld)\n",
-							    szFuncName, 0,
-							    retval,
-							    dmimpl_expectedResults
-							    [i].result);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with unexpected rc = %d (errno = %d)\n",
-						    szFuncName, rc, errno);
-					DMVAR_FAIL();
-				}
-
-				/* Variation clean up */
-				rc = close(fd);
-				rc |= remove(DUMMY_FILE);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Unable to clean up variation! (errno = %d)\n",
-						    errno);
-				}
-				dm_handle_free(hanp, hlen);
-			}
-		}
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-
-}
diff --git a/testcases/kernel/fs/dmapi/disp.c b/testcases/kernel/fs/dmapi/disp.c
deleted file mode 100644
index 7b4123fe8..000000000
--- a/testcases/kernel/fs/dmapi/disp.c
+++ /dev/null
@@ -1,4062 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: disp.c
- *
- * VARIATIONS	: 155
- *
- * API'S TESTED	: dm_get_config_events
- * 		  dm_set_disp
- * 		  dm_getall_disp
- * 		  dm_set_eventlist
- * 		  dm_get_eventlist
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define TMP_FILELEN 1000
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummyFile2[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int i;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events, maxEvents, minEvents;
-	void *fshanp;
-	size_t fshlen;
-	int varNum;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummyFile2, "%s/%s", mountPt, DUMMY_FILE2);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		remove(DummyFile);
-		remove(DummyFile2);
-		rmdir(DummySubdir);
-
-		EVENT_DELIVERY_DELAY;
-		fd = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < TMP_FILELEN / DUMMY_STRLEN; i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc != -1) {
-			rc = fsync(fd);
-		}
-		if (rc != -1) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy dir failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-
-		DMEV_ZERO(maxEvents);
-		DMEV_SET(DM_EVENT_PREUNMOUNT, maxEvents);
-		DMEV_SET(DM_EVENT_UNMOUNT, maxEvents);
-		DMEV_SET(DM_EVENT_CREATE, maxEvents);
-		DMEV_SET(DM_EVENT_CLOSE, maxEvents);
-		DMEV_SET(DM_EVENT_POSTCREATE, maxEvents);
-		DMEV_SET(DM_EVENT_REMOVE, maxEvents);
-		DMEV_SET(DM_EVENT_POSTREMOVE, maxEvents);
-		DMEV_SET(DM_EVENT_RENAME, maxEvents);
-		DMEV_SET(DM_EVENT_POSTRENAME, maxEvents);
-		DMEV_SET(DM_EVENT_LINK, maxEvents);
-		DMEV_SET(DM_EVENT_POSTLINK, maxEvents);
-		DMEV_SET(DM_EVENT_SYMLINK, maxEvents);
-		DMEV_SET(DM_EVENT_POSTSYMLINK, maxEvents);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, maxEvents);
-		DMEV_SET(DM_EVENT_DESTROY, maxEvents);
-		DMEV_SET(DM_EVENT_NOSPACE, maxEvents);
-
-		DMEV_ZERO(minEvents);
-		DMEV_SET(DM_EVENT_PREUNMOUNT, minEvents);
-		DMEV_SET(DM_EVENT_UNMOUNT, minEvents);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI disposition/eventlist tests\n");
-
-	szFuncName = "dm_get_config_events";
-
-	/*
-	 * TEST    : dm_get_config_events - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_config_events((void *)INVALID_ADDR, hlen,
-						  DM_EVENT_MAX, &eventset,
-						  &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, INVALID_ADDR,
-						  DM_EVENT_MAX, &eventset,
-						  &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - invalid nelem
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 *
-	 * This variation uncovered XFS BUG #18 (nelem not updated)
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelem)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, hlen, 0, &eventset,
-						  &nelem);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					if (nelem == DM_EVENT_MAX) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d (nelem = %d)\n",
-							    szFuncName, rc,
-							    errno, nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-							    szFuncName, rc,
-							    nelem,
-							    DM_EVENT_MAX);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - invalid eventsetp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid eventsetp)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, hlen, DM_EVENT_MAX,
-						  (dm_eventset_t *)
-						  INVALID_ADDR, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - invalid nelemp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelemp)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, hlen, DM_EVENT_MAX,
-						  &eventset,
-						  (u_int *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - fs handle
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #19 (DM_EVENT_USER not returned)
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_config_events(hanp, hlen, DM_EVENT_MAX,
-						  &eventset, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_MAX) {
-					if (memcmp
-					    (&eventset, &dmimpl_eventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    eventset,
-							    dmimpl_eventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_DESTROY + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 7)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_handle(DummyFile, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, hlen, DM_EVENT_MAX,
-						  &eventset, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_MAX) {
-					if (memcmp
-					    (&eventset, &dmimpl_eventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    eventset,
-							    dmimpl_eventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_DESTROY + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - dir handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 8)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_path_to_handle(DummySubdir, &hanp, &hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, hlen, DM_EVENT_MAX,
-						  &eventset, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_MAX) {
-					if (memcmp
-					    (&eventset, &dmimpl_eventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    eventset,
-							    dmimpl_eventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_DESTROY + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 9)) {
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_get_config_events(DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					  DM_EVENT_MAX, &eventset, &nelem);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_config_events - invalidated handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_CONFIG_EVENTS_BASE + 10)) {
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyFile, DummyFile2);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile2, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile2);
-		} else if ((rc = remove(DummyFile2)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated handle)\n",
-				    szFuncName);
-			rc = dm_get_config_events(hanp, hlen, DM_EVENT_MAX,
-						  &eventset, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_set_disp";
-
-	/*
-	 * TEST    : dm_set_disp - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 1)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_disp(DM_NO_SESSION, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 2)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_disp(INVALID_ADDR, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 3)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, (void *)INVALID_ADDR, hlen,
-					 DM_NO_TOKEN, &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 4)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, INVALID_ADDR,
-					 DM_NO_TOKEN, &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 5)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, INVALID_ADDR,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid eventsetp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 6)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid eventsetp)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-					 (dm_eventset_t *) INVALID_ADDR,
-					 DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid maxevent
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 7)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid maxevent)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX + 1);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 8)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 9)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid global handle event
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 10)) {
-		dm_sessid_t newsid;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_POSTCREATE, eventset);
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(invalid global handle event)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					 DM_NO_TOKEN, &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - invalid fs handle event
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 11)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_MOUNT, eventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(invalid fs handle event)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - valid global handle event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 12)) {
-		dm_sessid_t newsid;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_MOUNT, eventset);
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(valid global handle event)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					 DM_NO_TOKEN, &eventset, DM_EVENT_MAX);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_disp - valid fs handle event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_DISP_BASE + 13)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_POSTCREATE, eventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid fs handle event)\n",
-				    szFuncName);
-			rc = dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-					 &eventset, DM_EVENT_MAX);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_getall_disp";
-
-	/*
-	 * TEST    : dm_getall_disp - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 1)) {
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_getall_disp(DM_NO_SESSION, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 2)) {
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_getall_disp(INVALID_ADDR, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - invalidated sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 3)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		} else if ((rc = dm_destroy_session(newsid)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated sid)\n",
-				    szFuncName);
-			rc = dm_getall_disp(newsid, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - NULL bufp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 4)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL bufp)\n", szFuncName);
-			rc = dm_getall_disp(newsid, sizeof(buf), NULL, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - invalid bufp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 5)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_getall_disp(newsid, sizeof(buf),
-					    (void *)INVALID_ADDR, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - NULL rlenp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 6)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL rlenp)\n",
-				    szFuncName);
-			rc = dm_getall_disp(newsid, sizeof(buf), buf, NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - invalid rlenp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 7)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_getall_disp(newsid, sizeof(buf), buf,
-					    (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - zero buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 8)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(buflen zero)\n",
-				    szFuncName);
-			rc = dm_getall_disp(newsid, 0, buf, &rlen);
-			if (rc == -1 && errno == E2BIG) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-			}
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_disp - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_DISP_BASE + 9)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_disp(newsid, hanp, hlen, DM_NO_TOKEN,
-				     &maxEvents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-			rc = dm_getall_disp(newsid, sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				dm_dispinfo_t *di = (dm_dispinfo_t *) buf;
-				if (rlen == sizeof(dm_dispinfo_t) + hlen) {
-					if (dm_handle_cmp
-					    (hanp, hlen,
-					     DM_GET_VALUE(di, di_fshandle,
-							  void *),
-					     DM_GET_LEN(di,
-							di_fshandle)) == 0) {
-						if (di->di_eventset ==
-						    maxEvents) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s passed with expected rc = %d\n",
-								    szFuncName,
-								    0);
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s failed with expected rc = %d but unexpected eventset (%llx vs %llx)\n",
-								    szFuncName,
-								    0,
-								    di->
-								    di_eventset,
-								    maxEvents);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected fs handle (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    *(__u64 *) hanp,
-							    *(__u64 *)
-							    DM_GET_VALUE(di,
-									 di_fshandle,
-									 void
-									 *));
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen (%d vs %d)\n",
-						    szFuncName, 0, rlen,
-						    sizeof(dm_dispinfo_t) +
-						    hlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_set_eventlist";
-
-	/*
-	 * TEST    : dm_set_eventlist - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 1)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, &eventset,
-					      DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 2)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, &eventset,
-					      DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 3)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, (void *)INVALID_ADDR,
-					      hlen, DM_NO_TOKEN, &eventset,
-					      DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 4)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, &eventset,
-					      DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 5)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, hanp, hlen, INVALID_ADDR,
-					      &eventset, DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - invalid eventsetp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 6)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid eventsetp)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      (dm_eventset_t *) INVALID_ADDR,
-					      DM_EVENT_MAX);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - invalid maxevent
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 7)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset = minEvents;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid maxevent)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &eventset, DM_EVENT_MAX + 1);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - maxevent < high set event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 8)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, eventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &eventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventset = minEvents;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(maxevent < high set event)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &eventset, DM_EVENT_ATTRIBUTE);
-			if (rc == 0) {
-				if ((dm_get_eventlist
-				     (newsid, hanp, hlen, DM_NO_TOKEN,
-				      DM_EVENT_MAX, &eventset, &nelem) == 0)
-				    && (nelem == DM_EVENT_ATTRIBUTE + 1)
-				    &&
-				    (DMEV_ISSET(DM_EVENT_ATTRIBUTE, eventset)))
-				{
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but high set event cleared\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_eventlist - maxevent > high set event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_EVENTLIST_BASE + 9)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t eventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(eventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, eventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &eventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventset = minEvents;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(maxevent > high set event)\n",
-				    szFuncName);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &eventset, DM_EVENT_MAX);
-			if (rc == 0) {
-				if ((dm_get_eventlist
-				     (newsid, hanp, hlen, DM_NO_TOKEN,
-				      DM_EVENT_MAX, &eventset, &nelem) == 0)
-				    && (nelem == DM_EVENT_UNMOUNT + 1)
-				    &&
-				    (!DMEV_ISSET(DM_EVENT_ATTRIBUTE, eventset)))
-				{
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but high set event still set\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * Global handle dm_set_eventlist variations
-	 *
-	 * This variation uncovered XFS BUG #15 (EBADF errno returned instead
-	 * of EINVAL)
-	 */
-	for (i = 0, varNum = SET_EVENTLIST_BASE + 10; i < DM_EVENT_MAX;
-	     i++, varNum++) {
-		if (DMVAR_EXEC(varNum)) {
-			dm_sessid_t newsid;
-			dm_eventset_t eventset;
-
-			/* Variation set up */
-			DMEV_ZERO(eventset);
-			DMEV_SET(i, eventset);
-			rc = dm_create_session(DM_NO_SESSION, szSessionInfo,
-					       &newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-				DMVAR_SKIP();
-			} else {
-				/* Variation */
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s(global handle, %s)\n",
-					    szFuncName,
-					    dmimpl_validEvents[i].name);
-				rc = dm_set_eventlist(newsid, DM_GLOBAL_HANP,
-						      DM_GLOBAL_HLEN,
-						      DM_NO_TOKEN, &eventset,
-						      DM_EVENT_MAX);
-				DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-				/* Variation clean up */
-				rc = dm_destroy_session(newsid);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Unable to clean up variation! (errno = %d)\n",
-						    errno);
-				}
-			}
-		}
-	}
-
-	/*
-	 * File system handle dm_set_eventlist variations
-	 */
-	for (i = 0; i < DM_EVENT_MAX; i++, varNum++) {
-		if (DMVAR_EXEC(varNum)) {
-			dm_sessid_t newsid;
-			void *hanp;
-			size_t hlen;
-			dm_eventset_t eventset;
-
-			/* Variation set up */
-			DMEV_ZERO(eventset);
-			DMEV_SET(i, eventset);
-			if ((rc =
-			     dm_create_session(DM_NO_SESSION, szSessionInfo,
-					       &newsid)) == -1) {
-				/* No clean up */
-			} else
-			    if ((rc =
-				 dm_path_to_fshandle(DummyFile, &hanp,
-						     &hlen)) == -1) {
-				dm_destroy_session(newsid);
-			}
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-				DMVAR_SKIP();
-			} else {
-				/* Variation */
-				DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle, %s)\n",
-					    szFuncName,
-					    dmimpl_validEvents[i].name);
-				rc = dm_set_eventlist(newsid, hanp, hlen,
-						      DM_NO_TOKEN, &eventset,
-						      DM_EVENT_MAX);
-				if (dmimpl_validEvents[i].bFSHandle)
-					DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-				else
-					DMVAR_ENDFAILEXP(szFuncName, -1, rc,
-							 EINVAL);
-
-				/* Variation clean up */
-				rc = dm_destroy_session(newsid);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Unable to clean up variation! (errno = %d)\n",
-						    errno);
-				}
-				dm_handle_free(hanp, hlen);
-			}
-		}
-	}
-
-	/*
-	 * Directory handle dm_set_eventlist variations
-	 */
-	for (i = 0; i < DM_EVENT_MAX; i++, varNum++) {
-		if (DMVAR_EXEC(varNum)) {
-			dm_sessid_t newsid;
-			void *hanp;
-			size_t hlen;
-			dm_eventset_t eventset;
-
-			/* Variation set up */
-			DMEV_ZERO(eventset);
-			DMEV_SET(i, eventset);
-			if ((rc =
-			     dm_create_session(DM_NO_SESSION, szSessionInfo,
-					       &newsid)) == -1) {
-				/* No clean up */
-			} else
-			    if ((rc =
-				 dm_path_to_handle(DummySubdir, &hanp,
-						   &hlen)) == -1) {
-				dm_destroy_session(newsid);
-			}
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-				DMVAR_SKIP();
-			} else {
-				/* Variation */
-				DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle, %s)\n",
-					    szFuncName,
-					    dmimpl_validEvents[i].name);
-				rc = dm_set_eventlist(newsid, hanp, hlen,
-						      DM_NO_TOKEN, &eventset,
-						      DM_EVENT_MAX);
-				if (dmimpl_validEvents[i].bDirHandle)
-					DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-				else
-					DMVAR_ENDFAILEXP(szFuncName, -1, rc,
-							 EINVAL);
-
-				/* Variation clean up */
-				rc = dm_destroy_session(newsid);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Unable to clean up variation! (errno = %d)\n",
-						    errno);
-				}
-				dm_handle_free(hanp, hlen);
-			}
-		}
-	}
-
-	/*
-	 * File handle dm_set_eventlist variations
-	 */
-	for (i = 0; i < DM_EVENT_MAX; i++, varNum++) {
-		if (DMVAR_EXEC(varNum)) {
-			dm_sessid_t newsid;
-			void *hanp;
-			size_t hlen;
-			dm_eventset_t eventset;
-
-			/* Variation set up */
-			DMEV_ZERO(eventset);
-			DMEV_SET(i, eventset);
-			if ((rc =
-			     dm_create_session(DM_NO_SESSION, szSessionInfo,
-					       &newsid)) == -1) {
-				/* No clean up */
-			} else
-			    if ((rc =
-				 dm_path_to_handle(DummyFile, &hanp,
-						   &hlen)) == -1) {
-				dm_destroy_session(newsid);
-			}
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-				DMVAR_SKIP();
-			} else {
-				/* Variation */
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s(file handle, %s)\n", szFuncName,
-					    dmimpl_validEvents[i].name);
-				rc = dm_set_eventlist(newsid, hanp, hlen,
-						      DM_NO_TOKEN, &eventset,
-						      DM_EVENT_MAX);
-				if (dmimpl_validEvents[i].bFileHandle)
-					DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-				else
-					DMVAR_ENDFAILEXP(szFuncName, -1, rc,
-							 EINVAL);
-
-				/* Variation clean up */
-				rc = dm_destroy_session(newsid);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Unable to clean up variation! (errno = %d)\n",
-						    errno);
-				}
-				dm_handle_free(hanp, hlen);
-			}
-		}
-	}
-
-	szFuncName = "dm_get_eventlist";
-
-	/*
-	 * TEST    : dm_get_eventlist - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 1)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, DM_EVENT_MAX,
-					      &outeventset, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 2)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, DM_EVENT_MAX,
-					      &outeventset, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 3)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, (void *)INVALID_ADDR,
-					      hlen, DM_NO_TOKEN, DM_EVENT_MAX,
-					      &outeventset, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 4)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, DM_EVENT_MAX,
-					      &outeventset, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 5)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, INVALID_ADDR,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #16 (0 returned instead of -1 and
-	 * errno EINVAL)
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 6)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid nelem, fs handle
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 *
-	 * This variation uncovered XFS BUG #17 (EINVAL errno returned instead
-	 * of E2BIG, nelemp not updated)
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 7)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(invalid nelem, fs handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      0, &outeventset, &nelem);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					if (nelem == DM_EVENT_ATTRIBUTE + 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d (nelem = %d)\n",
-							    szFuncName, rc,
-							    errno, nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-							    szFuncName, rc,
-							    nelem,
-							    DM_EVENT_ATTRIBUTE +
-							    1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid nelem, file handle
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 8)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(invalid nelem, file handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      0, &outeventset, &nelem);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					if (nelem == DM_EVENT_ATTRIBUTE + 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d (nelem = %d)\n",
-							    szFuncName, rc,
-							    errno, nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-							    szFuncName, rc,
-							    nelem,
-							    DM_EVENT_ATTRIBUTE +
-							    1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid eventsetp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 9)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid eventsetp)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX,
-					      (dm_eventset_t *) INVALID_ADDR,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalid nelemp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 10)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelemp)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      (u_int *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - zero event, fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 11)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(zero event, fs handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == 0) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - zero event, file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 12)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(zero event, file handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == 0) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - one event, fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 13)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one event, fs handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_ATTRIBUTE + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_ATTRIBUTE + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - one event, file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 14)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one event, file handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_ATTRIBUTE + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_ATTRIBUTE + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - multi event, fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 15)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_CLOSE, ineventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		DMEV_SET(DM_EVENT_DESTROY, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(multi event, fs handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_DESTROY + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_DESTROY + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - multi event, file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 16)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_CLOSE, ineventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		DMEV_SET(DM_EVENT_DESTROY, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					  &ineventset, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(multi event, file handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_DESTROY + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_DESTROY + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - read event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 17)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-		dm_region_t region = { 0, 0, DM_REGION_READ };
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_READ, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_region(newsid, hanp, hlen, DM_NO_TOKEN, 1,
-				       &region, &exactflag)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(read event)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_READ + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_READ + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - write event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 18)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-		dm_region_t region = { 0, 10, DM_REGION_WRITE };
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_WRITE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_region(newsid, hanp, hlen, DM_NO_TOKEN, 1,
-				       &region, &exactflag)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(write event)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_WRITE + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_WRITE + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - truncate event
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 19)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-		dm_region_t region =
-		    { TMP_FILELEN - 10, 0, DM_REGION_TRUNCATE };
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_TRUNCATE, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if ((rc =
-			 dm_set_region(newsid, hanp, hlen, DM_NO_TOKEN, 1,
-				       &region, &exactflag)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(truncate event)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_TRUNCATE + 1) {
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_TRUNCATE + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - event union, file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 20)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-		dm_region_t region =
-		    { TMP_FILELEN - 10, 0, DM_REGION_TRUNCATE };
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-		DMEV_SET(DM_EVENT_CLOSE, ineventset);
-		DMEV_SET(DM_EVENT_ATTRIBUTE, ineventset);
-		DMEV_SET(DM_EVENT_DESTROY, ineventset);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					   &ineventset, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(newsid, hanp, hlen, DM_NO_TOKEN, 1,
-					&region, &exactflag)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(event union, file handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == DM_EVENT_DESTROY + 1) {
-					DMEV_SET(DM_EVENT_TRUNCATE, ineventset);
-					if (memcmp
-					    (&ineventset, &outeventset,
-					     sizeof(dm_eventset_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but eventsets not same (%llx vs %llx)\n",
-							    szFuncName, 0,
-							    ineventset,
-							    outeventset);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    DM_EVENT_DESTROY + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			DMEV_ZERO(ineventset);
-			rc = dm_set_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      &ineventset, DM_EVENT_MAX);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 21)) {
-		dm_sessid_t newsid;
-		dm_eventset_t outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, DM_GLOBAL_HANP,
-					      DM_GLOBAL_HLEN, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_eventlist - invalidated file handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_EVENTLIST_BASE + 22)) {
-		dm_sessid_t newsid;
-		void *hanp;
-		size_t hlen;
-		dm_eventset_t ineventset, outeventset;
-		u_int nelem;
-
-		/* Variation set up */
-		DMEV_ZERO(ineventset);
-		DMEV_ZERO(outeventset);
-
-		sprintf(command, "cp %s %s", DummyFile, DummyFile2);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_session(DM_NO_SESSION, szSessionInfo,
-					   &newsid)) == -1) {
-			remove(DummyFile2);
-		} else if ((rc = dm_path_to_handle(DummyFile2, &hanp, &hlen)) ==
-			   -1) {
-			dm_destroy_session(newsid);
-			remove(DummyFile2);
-		} else if ((rc = remove(DummyFile2)) == -1) {
-			dm_handle_free(hanp, hlen);
-			dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(invalidated file handle)\n",
-				    szFuncName);
-			rc = dm_get_eventlist(newsid, hanp, hlen, DM_NO_TOKEN,
-					      DM_EVENT_MAX, &outeventset,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/* We now need to repoint preunmount/unmount back to original session */
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-	DMEV_SET(DM_EVENT_UNMOUNT, events);
-	rc = dm_path_to_fshandle(DummyFile, &fshanp, &fshlen);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_fshandle failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	rc = dm_set_disp(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			 DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	remove(DummyFile);
-	rmdir(DummySubdir);
-	dm_handle_free(fshanp, fshlen);
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			switch (type) {
-			case DM_EVENT_PREUNMOUNT:
-			case DM_EVENT_READ:
-			case DM_EVENT_WRITE:
-			case DM_EVENT_TRUNCATE:
-			case DM_EVENT_CREATE:
-			case DM_EVENT_REMOVE:
-			case DM_EVENT_RENAME:
-			case DM_EVENT_LINK:
-			case DM_EVENT_SYMLINK:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			case DM_EVENT_POSTCREATE:
-			case DM_EVENT_POSTREMOVE:
-			case DM_EVENT_POSTRENAME:
-			case DM_EVENT_POSTLINK:
-			case DM_EVENT_POSTSYMLINK:
-			case DM_EVENT_ATTRIBUTE:
-			case DM_EVENT_CLOSE:
-				response = DM_RESP_INVALID;
-				break;
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/dm_impl.h b/testcases/kernel/fs/dmapi/dm_impl.h
deleted file mode 100644
index 62f1877e7..000000000
--- a/testcases/kernel/fs/dmapi/dm_impl.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: dm_impl.h
- *
- * PURPOSE	: Define implementation-dependent functions and variables
- * 		  common to all DMAPI test cases
- *
- * NOTES	: The validEvents[] table is derived from the XDSM
- * 		  specification, and then the row(s) for unsupported event(s)
- * 		  are set to DM_FALSE.  The definition from the specification
- * 		  is:
- *
- * eventValidity_t validEvents[DM_EVENT_MAX] = {
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_CANCEL" },
- *	{ DM_TRUE , DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_MOUNT" },
- *	{ DM_FALSE, DM_TRUE , DM_FALSE, DM_FALSE , "DM_EVENT_PREUNMOUNT" },
- *	{ DM_FALSE, DM_TRUE , DM_FALSE, DM_FALSE , "DM_EVENT_UNMOUNT" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_DEBUT" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_CREATE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_CLOSE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTCREATE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_REMOVE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTREMOVE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_RENAME" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTRENAME" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_LINK" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTLINK" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_SYMLINK" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTSYMLINK" },
- *	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_READ" },
- *	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_WRITE" },
- *	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_TRUNCATE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_ATTRIBUTE" },
- *	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_DESTROY" },
- *	{ DM_FALSE, DM_TRUE , DM_FALSE, DM_FALSE , "DM_EVENT_NOSPACE" },
- *	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_USER" }
- * };
- *
- */
-
-#include <sys/mount.h>
-
-#ifdef JFS
-configResult_t dmimpl_expectedResults[CONFIG_MAX] = {
-	{ "DM_CONFIG_INVALID", 0 },
-	{ "DM_CONFIG_BULKALL", DM_FALSE },
-	{ "DM_CONFIG_CREATE_BY_HANDLE", DM_FALSE },
-	{ "DM_CONFIG_DTIME_OVERLOAD", DM_TRUE },
-	{ "DM_CONFIG_LEGACY", DM_TRUE },
-	{ "DM_CONFIG_LOCK_UPGRADE", DM_FALSE },
-	{ "DM_CONFIG_MAX_ATTR_ON_DESTROY", 256 /* from dmapi_jfs.c */},
-	{ "DM_CONFIG_MAX_ATTRIBUTE_SIZE", 0xFFFF /* from jfs_xattr.h */},
-	{ "DM_CONFIG_MAX_HANDLE_SIZE", 56 /* from dmapi_kern.h */},
-	{ "DM_CONFIG_MAX_MANAGED_REGIONS", 0x7FFFFFFF /* from dmapi_jfs.c */},
-	{ "DM_CONFIG_MAX_MESSAGE_DATA", 3960 /* from dmapi_private.h */},
-	{ "DM_CONFIG_OBJ_REF", DM_TRUE },
-	{ "DM_CONFIG_PENDING", DM_TRUE }, // ?
-	{ "DM_CONFIG_PERS_ATTRIBUTES", DM_TRUE },
-	{ "DM_CONFIG_PERS_EVENTS", DM_FALSE },
-	{ "DM_CONFIG_PERS_INHERIT_ATTRIBS", DM_FALSE },
-	{ "DM_CONFIG_PERS_MANAGED_REGIONS", DM_TRUE },
-	{ "DM_CONFIG_PUNCH_HOLE", DM_TRUE },
-	{ "DM_CONFIG_TOTAL_ATTRIBUTE_SPACE", 0x7FFFFFFF /* from dmapi_jfs.c */},
-	{ "DM_CONFIG_WILL_RETRY", DM_TRUE }
-};
-
-/* JFS does not support DM_EVENT_CANCEL or DM_EVENT_DEBUT */
-eventValidity_t dmimpl_validEvents[DM_EVENT_MAX] = {
-	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_CANCEL" },
-	{ DM_TRUE , DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_MOUNT" },
-	{ DM_FALSE, DM_TRUE , DM_FALSE, DM_FALSE , "DM_EVENT_PREUNMOUNT" },
-	{ DM_FALSE, DM_TRUE , DM_FALSE, DM_FALSE , "DM_EVENT_UNMOUNT" },
-	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_DEBUT" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_CREATE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_CLOSE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTCREATE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_REMOVE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTREMOVE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_RENAME" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTRENAME" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_LINK" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTLINK" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_SYMLINK" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_FALSE , "DM_EVENT_POSTSYMLINK" },
-	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_READ" },
-	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_WRITE" },
-	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_TRUNCATE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_ATTRIBUTE" },
-	{ DM_FALSE, DM_TRUE , DM_TRUE , DM_TRUE  , "DM_EVENT_DESTROY" },
-	{ DM_FALSE, DM_TRUE , DM_FALSE, DM_FALSE , "DM_EVENT_NOSPACE" },
-	{ DM_FALSE, DM_FALSE, DM_FALSE, DM_FALSE , "DM_EVENT_USER" }
-};
-
-dm_eventset_t dmimpl_eventset =
-/*	(1 << DM_EVENT_CANCEL)		| */
-	(1 << DM_EVENT_MOUNT)		|
-	(1 << DM_EVENT_PREUNMOUNT)	|
-	(1 << DM_EVENT_UNMOUNT)		|
-/*	(1 << DM_EVENT_DEBUT) 		| */
-	(1 << DM_EVENT_CREATE)		|
-	(1 << DM_EVENT_CLOSE)		|
-	(1 << DM_EVENT_POSTCREATE)	|
-	(1 << DM_EVENT_REMOVE)		|
-	(1 << DM_EVENT_POSTREMOVE)	|
-	(1 << DM_EVENT_RENAME)		|
-	(1 << DM_EVENT_POSTRENAME)	|
-	(1 << DM_EVENT_LINK)		|
-	(1 << DM_EVENT_POSTLINK)	|
-	(1 << DM_EVENT_SYMLINK)		|
-	(1 << DM_EVENT_POSTSYMLINK)	|
-	(1 << DM_EVENT_READ)		|
-	(1 << DM_EVENT_WRITE)		|
-	(1 << DM_EVENT_TRUNCATE)	|
-	(1 << DM_EVENT_ATTRIBUTE)	|
-	(1 << DM_EVENT_DESTROY)		|
-	(1 << DM_EVENT_NOSPACE)		|
-	(1 << DM_EVENT_USER);
-
-int dmimpl_mount(char **mountPt, char **deviceNm) {
-	char options[FILENAME_MAX];
-
-	if ((*mountPt = DMOPT_GET("mtpt")) == NULL) {
-		DMLOG_PRINT(DMLVL_ERR, "Missing mount point, use -mtpt (for example, -mtpt /dmapidir)\n");
-		DM_EXIT();
-	} else {
-		DMLOG_PRINT(DMLVL_DEBUG, "Mount point is %s\n", *mountPt);
-	}
-
-	if ((*deviceNm = DMOPT_GET("device")) == NULL) {
-		DMLOG_PRINT(DMLVL_ERR, "Missing device name, use -device (for example, -device /dev/hda5)\n");
-		DM_EXIT();
-	} else {
-		DMLOG_PRINT(DMLVL_DEBUG, "Device name is %s\n", *deviceNm);
-	}
-
-	sprintf(options, "dmapi,mtpt=%s", *mountPt);
-	EVENT_DELIVERY_DELAY;
-	DMLOG_PRINT(DMLVL_DEBUG, "Mounting %s on %s now...\n", *deviceNm, *mountPt);
-	return mount(*deviceNm, *mountPt, "jfs", 0, options);
-}
-#endif
diff --git a/testcases/kernel/fs/dmapi/dm_test.c b/testcases/kernel/fs/dmapi/dm_test.c
deleted file mode 100644
index dc0dbdaf6..000000000
--- a/testcases/kernel/fs/dmapi/dm_test.c
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * FILE NAME	: dm_test.c
- *
- * PURPOSE	: Define functions and variables common to all DMAPI test cases
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stdint.h>
-#include <errno.h>
-#include <time.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include "dm_test.h"
-
-#define TEST_NAME "dm_test"
-
-int dm_StartingVariation = 0;
-int dm_StoppingVariation = INT32_MAX;
-int dm_CurrentVariation = 0;
-u_int dm_FileLoggingLevel = 0;
-u_int dm_TerminalLoggingLevel = 0;
-char *dm_LogFileName = "dm_logfile";
-u_int dm_PassedVariations = 0;
-u_int dm_FailedVariations = 0;
-u_int dm_SkippedVariations = 0;
-char *dm_TestCaseName = TEST_NAME;
-int dm_fdLogFile;
-FILE *dm_fpLogFile;
-int dm_argc = 0;
-char **dm_argv = NULL;
-int dm_FileNewlineNeeded;
-int dm_TerminalNewlineNeeded;
-
-void dm_ParseCommandLineOptions(int argc, char **argv)
-{
-
-	int i;
-	char *p;
-
-	if ((p = strrchr(argv[0], '/')) != NULL)
-		dm_TestCaseName = ++p;
-
-	for (i = 1; i < argc; i++) {
-		if (argv[i][0] == '-') {
-			if (strcmp(&argv[i][1], "runfrom") == 0) {
-				if (i < argc - 1 && argv[i + 1][0] != '-')
-					dm_StartingVariation = atoi(argv[++i]);
-				else
-					dm_Error
-					    ("invalid/missing runfrom argument\n");
-			} else if (strcmp(&argv[i][1], "runto") == 0) {
-				if (i < argc - 1 && argv[i + 1][0] != '-')
-					dm_StoppingVariation = atoi(argv[++i]);
-				else
-					dm_Error
-					    ("invalid/missing runto argument\n");
-			} else if (strcmp(&argv[i][1], "runonly") == 0) {
-				if (i < argc - 1 && argv[i + 1][0] != '-') {
-					dm_StartingVariation = atoi(argv[++i]);
-					dm_StoppingVariation =
-					    dm_StartingVariation;
-				} else
-					dm_Error
-					    ("invalid/missing runonly argument\n");
-			} else if (strcmp(&argv[i][1], "loglevel") == 0) {
-				if (i < argc - 1 && argv[i + 1][0] != '-')
-					dm_FileLoggingLevel = atoi(argv[++i]);
-				else
-					dm_Error
-					    ("invalid/missing loglevel argument\n");
-			} else if (strcmp(&argv[i][1], "termlevel") == 0) {
-				if (i < argc - 1 && argv[i + 1][0] != '-')
-					dm_TerminalLoggingLevel =
-					    atoi(argv[++i]);
-				else
-					dm_Error
-					    ("invalid/missing termlevel argument\n");
-			} else if (strcmp(&argv[i][1], "logname") == 0) {
-				if (i < argc - 1 && argv[i + 1][0] != '-')
-					dm_LogFileName = argv[++i];
-				else
-					dm_Error
-					    ("invalid/missing filename argument\n");
-			} else if (strcmp(&argv[i][1], "?") == 0
-				   || strcmp(&argv[i][1], "help") == 0
-				   || strcmp(&argv[i][1], "-help") == 0) {
-				printf("%s usage:\n", argv[0]);
-				printf
-				    ("\t-runfrom n: set starting variation to n\n");
-				printf
-				    ("\t-runto n: set stopping variation to n\n");
-				printf("\t-runonly n: run only variation n\n");
-				printf
-				    ("\t-loglevel n: set file logging level to n\n");
-				printf
-				    ("\t-termlevel n: set terminal logging level to n\n");
-				printf
-				    ("\t-logname s: set file log name to s\n");
-				exit(0);
-			} else if (i < argc - 1 && argv[i + 1][0] != '-')
-				i++;
-		}
-	}
-
-	dm_argc = argc;
-	dm_argv = argv;
-
-}
-
-char *dm_GetCommandLineOption(char *option)
-{
-
-	int i;
-
-	if (!dm_argc)
-		dm_Error
-		    ("Cannot get command line option without calling DMOPT_PARSE");
-
-	for (i = 1; i < dm_argc; i++)
-		if (dm_argv[i][0] == '-' &&
-		    strcmp(&dm_argv[i][1], option) == 0 &&
-		    i < dm_argc - 1 && dm_argv[i + 1][0] != '-')
-			return dm_argv[i + 1];
-	return NULL;
-
-}
-
-void dm_StartLogging(void)
-{
-
-	struct utsname buf;
-	char version[256];
-	struct timeval tv;
-	struct tm *pDT = NULL;
-	struct tm sDT;
-	int i;
-
-	if (dm_fpLogFile)
-		dm_Error("Cannot start logging when log file already open");
-
-	dm_fdLogFile =
-	    open(dm_LogFileName, O_CREAT | O_APPEND | O_SYNC | O_WRONLY,
-		 S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
-
-	if (dm_fdLogFile == -1)
-		dm_Error("Unable to open log file %s", dm_LogFileName);
-
-	dm_fpLogFile = fdopen(dm_fdLogFile, "a");
-
-	if (dm_fpLogFile == NULL)
-		dm_Error("Unable to fdopen log file %s", dm_LogFileName);
-
-	if (uname(&buf) == -1)
-		strcpy(version, "Unknown Linux version");
-	else
-		sprintf(version, "%s %s", buf.sysname, buf.release);
-
-	if (gettimeofday(&tv, NULL) != -1)
-		pDT = (struct tm *)localtime_r(&tv.tv_sec, &sDT);
-
-	if (dm_FileLoggingLevel) {
-		fprintf(dm_fpLogFile, "%s running on %s\n", TEST_NAME, version);
-		fprintf(dm_fpLogFile, "%s invoked with ", dm_TestCaseName);
-		for (i = 1; i < dm_argc; i++)
-			fprintf(dm_fpLogFile, "%s ", dm_argv[i]);
-		if (pDT)
-			fprintf(dm_fpLogFile,
-				"\n%s starting@%02u:%02u:%02u on %02u/%02u/%04u\n",
-				dm_TestCaseName, pDT->tm_hour, pDT->tm_min,
-				pDT->tm_sec, pDT->tm_mon + 1, pDT->tm_mday,
-				pDT->tm_year + 1900);
-		else
-			fprintf(dm_fpLogFile, "\n%s starting\n",
-				dm_TestCaseName);
-
-	}
-
-	if (dm_TerminalLoggingLevel) {
-		printf("%s running on %s\n", TEST_NAME, version);
-		printf("%s invoked with ", dm_TestCaseName);
-		for (i = 1; i < dm_argc; i++)
-			printf("%s ", dm_argv[i]);
-		if (pDT)
-			printf
-			    ("\n%s starting@%02u:%02u:%02u on %02u/%02u/%04u\n",
-			     dm_TestCaseName, pDT->tm_hour, pDT->tm_min,
-			     pDT->tm_sec, pDT->tm_mon + 1, pDT->tm_mday,
-			     pDT->tm_year + 1900);
-		else
-			printf("\n%s starting\n", dm_TestCaseName);
-	}
-
-}
-
-void dm_StopLogging(void)
-{
-
-	struct timeval tv;
-	struct tm *pDT = NULL;
-	struct tm sDT;
-	int ranVariations = 0;
-	int percentSuccess = 0;
-
-	if (!dm_fpLogFile)
-		dm_Error("Cannot stop logging when log file not already open");
-
-	ranVariations = dm_PassedVariations + dm_FailedVariations;
-
-	if (dm_PassedVariations)
-		percentSuccess = (dm_PassedVariations * 100) / ranVariations;
-
-	if (gettimeofday(&tv, NULL) != -1)
-		pDT = (struct tm *)localtime_r(&tv.tv_sec, &sDT);
-
-	if (dm_FileLoggingLevel) {
-		if (pDT)
-			fprintf(dm_fpLogFile,
-				"%s stopping at %02u:%02u:%02u on %02u/%02u/%04u\n",
-				dm_TestCaseName, pDT->tm_hour, pDT->tm_min,
-				pDT->tm_sec, pDT->tm_mon + 1, pDT->tm_mday,
-				pDT->tm_year + 1900);
-		else
-			fprintf(dm_fpLogFile, "%s stopping\n", dm_TestCaseName);
-
-		fprintf(dm_fpLogFile,
-			"%s status: %u executed, %u passed, %u failed, %u skipped (%u%%)\n",
-			dm_TestCaseName, ranVariations, dm_PassedVariations,
-			dm_FailedVariations, dm_SkippedVariations,
-			percentSuccess);
-	}
-
-	if (dm_TerminalLoggingLevel) {
-		if (pDT)
-			printf
-			    ("%s stopping at %02u:%02u:%02u on %02u/%02u/%04u\n",
-			     dm_TestCaseName, pDT->tm_hour, pDT->tm_min,
-			     pDT->tm_sec, pDT->tm_mon + 1, pDT->tm_mday,
-			     pDT->tm_year + 1900);
-		else
-			printf("%s stopping\n", dm_TestCaseName);
-
-		printf
-		    ("%s status: %u executed, %u passed, %u failed, %u skipped (%u%%)\n",
-		     dm_TestCaseName, ranVariations, dm_PassedVariations,
-		     dm_FailedVariations, dm_SkippedVariations, percentSuccess);
-	}
-
-	fclose(dm_fpLogFile);
-	close(dm_fdLogFile);
-
-}
-
-void dm_Error(char *format, ...)
-{
-	va_list args;
-	char fmtmsg[256];
-
-	/*
-	 * Format error message including message inserts
-	 */
-	va_start(args, format);
-	vsprintf(fmtmsg, format, args);
-	va_end(args);
-
-	/*
-	 * Display error message if not detached or Presentation Manager process
-	 */
-	printf("\n%s fatal error: %s\n", TEST_NAME, fmtmsg);
-
-}
-
-void dm_LogPrintf(u_int level, char *format, ...)
-{
-
-	va_list args;
-
-	va_start(args, format);
-	if (level <= dm_FileLoggingLevel) {
-		fprintf(dm_fpLogFile, "[%s %d %d] ", dm_TestCaseName, getpid(),
-			level);
-		vfprintf(dm_fpLogFile, format, args);
-		dm_FileNewlineNeeded = 1;
-	}
-	va_end(args);
-	va_start(args, format);
-	if (level <= dm_TerminalLoggingLevel) {
-		printf("[%s %d %d] ", dm_TestCaseName, getpid(), level);
-		vprintf(format, args);
-		dm_TerminalNewlineNeeded = 1;
-	}
-	va_end(args);
-
-}
-
-int dm_ExecuteVariation(int var)
-{
-
-	if (dm_CurrentVariation)
-		dm_Error("Cannot execute variation while variation active\n");
-	if (var < dm_StartingVariation || var > dm_StoppingVariation)
-		return 0;
-
-	dm_CurrentVariation = var;
-
-	if (dm_FileNewlineNeeded)
-		fputc('\n', dm_fpLogFile);
-	if (dm_TerminalNewlineNeeded)
-		putchar('\n');
-
-	dm_LogPrintf(DMLVL_DEBUG, "Variation %d starting\n", var);
-
-	return 1;
-
-}
-
-void dm_PassVariation(void)
-{
-
-	if (!dm_CurrentVariation)
-		dm_Error("Cannot pass variation while variation not active\n");
-
-	dm_LogPrintf(DMLVL_DEBUG, "Variation %d passed\n\n",
-		     dm_CurrentVariation);
-	dm_FileNewlineNeeded = dm_TerminalNewlineNeeded = 0;
-
-	dm_PassedVariations++;
-
-	dm_CurrentVariation = 0;
-
-}
-
-void dm_FailVariation(void)
-{
-
-	if (!dm_CurrentVariation)
-		dm_Error("Cannot fail variation while variation not active\n");
-
-	dm_LogPrintf(DMLVL_DEBUG, "Variation %d failed\n\n",
-		     dm_CurrentVariation);
-	dm_FileNewlineNeeded = dm_TerminalNewlineNeeded = 0;
-
-	dm_FailedVariations++;
-
-	dm_CurrentVariation = 0;
-
-}
-
-void dm_SkipVariation(void)
-{
-
-	if (!dm_CurrentVariation)
-		dm_Error("Cannot skip variation while variation not active\n");
-
-	dm_LogPrintf(DMLVL_DEBUG, "Variation %d skipped\n\n",
-		     dm_CurrentVariation);
-	dm_FileNewlineNeeded = dm_TerminalNewlineNeeded = 0;
-
-	dm_SkippedVariations++;
-
-	dm_CurrentVariation = 0;
-
-}
-
-void dm_EndVariation_SuccessExpected(char *funcname, int expectedRC,
-				     int actualRC)
-{
-
-	if (actualRC == expectedRC) {
-		DMLOG_PRINT(DMLVL_DEBUG, "%s passed with expected rc = %d\n",
-			    funcname, expectedRC);
-		DMVAR_PASS();
-	} else {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "%s failed with unexpected rc = %d (errno = %d)\n",
-			    funcname, actualRC, errno);
-		DMVAR_FAIL();
-	}
-
-}
-
-void dm_EndVariation_FailureExpected(char *funcname, int expectedRC,
-				     int actualRC, int expectedErrno)
-{
-
-	if (actualRC == expectedRC) {
-		if (errno == expectedErrno) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s passed with expected rc = %d and expected errno = %d\n",
-				    funcname, expectedRC, expectedErrno);
-			DMVAR_PASS();
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with expected rc = %d but unexpected errno = %d (expected %d)\n",
-				    funcname, expectedRC, errno, expectedErrno);
-			DMVAR_FAIL();
-		}
-	} else {
-		DMLOG_PRINT(DMLVL_ERR, "%s failed with unexpected rc = %d\n",
-			    funcname, actualRC);
-		DMVAR_FAIL();
-	}
-
-}
-
-int dm_CheckVariation_SuccessExpected(int expectedRC, int actualRC,
-				      dm_eventtype_t expectedEvent,
-				      dm_eventtype_t actualEvent)
-{
-
-	if (expectedEvent == actualEvent) {
-		if (actualRC == expectedRC) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Passed, received expected event %d\n",
-				    expectedEvent);
-			return DMSTAT_PASS;
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Failed, received expected event %d but unexpected rc = %d (expected %d)\n",
-				    expectedEvent, actualRC, expectedRC);
-			return DMSTAT_FAIL;
-		}
-	} else {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "Failed, received unexpected event %d (expected %d)\n",
-			    actualEvent, expectedEvent);
-		return DMSTAT_FAIL;
-	}
-
-}
-
-int dm_CheckVariation_FailureExpected(int expectedRC, int actualRC,
-				      int expectedErrno,
-				      dm_eventtype_t expectedEvent,
-				      dm_eventtype_t actualEvent)
-{
-
-	if (expectedEvent == actualEvent) {
-		if (actualRC == expectedRC) {
-			if (errno == expectedErrno) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Passed, received expected event %d\n",
-					    expectedEvent);
-				return DMSTAT_PASS;
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Failed, received expected event %d but unexpected errno = %d (expected %d)\n",
-					    expectedEvent, errno,
-					    expectedErrno);
-				return DMSTAT_FAIL;
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Failed, received expected event %d but unexpected rc = %d (expected %d)\n",
-				    expectedEvent, actualRC, expectedRC);
-			return DMSTAT_FAIL;
-		}
-	} else {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "Failed, received unexpected event %d (expected %d)\n",
-			    actualEvent, expectedEvent);
-		return DMSTAT_FAIL;
-	}
-
-}
-
-void dm_LogHandle(char *hdl, int len)
-{
-
-	int i;
-	char outbuf[256], *pch;
-
-	memset(outbuf, 0, sizeof(outbuf));
-
-	for (i = 0, pch = outbuf; i < len; i++, pch += 3)
-		sprintf(pch, " %02X", hdl[i]);
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Handle: %s\n", outbuf);
-
-}
-
-/* This static array is for the persistent managed region test */
-dm_region_t dm_PMR_regbuf[PMR_NUM_REGIONS] = {
-#ifdef MULTIPLE_REGIONS
-	{0, 1000, DM_REGION_WRITE}
-	,
-	{2000, 1000, DM_REGION_TRUNCATE}
-	,
-	{3005, 995, DM_REGION_READ}
-	,
-	{5432, 2345, DM_REGION_NOEVENT}
-	,
-#endif
-	{8000, 0, DM_REGION_READ | DM_REGION_WRITE | DM_REGION_TRUNCATE}
-};
-
-/* Include implementation-dependent functions and variables */
-#include "dm_impl.h"
diff --git a/testcases/kernel/fs/dmapi/dm_test.h b/testcases/kernel/fs/dmapi/dm_test.h
deleted file mode 100644
index d30e0c01d..000000000
--- a/testcases/kernel/fs/dmapi/dm_test.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * FILE NAME	: dm_test.h
- *
- * PURPOSE	: Define macros and constants common to all DMAPI test cases
- */
-
-#include <stdlib.h>
-#if HAVE_SYS_JFSDMAPI_H
-#include <sys/jfsdmapi.h>
-#endif
-#include "dm_vars.h"
-
-/* The following constants are implementation-independent */
-#define ABORT_ERRNO 12
-#define DUMMY_STRING "0123456789"
-#define DUMMY_STRING2 "9876543210"
-#define DUMMY_STRLEN (sizeof(DUMMY_STRING)-1)
-#define ATTR_NAME "DMAttr01"
-#define ATTR_VALUE "This is a DM attribute's value"
-#define ATTR_VALUELEN (sizeof(ATTR_VALUE)-1)
-#define DUMMY_TIME 0xCAFEFEED
-#define DUMMY_UID 0xDEAD
-#define DUMMY_GID 0xBEEF
-#define DUMMY_MODE 0xBAD
-#define MODE_MASK 0x0FFF
-#define CURRENT_DIR "."
-#define PARENT_DIR ".."
-#define MSG_DATA "This is the message data for a DM user event"
-#define MSG_DATALEN sizeof(MSG_DATA)
-#define DWALIGN(n) (((n)+(sizeof(int)-1)) & ~(sizeof(int)-1))
-
-/* The following constants are more than likely implementation-dependent */
-#define INVALID_ADDR 0xDEADBEEF
-#define FILE_HANDLELEN 24
-#define EVENT_DELIVERY_DELAY sleep(1)
-#define EVENT_DELIVERY_DELAY_LOOP { \
-	do { \
-		eventReceived = DM_EVENT_INVALID; \
-		EVENT_DELIVERY_DELAY; \
-	} while (eventReceived != DM_EVENT_INVALID); \
-}
-#define TIMESTAMP_DELAY { \
-	DMLOG_PRINT(DMLVL_DEBUG, "Sleeping to guarantee timestamp change...\n"); \
-	sleep(3); \
-}
-#define PAGE_SIZE 4096
-#define PAGEALIGN(n) (((n)+(PAGE_SIZE-1)) & ~(PAGE_SIZE-1))
-#define O_DIRECTORY 0200000
-
-/* The following constants are implementation-dependent */
-#define DMAPI_ATTR_PREFIX "user.dmi."
-#define PMR_ATTRNAME "system.dmi.persistent.regions"
-#define MAXFILESIZE ((__s64)1 << 52)
-#define ROOT_INODE 2
-#define BLK_SIZE 4096
-#define BLKALIGN(n) (((n)+(BLK_SIZE-1)) & ~(BLK_SIZE-1))
-#define UNALIGNED_BLK_OFF 1357 /* Odd number less than BLK_SIZE */
-
-/* The following constants are file/directory/link names */
-#define DUMMY_FILE "dummy.txt"
-#define DUMMY_FILE2 "dummy2.txt"
-#define DUMMY_LINK "dummy.lnk"
-#define DUMMY_SUBDIR "dummy.dir"
-#define DUMMY_SUBDIR2 "dummy2.dir"
-#define DUMMY_SUBDIR_FILE "dummy.dir/dummy.txt"
-#define DUMMY_SUBDIR_LINK "dummy.dir/dummy.lnk"
-#define DUMMY_SUBDIR_SUBDIR "dummy.dir/dummy.dir"
-#define DUMMY_SUBDIR2_FILE "dummy2.dir/dummy.txt"
-#define DUMMY_SUBDIR2_LINK "dummy2.dir/dummy.lnk"
-#define DUMMY_SUBDIR2_SUBDIR "dummy2.dir/dummy.dir"
-#define DUMMY_TMP "dummy.tmp"
-#define DUMMY_FILE_RO_MODE 	(S_IRUSR | S_IRGRP | S_IROTH)
-#define DUMMY_FILE_RW_MODE 	(DUMMY_FILE_RO_MODE | S_IWUSR)
-#define DUMMY_DIR_RO_MODE 	(DUMMY_FILE_RO_MODE | S_IXUSR | S_IXGRP | S_IXOTH)
-#define DUMMY_DIR_RW_MODE	(DUMMY_DIR_RO_MODE | S_IWUSR)
-
-/* The following constants and macros pertain to DM logging */
-#define DMLVL_ERR	1
-#define DMLVL_WARN	2
-#define DMLVL_DEBUG	3
-#define DMLVL_INFO	4
-
-#define DMSTAT_PASS	1
-#define DMSTAT_FAIL	2
-#define DMSTAT_SKIP	3
-
-#define DMLOG_START()	dm_StartLogging()
-#define DMLOG_STOP()	dm_StopLogging()
-#define DMLOG_PRINT	dm_LogPrintf
-#define DMVAR_EXEC(v)	dm_ExecuteVariation(v)
-#define DMVAR_PASS()	dm_PassVariation()
-#define DMVAR_FAIL()	dm_FailVariation()
-#define DMVAR_SKIP()	dm_SkipVariation()
-#define DMOPT_PARSE(c,v)	dm_ParseCommandLineOptions(c, v)
-#define DMOPT_GET(o)	dm_GetCommandLineOption(o)
-#define DM_ERROR	dm_error
-#define DM_EXIT()	exit(-1)
-#define DMVAR_ENDPASSEXP(n,e,a)	dm_EndVariation_SuccessExpected(n, e, a)
-#define DMVAR_ENDFAILEXP(n,e,a,f) dm_EndVariation_FailureExpected(n, e, a, f);
-#define DMVAR_CHKPASSEXP(e1,a1,e2,a2) dm_CheckVariation_SuccessExpected(e1, a1, e2, a2)
-#define DMVAR_CHKFAILEXP(e1,a1,e,e2,a2) dm_CheckVariation_FailureExpected(e1, a1, e, e2, a2)
-#define DMVAR_END(s)	{ if ((s) == DMSTAT_PASS) DMVAR_PASS(); else DMVAR_FAIL(); }
-
-/* DM logging global functions */
-void dm_ParseCommandLineOptions(int argc, char **argv);
-char *dm_GetCommandLineOption(char *option);
-void dm_StartLogging(void);
-void dm_StopLogging(void);
-void dm_Error(char *format, ...);
-void dm_LogPrintf(u_int level, char *format, ...);
-int dm_ExecuteVariation(int var);
-void dm_PassVariation(void);
-void dm_FailVariation(void);
-void dm_SkipVariation(void);
-void dm_EndVariation_SuccessExpected(char *funcname, int expectedRC, int actualRC);
-void dm_EndVariation_FailureExpected(char *funcname, int expectedRC, int actualRC, int expectedErrno);
-#if HAVE_SYS_JFSDMAPI_H
-int dm_CheckVariation_SuccessExpected(int expectedRC, int actualRC, dm_eventtype_t expectedEvent, dm_eventtype_t actualEvent);
-int dm_CheckVariation_FailureExpected(int expectedRC, int actualRC, int expectedErrno, dm_eventtype_t expectedEvent, dm_eventtype_t actualEvent);
-void dm_LogHandle(char *hdl, int len);
-
-/* Persistent managed regions global data */
-
-#ifdef MULTIPLE_REGIONS
-#define PMR_NUM_REGIONS 5
-#else
-#define PMR_NUM_REGIONS 1
-#endif
-extern dm_region_t dm_PMR_regbuf[];
-
-/* Implementation-dependent data structures */
-typedef struct configResult {
-	char		*name;
-	dm_size_t	result;
-} configResult_t;
-
-typedef struct eventValidity {
-	dm_boolean_t bGlobalHandle;
-	dm_boolean_t bFSHandle;
-	dm_boolean_t bDirHandle;
-	dm_boolean_t bFileHandle;
-	char *       name;
-} eventValidity_t;
-
-/* Implementation-dependent global function */
-int dmimpl_mount(char **mountPt, char **deviceNm);
-
-/* Implementation-dependent global data */
-#define CONFIG_MAX 20
-extern configResult_t dmimpl_expectedResults[];
-extern eventValidity_t dmimpl_validEvents[];
-extern dm_eventset_t dmimpl_eventset;
-#endif
diff --git a/testcases/kernel/fs/dmapi/dm_vars.h b/testcases/kernel/fs/dmapi/dm_vars.h
deleted file mode 100644
index 8f6b4b3c6..000000000
--- a/testcases/kernel/fs/dmapi/dm_vars.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * FILE NAME	: dm_vars.h
- *
- * PURPOSE	: Define variation number bases for all DMAPI test cases
- */
-
-/* session.c */
-#define CREATE_SESSION_BASE		1000
-#define DESTROY_SESSION_BASE		1050
-#define GETALL_SESSIONS_BASE		1100
-#define QUERY_SESSION_BASE		1150
-
-/* handle.c */
-#define PATH_TO_HANDLE_BASE		1200
-#define FD_TO_HANDLE_BASE		1250
-#define PATH_TO_FSHANDLE_BASE		1300
-#define HANDLE_TO_FSHANDLE_BASE		1350
-#define HANDLE_CMP_BASE			1400
-#define HANDLE_FREE_BASE		1450
-#define HANDLE_IS_VALID_BASE		1500
-#define HANDLE_HASH_BASE		1550
-#define HANDLE_TO_FSID_BASE		1600
-#define HANDLE_TO_IGEN_BASE		1650
-#define HANDLE_TO_INO_BASE		1700
-#define MAKE_HANDLE_BASE		1750
-#define MAKE_FSHANDLE_BASE		1800
-#define HANDLE_TO_PATH_BASE		1850
-#define SYNC_BY_HANDLE_BASE		1900
-
-/* event_sn.c */
-#define DIR_SYNC_NAMESP_EVENT_BASE	1950
-#define FILE_SYNC_NAMESP_EVENT_BASE	2000
-
-/* event_sd.c */
-#define FILE_READ_DATA_EVENT_BASE	2050
-#define FILE_WRITE_DATA_EVENT_BASE	2100
-#define FILE_TRUNC_DATA_EVENT_BASE	2150
-
-/* event_an.c */
-#define DIR_ASYNC_NAMESP_EVENT_BASE	2200
-#define FILE_ASYNC_NAMESP_EVENT_BASE	2250
-
-/* pmr_pre.c */
-#define SET_REGION_BASE			2300
-
-/* pmr_post.c */
-#define GET_REGION_BASE			2350
-
-/* event_am.c */
-#define DIR_ASYNC_META_EVENT_BASE	2400
-#define FILE_ASYNC_META_EVENT_BASE	2450
-#define SET_RETURN_ON_DESTROY_BASE	2500
-
-/* hole.c */
-#define GET_ALLOCINFO_BASE		2550
-#define PROBE_HOLE_BASE			2600
-#define PUNCH_HOLE_BASE			2650
-
-/* invis.c */
-#define READ_INVIS_BASE			2700
-#define WRITE_INVIS_BASE		2750
-
-/* attr.c */
-#define SET_DMATTR_BASE			2800
-#define GET_DMATTR_BASE			2850
-#define REMOVE_DMATTR_BASE		2900
-#define GETALL_DMATTR_BASE		2950
-#define SET_FILEATTR_BASE		3000
-#define GET_FILEATTR_BASE		3050
-#define INIT_ATTRLOC_BASE		3100
-#define GET_DIRATTRS_BASE		3150
-#define SET_INHERIT_BASE		3200
-#define CLEAR_INHERIT_BASE		3250
-#define GETALL_INHERIT_BASE		3300
-
-/* event_us.c */
-#define CREATE_USEREVENT_BASE		3350
-#define SEND_MSG_BASE			3400
-#define FIND_EVENTMSG_BASE		3450
-
-/* disp.c */
-#define GET_CONFIG_EVENTS_BASE		3500
-#define SET_DISP_BASE			3550
-#define GETALL_DISP_BASE		3600
-#define SET_EVENTLIST_BASE		3650
-#define GET_EVENTLIST_BASE		3800
-
-/* config.c */
-#define GET_CONFIG_BASE			3850
-
-/* objref.c */
-#define OBJ_REF_HOLD_BASE		3900
-#define OBJ_REF_RELE_BASE		3950
-#define OBJ_REF_QUERY_BASE		4000
-
-/* mount.c */
-#define GET_MOUNTINFO_BASE		4050
-
-/* token.c */
-#define GETALL_TOKENS_BASE		4100
-
-/* right.c */
-#define REQUEST_RIGHT_BASE		4150
-#define RELEASE_RIGHT_BASE		4200
-#define QUERY_RIGHT_BASE		4250
-#define UPGRADE_RIGHT_BASE		4300
-#define DOWNGRADE_RIGHT_BASE		4350
-
-/* mmap.c */
-#define MMAP_READ_BASE			4400
-#define MMAP_WRITE_BASE			4450
-
-/* event.c */
-#define GET_EVENTS_BASE			4500
-#define RESPOND_EVENT_BASE		4550
-#define MOVE_EVENT_BASE			4600
-#define PENDING_BASE			4650
diff --git a/testcases/kernel/fs/dmapi/event.c b/testcases/kernel/fs/dmapi/event.c
deleted file mode 100644
index adc4681bc..000000000
--- a/testcases/kernel/fs/dmapi/event.c
+++ /dev/null
@@ -1,1907 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: event.c
- *
- * VARIATIONS	: 41
- *
- * API'S TESTED	: dm_get_events
- * 		  dm_respond_event
- * 		  dm_move_event
- * 		  dm_pending
- */
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include <signal.h>
-#include "dm_test.h"
-
-#define MAX_EVENT (sizeof(dmMsgBuf)/(MSG_DATALEN+sizeof(dm_eventmsg_t)))
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char mountPt[FILENAME_MAX];
-char deviceNm[FILENAME_MAX];
-char *szFuncName;
-
-/* Variables for thread communications */
-int expectedNumMsg;
-u_int eventsFlags;
-int rcRespond;
-int errnoRespond;
-
-void *Thread(void *);
-
-void LogEventMsgs(void *bufp)
-{
-	int i = 0;
-	dm_eventmsg_t *em = (dm_eventmsg_t *) bufp;
-
-	while (em != NULL) {
-		DMLOG_PRINT(DMLVL_DEBUG, "  eventmsg %d:\n", i++);
-		DMLOG_PRINT(DMLVL_DEBUG, "    ev_type: %d\n", em->ev_type);
-		DMLOG_PRINT(DMLVL_DEBUG, "    ev_token: %d\n", em->ev_token);
-		DMLOG_PRINT(DMLVL_DEBUG, "    ev_sequence: %d\n",
-			    em->ev_sequence);
-		DMLOG_PRINT(DMLVL_DEBUG, "    ev_data: length %d, value %s\n",
-			    DM_GET_LEN(em, ev_data), DM_GET_VALUE(em, ev_data,
-								  dm_eventtype_t));
-
-		em = DM_STEP_TO_NEXT(em, dm_eventmsg_t *);
-	}
-}
-
-dm_eventmsg_t *GetSyncEventMsg(void *bufp)
-{
-	dm_eventmsg_t *em = (dm_eventmsg_t *) bufp;
-
-	while (em != NULL) {
-		if ((em->ev_type == DM_EVENT_USER)
-		    && (em->ev_token != DM_INVALID_TOKEN)) {
-			return em;
-		}
-		em = DM_STEP_TO_NEXT(em, dm_eventmsg_t *);
-	}
-
-	return NULL;
-}
-
-int GetNumEventMsg(void *bufp)
-{
-	dm_eventmsg_t *em = (dm_eventmsg_t *) bufp;
-	int i = 0;
-
-	while (em != NULL) {
-		i++;
-		em = DM_STEP_TO_NEXT(em, dm_eventmsg_t *);
-	}
-	return i;
-}
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI move event tests\n");
-
-	szFuncName = "dm_get_events";
-
-	/*
-	 * TEST    : dm_get_events - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 1)) {
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_get_events(INVALID_ADDR, 0, 0, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_events - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 2)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(GET_EVENTS_BASE + 2));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 3)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(GET_EVENTS_BASE + 3));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 4)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(GET_EVENTS_BASE + 4));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - !DM_EV_WAIT with no messages
-	 * EXPECTED: rc = -1, errno = EAGAIN
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 5)) {
-
-		/* Variation set up */
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(GET_EVENTS_BASE + 5));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - !DM_EV_WAIT with one message
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 6)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		expectedNumMsg = 1;
-		eventsFlags = 0;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(GET_EVENTS_BASE + 6));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - DM_EV_WAIT with one message
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 7)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		expectedNumMsg = 1;
-		eventsFlags = DM_EV_WAIT;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(GET_EVENTS_BASE + 7));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - !DM_EV_WAIT with two messages
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 8)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		expectedNumMsg = 2;
-		eventsFlags = 0;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_send_msg(sid, DM_MSGTYPE_ASYNC, MSG_DATALEN, buf);
-		if (rc != -1) {
-			rc = pthread_create(&tid, NULL, Thread,
-					    (void *)(GET_EVENTS_BASE + 8));
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - DM_EV_WAIT with two messages
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 9)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		expectedNumMsg = 2;
-		eventsFlags = DM_EV_WAIT;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_send_msg(sid, DM_MSGTYPE_ASYNC, MSG_DATALEN, buf);
-		if (rc != -1) {
-			rc = pthread_create(&tid, NULL, Thread,
-					    (void *)(GET_EVENTS_BASE + 9));
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_events - !DM_EV_WAIT with more than MAX_EVENT messages
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_EVENTS_BASE + 10)) {
-		int i, j;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		expectedNumMsg = MAX_EVENT;
-		eventsFlags = 0;
-		for (i = 0, rc = 0; i < MAX_EVENT + 1 && rc == 0; i++) {
-			j = sprintf(buf, "Multi event message %d", i);
-			rc = dm_send_msg(sid, DM_MSGTYPE_ASYNC, j + 1, buf);
-		}
-		if (rc != -1) {
-			rc = pthread_create(&tid, NULL, Thread,
-					    (void *)(GET_EVENTS_BASE + 10));
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			j = sprintf(buf, "Multi event message %d", i);
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, j + 1, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	szFuncName = "dm_respond_event";
-
-	/*
-	 * TEST    : dm_respond_event - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 1)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_respond_event(INVALID_ADDR, token,
-					      DM_RESP_CONTINUE, 0, sizeof(buf),
-					      buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 2)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_respond_event(DM_NO_SESSION, token,
-					      DM_RESP_CONTINUE, 0, sizeof(buf),
-					      buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 3)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_respond_event(sid, INVALID_ADDR, DM_RESP_CONTINUE, 0,
-				      sizeof(buf), buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_NO_TOKEN token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 4)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_TOKEN token)\n", szFuncName);
-		rc = dm_respond_event(sid, DM_NO_TOKEN, DM_RESP_CONTINUE, 0,
-				      sizeof(buf), buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_INVALID_TOKEN token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 5)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_INVALID_TOKEN token)\n",
-			    szFuncName);
-		rc = dm_respond_event(sid, DM_INVALID_TOKEN, DM_RESP_CONTINUE,
-				      0, sizeof(buf), buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_respond_event - invalid response
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 6)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid response)\n",
-				    szFuncName);
-			rc = dm_respond_event(sid, token, INVALID_ADDR, 0,
-					      sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 *
-	 * This variation uncovered XFS BUG #37 (0 returned instead of -1 and
-	 * E2BIG)
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 7)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid response)\n",
-				    szFuncName);
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      INVALID_ADDR, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - invalidated token
-	 * EXPECTED: rc = -1, errno = ESRCH
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 8)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc != -1) {
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      sizeof(buf), buf);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated token)\n",
-				    szFuncName);
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      sizeof(buf), buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ESRCH);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_RESP_INVALID
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 9)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(RESPOND_EVENT_BASE + 9));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_RESP_CONTINUE with zero reterror
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 10)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(RESPOND_EVENT_BASE + 10));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread continues variation */
-			rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN,
-					 buf);
-			if (rcRespond == 0) {
-				if (rc == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and expected dm_send_msg rc = %d\n",
-						    szFuncName, rcRespond, rc);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected dm_send_msg rc = %d and errno %d\n",
-						    szFuncName, rcRespond, rc,
-						    errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rcRespond,
-					    errnoRespond);
-				DMVAR_FAIL();
-			}
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_RESP_CONTINUE with non-zero reterror
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 11)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(RESPOND_EVENT_BASE + 11));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_RESP_ABORT with zero reterror
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 12)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(RESPOND_EVENT_BASE + 12));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_RESP_ABORT with non-zero reterror
-	 * EXPECTED: rc = ABORT_ERRNO
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 13)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(RESPOND_EVENT_BASE + 13));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread continues variation */
-			rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN,
-					 buf);
-			if (rcRespond == 0) {
-				if (rc == -1) {
-					if (errno == ABORT_ERRNO) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and dm_send_msg rc = %d\n",
-							    szFuncName,
-							    rcRespond, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and dm_send_msg rc = %d but unexpected errno (%d vs %d)\n",
-							    szFuncName,
-							    rcRespond, rc,
-							    errno, ABORT_ERRNO);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected dm_send_msg rc (%d vs %d)\n",
-						    szFuncName, rcRespond, rc,
-						    -1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rcRespond,
-					    errnoRespond);
-				DMVAR_FAIL();
-			}
-			pthread_join(tid, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - DM_RESP_DONTCARE
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RESPOND_EVENT_BASE + 14)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = pthread_create(&tid, NULL, Thread,
-				    (void *)(RESPOND_EVENT_BASE + 14));
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Message thread finishes off variation */
-			dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-			pthread_join(tid, NULL);
-		}
-	}
-
-	szFuncName = "dm_move_event";
-
-	/*
-	 * TEST    : dm_move_event - invalid srcsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 1)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid srcsid)\n",
-				    szFuncName);
-			rc = dm_move_event(INVALID_ADDR, token, targsid,
-					   &rtoken);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - DM_NO_SESSION srcsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 2)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION srcsid)\n",
-				    szFuncName);
-			rc = dm_move_event(DM_NO_SESSION, token, targsid,
-					   &rtoken);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 3)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_move_event(sid, INVALID_ADDR, targsid, &rtoken);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - invalid targetsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 4)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid targetsid)\n",
-				    szFuncName);
-			rc = dm_move_event(sid, token, INVALID_ADDR, &rtoken);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - DM_NO_SESSION targetsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 5)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_NO_SESSION targetsid)\n",
-				    szFuncName);
-			rc = dm_move_event(sid, token, DM_NO_SESSION, &rtoken);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - invalid rtokenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #36 (event moved to targetsid
-	 * despite failure)
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 6)) {
-		dm_sessid_t targsid;
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rtokenp)\n",
-				    szFuncName);
-			rc = dm_move_event(sid, token, targsid,
-					   (dm_token_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - token not in session
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 *
-	 * This variation uncovered XFS BUG #34 (ESRCH returned instead of
-	 * ENOENT)
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 7)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(token not in session)\n",
-				    szFuncName);
-			rc = dm_move_event(targsid, token, sid, &rtoken);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - srcsid == targetsid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 8)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(srcsid == targetsid)\n",
-				    szFuncName);
-			rc = dm_move_event(sid, token, sid, &rtoken);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rtoken = %d\n",
-					    rtoken);
-				rc = dm_find_eventmsg(sid, rtoken,
-						      sizeof(dmMsgBuf),
-						      dmMsgBuf, &rlen);
-				if (rc == 0 && rlen > 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but token %d NOT in src/target session %d\n",
-						    szFuncName, 0, token, sid);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, rtoken, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_move_event - srcsid != targetsid
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #35 (ESRCH returned instead of
-	 * EINVAL)
-	 */
-	if (DMVAR_EXEC(MOVE_EVENT_BASE + 9)) {
-		dm_sessid_t targsid;
-		dm_token_t token, rtoken;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &targsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, buf,
-					     &token)) == -1) {
-			dm_destroy_session(targsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(srcsid != targetsid)\n",
-				    szFuncName);
-			rc = dm_move_event(sid, token, targsid, &rtoken);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rtoken = %d\n",
-					    rtoken);
-				rc = dm_find_eventmsg(sid, token,
-						      sizeof(dmMsgBuf),
-						      dmMsgBuf, &rlen);
-				if (rc == -1 && errno == EINVAL) {
-					rc = dm_find_eventmsg(targsid, rtoken,
-							      sizeof(dmMsgBuf),
-							      dmMsgBuf, &rlen);
-					if (rc == 0 && rlen > 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but token %d NOT in target session %d\n",
-							    szFuncName, 0,
-							    token, targsid);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but token %d still in source session %d\n",
-						    szFuncName, 0, token, sid);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(targsid, rtoken, DM_RESP_CONTINUE,
-					      0, 0, NULL);
-			rc |= dm_destroy_session(targsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	szFuncName = "dm_pending";
-
-	/*
-	 * TEST    : dm_pending - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 1)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_pending(INVALID_ADDR, token, &delay);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_pending - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 2)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_pending(DM_NO_SESSION, token, &delay);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_pending - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 3)) {
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_pending(sid, INVALID_ADDR, &delay);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_pending - DM_NO_TOKEN token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 4)) {
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_TOKEN token)\n", szFuncName);
-		rc = dm_pending(sid, DM_NO_TOKEN, &delay);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_pending - DM_INVALID_TOKEN token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 5)) {
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_INVALID_TOKEN token)\n",
-			    szFuncName);
-		rc = dm_pending(sid, DM_INVALID_TOKEN, &delay);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_pending - invalid delay
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 6)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_pending(sid, token,
-					(dm_timestruct_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_respond_event - invalidated token
-	 * EXPECTED: rc = -1, errno = ESRCH
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 7)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc != -1) {
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      sizeof(buf), buf);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated token)\n",
-				    szFuncName);
-			rc = dm_pending(sid, token, &delay);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ESRCH);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_pending - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PENDING_BASE + 8)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-		dm_timestruct_t delay;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-			rc = dm_pending(sid, token, &delay);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	dm_token_t token;
-	size_t rlen;
-	dm_eventmsg_t *dmMsg;
-	int numMsg;
-
-	EVENT_DELIVERY_DELAY;
-
-	switch ((long)parm) {
-	case GET_EVENTS_BASE + 2:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n", szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, 0, dmMsgBuf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-		/* Variation clean up */
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0) {
-			token = ((dm_eventmsg_t *) dmMsgBuf)->ev_token;
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno	= %d)\n",
-				    errno);
-		}
-		break;
-
-	case GET_EVENTS_BASE + 3:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n", szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   (void *)INVALID_ADDR, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0) {
-			token = ((dm_eventmsg_t *) dmMsgBuf)->ev_token;
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno	= %d)\n",
-				    errno);
-		}
-		break;
-
-	case GET_EVENTS_BASE + 4:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n", szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, (size_t *) INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0) {
-			token = ((dm_eventmsg_t *) dmMsgBuf)->ev_token;
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno	= %d)\n",
-				    errno);
-		}
-		break;
-
-	case GET_EVENTS_BASE + 5:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(!DM_EV_WAIT with no messages)\n",
-			    szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EAGAIN);
-
-		/* Variation clean up */
-
-		break;
-
-	case GET_EVENTS_BASE + 6:
-	case GET_EVENTS_BASE + 7:
-	case GET_EVENTS_BASE + 8:
-	case GET_EVENTS_BASE + 9:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(%s with %d message(s))\n",
-			    szFuncName,
-			    (eventsFlags & DM_EV_WAIT) ? "DM_EV_WAIT" :
-			    "!DM_EV_WAIT", expectedNumMsg);
-		do {
-			rlen = 0;
-			rc = dm_get_events(sid, MAX_EVENT, eventsFlags,
-					   sizeof(dmMsgBuf), dmMsgBuf, &rlen);
-		} while ((eventsFlags & DM_EV_WAIT) && (rc == -1)
-			 && (errno == EINTR) && (rlen == 0));
-		if (rc == 0) {
-			LogEventMsgs(dmMsgBuf);
-			numMsg = GetNumEventMsg(dmMsgBuf);
-			dmMsg = GetSyncEventMsg(dmMsgBuf);
-			DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-
-			if (numMsg == expectedNumMsg) {
-				if (dmMsg != NULL) {
-					if (dmMsg->ev_type == DM_EVENT_USER) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected event (%d vs %d)\n",
-							    szFuncName, 0,
-							    dmMsg->ev_type,
-							    DM_EVENT_USER);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but no synchronous event\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with expected rc = %d but unexpected number of events (%d vs %d)\n",
-					    szFuncName, 0, numMsg,
-					    expectedNumMsg);
-				DMVAR_FAIL();
-			}
-		} else {
-			dmMsg = NULL;
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with unexpected rc = %d (errno = %d)\n",
-				    szFuncName, rc, errno);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-		rc = dm_respond_event(sid,
-				      dmMsg ? dmMsg->
-				      ev_token : DM_INVALID_TOKEN,
-				      DM_RESP_CONTINUE, 0, 0, NULL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno	= %d)\n",
-				    errno);
-		}
-
-		break;
-
-	case GET_EVENTS_BASE + 10:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(%s with %d messages)\n",
-			    szFuncName,
-			    (eventsFlags & DM_EV_WAIT) ? "DM_EV_WAIT" :
-			    "!DM_EV_WAIT", expectedNumMsg);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "1st call:\n");
-			LogEventMsgs(dmMsgBuf);
-			numMsg = GetNumEventMsg(dmMsgBuf);
-			DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-			rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-					   dmMsgBuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "2nd call:\n");
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				LogEventMsgs(dmMsgBuf);
-				dmMsg = GetSyncEventMsg(dmMsgBuf);
-
-				if (numMsg == expectedNumMsg) {
-					if (dmMsg != NULL) {
-						if (dmMsg->ev_type ==
-						    DM_EVENT_USER) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s passed with expected rc = %d\n",
-								    szFuncName,
-								    0);
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s failed with expected rc = %d but unexpected event (%d vs %d)\n",
-								    szFuncName,
-								    0,
-								    dmMsg->
-								    ev_type,
-								    DM_EVENT_USER);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but no synchronous event\n",
-							    szFuncName, 0);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected number of events (%d vs %d)\n",
-						    szFuncName, 0, numMsg,
-						    expectedNumMsg);
-					DMVAR_FAIL();
-				}
-			} else {
-				dmMsg = NULL;
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s 2nd call failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-		} else {
-			dmMsg = NULL;
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s 1st call failed with unexpected rc = %d (errno = %d)\n",
-				    szFuncName, rc, errno);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-		rc = dm_respond_event(sid,
-				      dmMsg ? dmMsg->
-				      ev_token : DM_INVALID_TOKEN,
-				      DM_RESP_CONTINUE, 0, 0, NULL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno	= %d)\n",
-				    errno);
-		}
-
-		break;
-
-	case RESPOND_EVENT_BASE + 9:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RESP_INVALID)\n", szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0 && ((dmMsg = GetSyncEventMsg(dmMsgBuf)) != NULL)) {
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_INVALID, 0, 0, NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_CONTINUE, 0, 0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Unable to obtain synchronous event! (rc = %d, errno = %d)\n",
-				    rc, errno);
-		}
-		break;
-
-	case RESPOND_EVENT_BASE + 10:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "%s(DM_RESP_CONTINUE with zero reterror)\n",
-			    szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0 && ((dmMsg = GetSyncEventMsg(dmMsgBuf)) != NULL)) {
-			rcRespond =
-			    dm_respond_event(sid, dmMsg->ev_token,
-					     DM_RESP_CONTINUE, 0, 0, NULL);
-			errnoRespond = rcRespond == -1 ? errno : 0;
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Unable to obtain synchronous event! (rc = %d, errno = %d)\n",
-				    rc, errno);
-		}
-		break;
-
-	case RESPOND_EVENT_BASE + 11:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "%s(DM_RESP_CONTINUE with non-zero reterror)\n",
-			    szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0 && ((dmMsg = GetSyncEventMsg(dmMsgBuf)) != NULL)) {
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_CONTINUE, ABORT_ERRNO, 0,
-					      NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_CONTINUE, 0, 0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Unable to obtain synchronous event! (rc = %d, errno = %d)\n",
-				    rc, errno);
-		}
-		break;
-
-	case RESPOND_EVENT_BASE + 12:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "%s(DM_RESP_ABORT with zero reterror)\n",
-			    szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0 && ((dmMsg = GetSyncEventMsg(dmMsgBuf)) != NULL)) {
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_ABORT, 0, 0, NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_CONTINUE, 0, 0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Unable to obtain synchronous event! (rc = %d, errno = %d)\n",
-				    rc, errno);
-		}
-		break;
-
-	case RESPOND_EVENT_BASE + 13:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "%s(DM_RESP_ABORT with non-zero reterror)\n",
-			    szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0 && ((dmMsg = GetSyncEventMsg(dmMsgBuf)) != NULL)) {
-			rcRespond =
-			    dm_respond_event(sid, dmMsg->ev_token,
-					     DM_RESP_ABORT, ABORT_ERRNO, 0,
-					     NULL);
-			errnoRespond = rcRespond == -1 ? errno : 0;
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Unable to obtain synchronous event! (rc = %d, errno = %d)\n",
-				    rc, errno);
-		}
-		break;
-
-	case RESPOND_EVENT_BASE + 14:
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RESP_DONTCARE)\n", szFuncName);
-		rc = dm_get_events(sid, MAX_EVENT, 0, sizeof(dmMsgBuf),
-				   dmMsgBuf, &rlen);
-		if (rc == 0 && ((dmMsg = GetSyncEventMsg(dmMsgBuf)) != NULL)) {
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_ABORT, 0, 0, NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, dmMsg->ev_token,
-					      DM_RESP_CONTINUE, 0, 0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno	= %d)\n",
-					    errno);
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "Unable to obtain synchronous event! (rc = %d, errno = %d)\n",
-				    rc, errno);
-		}
-		break;
-
-	}
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/event_am.c b/testcases/kernel/fs/dmapi/event_am.c
deleted file mode 100644
index 67132256a..000000000
--- a/testcases/kernel/fs/dmapi/event_am.c
+++ /dev/null
@@ -1,2548 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: event_am.c
- *
- * VARIATIONS	: 31
- *
- * EVENTS TESTED: DM_EVENT_ATTRIBUTE
- * 		  DM_EVENT_CLOSE
- * 		  DM_EVENT_DESTROY
- *
- * API'S TESTED	: dm_set_return_on_destroy
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-
-/* Variables for thread communications */
-dm_eventtype_t eventExpected;
-dm_eventtype_t eventReceived;
-dm_response_t eventResponse;
-void *hanp1, *hanp2, *ahanp1;
-size_t hlen1, hlen2, ahlen1;
-char name1[FILENAME_MAX];
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	int varStatus;
-	char *szSessionInfo = "dm_test session info";
-	char *szFuncName;
-	dm_eventset_t events;
-	dm_size_t maxAttrSize;
-	void *fshanp;
-	size_t fshlen;
-	dm_eventset_t AMevents;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		remove(DummyFile);
-		rmdir(DummySubdir);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI asynchronous metadata event tests\n");
-
-	/*
-	 *  First batch of tests will be with events enabled on file system,
-	 *  so set up events on fs accordingly
-	 */
-	rc = dm_path_to_fshandle(mountPt, &fshanp, &fshlen);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_handle(fs) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-	DMEV_SET(DM_EVENT_UNMOUNT, events);
-	DMEV_SET(DM_EVENT_POSTCREATE, events);
-	DMEV_SET(DM_EVENT_ATTRIBUTE, events);
-	DMEV_SET(DM_EVENT_CLOSE, events);
-	rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist(fs) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	/*
-	 * TEST    : chmod - enabled on fs
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 1)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RO_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s)\n", DummySubdir);
-			rc = chmod(DummySubdir, O_RDWR);
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummySubdir, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (!(statfs.st_mode & O_RDWR)) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object mode NOT correct! (%x vs %x)\n",
-						    O_RDWR, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chown - enabled on fs
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 2)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RO_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s)\n", DummySubdir);
-			rc = chown(DummySubdir, DUMMY_UID, DUMMY_GID);
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummySubdir, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_uid != DUMMY_UID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object uid NOT correct! (%x vs %x)\n",
-						    DUMMY_UID, statfs.st_uid);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_gid != DUMMY_GID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object gid NOT correct! (%x vs %x)\n",
-						    DUMMY_GID, statfs.st_gid);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : close - enabled on fs
-	 * EXPECTED: DM_EVENT_CLOSE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 3)) {
-		int fd1, fd2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CLOSE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd1 = open(DummySubdir, O_DIRECTORY)) == -1) {
-			rmdir(DummySubdir);
-		} else if ((fd2 = open(DummySubdir, O_DIRECTORY)) == -1) {
-			close(fd1);
-			rmdir(DummySubdir);
-		}
-		if (fd1 == -1 || fd2 == -1 || fd1 == fd2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1\n", fd1);
-			rc = close(fd1);
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1 returned %d\n",
-				    fd1, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				eventExpected = DM_EVENT_CLOSE;
-				EVENT_DELIVERY_DELAY;
-				DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #2\n", fd2);
-				rc = close(fd2);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "close(%d) #2 returned %d\n", fd2,
-					    rc);
-				EVENT_DELIVERY_DELAY;
-				varStatus =
-				    DMVAR_CHKPASSEXP(0, rc, eventExpected,
-						     eventReceived);
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chmod - enabled on fs
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 1)) {
-		int fd;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s)\n", DummyFile);
-			rc = chmod(DummyFile, O_RDWR);
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummyFile, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (!(statfs.st_mode & O_RDWR)) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object mode NOT correct! (%x vs %x)\n",
-						    O_RDWR, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chown - enabled on fs
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 2)) {
-		int fd;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s)\n", DummyFile);
-			rc = chown(DummyFile, DUMMY_UID, DUMMY_GID);
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummyFile, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_uid != DUMMY_UID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object uid NOT correct! (%x vs %x)\n",
-						    DUMMY_UID, statfs.st_uid);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_gid != DUMMY_GID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object gid NOT correct! (%x vs %x)\n",
-						    DUMMY_GID, statfs.st_gid);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : close - enabled on fs
-	 * EXPECTED: DM_EVENT_CLOSE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 3)) {
-		int fd1, fd2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CLOSE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd1 =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd2 = open(DummyFile, O_RDONLY)) == -1) {
-			close(fd1);
-			remove(DummyFile);
-		}
-		if (fd1 == -1 || fd2 == -1 || fd1 == fd2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1\n", fd1);
-			rc = close(fd1);
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1 returned %d\n",
-				    fd1, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				eventExpected = DM_EVENT_CLOSE;
-				EVENT_DELIVERY_DELAY;
-				DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #2\n", fd2);
-				rc = close(fd2);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "close(%d) #2 returned %d\n", fd2,
-					    rc);
-				EVENT_DELIVERY_DELAY;
-				varStatus =
-				    DMVAR_CHKPASSEXP(0, rc, eventExpected,
-						     eventReceived);
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/* Wait for all pending messages to be handled */
-	EVENT_DELIVERY_DELAY_LOOP;
-
-	/*
-	 *  Next batch of tests will be with events enabled on object, so
-	 *  clear events on fs
-	 */
-	rc = dm_path_to_fshandle(mountPt, &fshanp, &fshlen);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_handle failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-	DMEV_SET(DM_EVENT_UNMOUNT, events);
-	DMEV_SET(DM_EVENT_POSTCREATE, events);
-	rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist(fs) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	DMEV_ZERO(AMevents);
-	DMEV_SET(DM_EVENT_ATTRIBUTE, AMevents);
-	DMEV_SET(DM_EVENT_CLOSE, AMevents);
-
-	/*
-	 * TEST    : chmod - enabled on directory
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					  &AMevents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s)\n", DummySubdir);
-			rc = chmod(DummySubdir, O_RDWR);
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummySubdir, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (!(statfs.st_mode & O_RDWR)) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object mode NOT correct! (%x vs %x)\n",
-						    O_RDWR, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : chown - enabled on directory
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					  &AMevents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s)\n", DummySubdir);
-			rc = chown(DummySubdir, DUMMY_UID, DUMMY_GID);
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummySubdir, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_uid != DUMMY_UID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object uid NOT correct! (%x vs %x)\n",
-						    DUMMY_UID, statfs.st_uid);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_gid != DUMMY_GID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object gid NOT correct! (%x vs %x)\n",
-						    DUMMY_GID, statfs.st_gid);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : close - enabled on directory
-	 * EXPECTED: DM_EVENT_CLOSE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 6)) {
-		int fd1, fd2;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CLOSE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd1 = open(DummySubdir, O_DIRECTORY)) == -1) {
-			rmdir(DummySubdir);
-		} else if ((fd2 = open(DummySubdir, O_DIRECTORY)) == -1) {
-			close(fd1);
-			rmdir(DummySubdir);
-		} else if ((rc = dm_fd_to_handle(fd2, &hanp, &hlen)) == -1) {
-			close(fd2);
-			close(fd1);
-			rmdir(DummySubdir);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					  &AMevents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd2);
-			close(fd1);
-			rmdir(DummySubdir);
-		}
-		if (fd1 == -1 || fd2 == -1 || fd1 == fd2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1\n", fd1);
-			rc = close(fd1);
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1 returned %d\n",
-				    fd1, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				eventExpected = DM_EVENT_CLOSE;
-				EVENT_DELIVERY_DELAY;
-				DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #2\n", fd2);
-				rc = close(fd2);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "close(%d) #2 returned %d\n", fd2,
-					    rc);
-				EVENT_DELIVERY_DELAY;
-				varStatus =
-				    DMVAR_CHKPASSEXP(0, rc, eventExpected,
-						     eventReceived);
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : chmod - enabled on file
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else if (((rc = close(fd)) == -1) ||
-			   ((rc =
-			     dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					      &AMevents,
-					      DM_EVENT_MAX)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s)\n", DummyFile);
-			rc = chmod(DummyFile, O_RDWR);
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummyFile, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (!(statfs.st_mode & O_RDWR)) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object mode NOT correct! (%x vs %x)\n",
-						    O_RDWR, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chown - enabled on file
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else if (((rc = close(fd)) == -1) ||
-			   ((rc =
-			     dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					      &AMevents,
-					      DM_EVENT_MAX)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s)\n", DummyFile);
-			rc = chown(DummyFile, DUMMY_UID, DUMMY_GID);
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				rc |= stat(DummyFile, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object/entry handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object handle NOT correct! (%lld vs %d)\n",
-						    ino, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_uid != DUMMY_UID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object uid NOT correct! (%x vs %x)\n",
-						    DUMMY_UID, statfs.st_uid);
-					varStatus = DMSTAT_FAIL;
-				} else if (statfs.st_gid != DUMMY_GID) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Object gid NOT correct! (%x vs %x)\n",
-						    DUMMY_GID, statfs.st_gid);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : close - enabled on file
-	 * EXPECTED: DM_EVENT_CLOSE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 6)) {
-		int fd1, fd2;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CLOSE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd1 =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd2 = open(DummyFile, O_RDONLY)) == -1) {
-			close(fd1);
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd2, &hanp, &hlen)) == -1) {
-			close(fd2);
-			close(fd1);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_eventlist(sid, hanp, hlen, DM_NO_TOKEN,
-					  &AMevents, DM_EVENT_MAX)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd2);
-			close(fd1);
-			remove(DummyFile);
-		}
-		if (fd1 == -1 || fd2 == -1 || fd1 == fd2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1\n", fd1);
-			rc = close(fd1);
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1 returned %d\n",
-				    fd1, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				eventExpected = DM_EVENT_CLOSE;
-				EVENT_DELIVERY_DELAY;
-				DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #2\n", fd2);
-				rc = close(fd2);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "close(%d) #2 returned %d\n", fd2,
-					    rc);
-				EVENT_DELIVERY_DELAY;
-				varStatus =
-				    DMVAR_CHKPASSEXP(0, rc, eventExpected,
-						     eventReceived);
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/* Wait for all pending messages to be handled */
-	EVENT_DELIVERY_DELAY_LOOP;
-
-	/*
-	 *  Last batch of tests will be with events disabled
-	 */
-
-	/*
-	 * TEST    : chmod - disabled
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 7)) {
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RO_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s)\n", DummySubdir);
-			rc = chmod(DummySubdir, O_RDWR);
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chown - disabled
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 8)) {
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RO_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s)\n", DummySubdir);
-			rc = chown(DummySubdir, DUMMY_UID, DUMMY_GID);
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : close - disabled
-	 * EXPECTED: DM_EVENT_CLOSE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_META_EVENT_BASE + 9)) {
-		int fd1, fd2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CLOSE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd1 = open(DummySubdir, O_DIRECTORY)) == -1) {
-			rmdir(DummySubdir);
-		} else if ((fd2 = open(DummySubdir, O_DIRECTORY)) == -1) {
-			close(fd1);
-			rmdir(DummySubdir);
-		}
-		if (fd1 == -1 || fd2 == -1 || fd1 == fd2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1\n", fd1);
-			rc = close(fd1);
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1 returned %d\n",
-				    fd1, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				eventExpected = DM_EVENT_INVALID;
-				eventReceived = DM_EVENT_INVALID;
-				EVENT_DELIVERY_DELAY;
-				DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #2\n", fd2);
-				rc = close(fd2);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "close(%d) #2 returned %d\n", fd2,
-					    rc);
-				EVENT_DELIVERY_DELAY;
-				varStatus =
-				    DMVAR_CHKPASSEXP(0, rc, eventExpected,
-						     eventReceived);
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chmod - disabled
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 7)) {
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s)\n", DummyFile);
-			rc = chmod(DummyFile, O_RDWR);
-			DMLOG_PRINT(DMLVL_DEBUG, "chmod(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : chown - disabled
-	 * EXPECTED: DM_EVENT_ATTRIBUTE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 8)) {
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_ATTRIBUTE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s)\n", DummyFile);
-			rc = chown(DummyFile, DUMMY_UID, DUMMY_GID);
-			DMLOG_PRINT(DMLVL_DEBUG, "chown(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : close - disabled
-	 * EXPECTED: DM_EVENT_CLOSE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_META_EVENT_BASE + 9)) {
-		int fd1, fd2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CLOSE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		if ((fd1 =
-		     open(DummyFile, O_RDONLY | O_CREAT,
-			  DUMMY_FILE_RO_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd2 = open(DummyFile, O_RDONLY)) == -1) {
-			close(fd1);
-			remove(DummyFile);
-		}
-		if (fd1 == -1 || fd2 == -1 || fd1 == fd2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1\n", fd1);
-			rc = close(fd1);
-			DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #1 returned %d\n",
-				    fd1, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				eventExpected = DM_EVENT_INVALID;
-				eventReceived = DM_EVENT_INVALID;
-				EVENT_DELIVERY_DELAY;
-				DMLOG_PRINT(DMLVL_DEBUG, "close(%d) #2\n", fd2);
-				rc = close(fd2);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "close(%d) #2 returned %d\n", fd2,
-					    rc);
-				EVENT_DELIVERY_DELAY;
-				varStatus =
-				    DMVAR_CHKPASSEXP(0, rc, eventExpected,
-						     eventReceived);
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/* From here on out we're only interested in the destroy event */
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-	DMEV_SET(DM_EVENT_UNMOUNT, events);
-	DMEV_SET(DM_EVENT_DESTROY, events);
-	rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	rc = dm_get_config(fshanp, fshlen, DM_CONFIG_MAX_ATTR_ON_DESTROY,
-			   &maxAttrSize);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_get_config failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		DMLOG_PRINT(DMLVL_DEBUG, "DM_CONFIG_MAX_ATTR_ON_DESTROY %d\n",
-			    maxAttrSize);
-	}
-
-	szFuncName = "dm_set_return_on_destroy";
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 1)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(INVALID_ADDR, fshanp,
-						      fshlen, DM_NO_TOKEN,
-						      &attrname, DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 2)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, (void *)INVALID_ADDR,
-						      fshlen, DM_NO_TOKEN,
-						      &attrname, DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 3)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, fshanp, INVALID_ADDR,
-						      DM_NO_TOKEN, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 4)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, fshanp, fshlen,
-						      INVALID_ADDR, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - invalid attrnamep
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #14 (non-0 return code from
-	 * copy_from_user returned)
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 5)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid attrnamep)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, fshanp, fshlen,
-						      DM_NO_TOKEN,
-						      (dm_attrname_t *)
-						      INVALID_ADDR, DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 6)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(DM_NO_SESSION, fshanp,
-						      fshlen, DM_NO_TOKEN,
-						      &attrname, DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - different sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 7)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		} else
-		    if ((rc =
-			 dm_create_session(DM_NO_SESSION, szSessionInfo,
-					   &newsid)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(different sid)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(newsid, fshanp, fshlen,
-						      DM_NO_TOKEN, &attrname,
-						      DM_FALSE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, hanp, hlen,
-						      DM_NO_TOKEN, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		} else
-		    if ((rc =
-			 dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-				       0, sizeof(buf), buf)) == -1) {
-			rmdir(DummySubdir);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, hanp, hlen,
-						      DM_NO_TOKEN, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 10)) {
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_set_return_on_destroy(sid, DM_GLOBAL_HANP,
-					      DM_GLOBAL_HLEN, DM_NO_TOKEN,
-					      &attrname, DM_TRUE);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - valid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 11)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char buf[ATTR_VALUELEN];
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		memcpy(buf, ATTR_VALUE, ATTR_VALUELEN);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, sizeof(buf), buf)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-			rc = dm_set_return_on_destroy(sid, fshanp, fshlen,
-						      DM_NO_TOKEN, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - zero length attribute
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 12)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN, &attrname,
-					0, 0, NULL)) == -1)
-			||
-			((rc =
-			  dm_path_to_fshandle(DummyFile, &fshanp,
-					      &fshlen)) == -1)) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(zero len attr)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, fshanp, fshlen,
-						      DM_NO_TOKEN, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_return_on_destroy - attribute too big
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_RETURN_ON_DESTROY_BASE + 13)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_attrname_t attrname;
-		char *buf;
-
-		/* Variation set up */
-		memset(attrname.an_chars, 0, DM_ATTR_NAME_SIZE);
-		memcpy(attrname.an_chars, ATTR_NAME, DM_ATTR_NAME_SIZE);
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else if ((buf = malloc(maxAttrSize + 1)) == NULL) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else if ((memset(buf, '4', maxAttrSize + 1) == NULL) ||
-			   ((rc =
-			     dm_set_dmattr(sid, hanp, hlen, DM_NO_TOKEN,
-					   &attrname, 0, maxAttrSize + 1,
-					   buf)) == -1)
-			   ||
-			   ((rc =
-			     dm_path_to_fshandle(DummyFile, &fshanp,
-						 &fshlen)) == -1)) {
-			free(buf);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1 || buf == NULL) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(attr too big)\n",
-				    szFuncName);
-			rc = dm_set_return_on_destroy(sid, fshanp, fshlen,
-						      DM_NO_TOKEN, &attrname,
-						      DM_TRUE);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			free(buf);
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	dm_handle_free(fshanp, fshlen);
-
-	/* Wait for all pending messages to be handled */
-	EVENT_DELIVERY_DELAY_LOOP;
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	int type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			/*rc = dm_request_right(sid, lhanp, lhlen, token, DM_RR_WAIT, DM_RIGHT_EXCL);
-			   if (rc == -1) {
-			   DMLOG_PRINT(DMLVL_ERR, "dm_request_right failed! (rc = %d, errno = %d)\n", rc, errno);
-			   dm_destroy_session(sid);
-			   DM_EXIT();
-			   } */
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_POSTCREATE, events);
-			DMEV_SET(DM_EVENT_ATTRIBUTE, events);
-			DMEV_SET(DM_EVENT_CLOSE, events);
-			DMEV_SET(DM_EVENT_DESTROY, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, DM_NO_TOKEN,
-					 &events, DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			/*rc = dm_release_right(sid, lhanp, lhlen, token);
-			   if (rc == -1) {
-			   DMLOG_PRINT(DMLVL_ERR, "dm_request_right failed! (rc = %d, errno = %d)\n", rc, errno);
-			   dm_destroy_session(sid);
-			   DM_EXIT();
-			   } */
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_PREUNMOUNT) {
-			/* SPECIAL CASE: need to set response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_PREUNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle2));
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_UNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_POSTCREATE) {
-			/* SPECIAL CASE: need to save entry info */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			hanp2 = DM_GET_VALUE(nse, ne_handle2, void *);
-			hlen2 = DM_GET_LEN(nse, ne_handle2);
-			strcpy(name1, DM_GET_VALUE(nse, ne_name1, char *));
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_POSTCREATE\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Parent handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Parent handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry handle: %p\n", hanp2);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry handle length: %d\n",
-				    hlen2);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry name: %s\n", name1);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-
-			/* No response needed */
-			response = DM_RESP_INVALID;
-		} else {
-			eventReceived = type;
-			response = eventResponse;
-
-			switch (type) {
-			case DM_EVENT_ATTRIBUTE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_ATTRIBUTE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Object handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Object handle length: %d\n",
-						    ahlen1);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			case DM_EVENT_CLOSE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_CLOSE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Object handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Object handle length: %d\n",
-						    ahlen1);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			case DM_EVENT_DESTROY:
-				{
-					dm_destroy_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_destroy_event_t *);
-					ahanp1 =
-					    DM_GET_VALUE(de, ds_handle, void *);
-					ahlen1 = DM_GET_LEN(de, ds_handle);
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_DESTROY\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Object handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Object handle length: %d\n",
-						    ahlen1);
-					if (de->ds_attrname.an_chars[0]) {
-						int attrlen =
-						    DM_GET_LEN(de, ds_attrcopy);
-
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  Attribute name: %.*s\n",
-							    8,
-							    de->ds_attrname.
-							    an_chars);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  Attribute value length: %d\n",
-							    attrlen);
-						if (attrlen) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "  Attribute value: %s\n",
-								    DM_GET_VALUE
-								    (de,
-								     ds_attrcopy,
-								     char *));
-						}
-					}
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/event_an.c b/testcases/kernel/fs/dmapi/event_an.c
deleted file mode 100644
index 7d9510445..000000000
--- a/testcases/kernel/fs/dmapi/event_an.c
+++ /dev/null
@@ -1,3580 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: event_an.c
- *
- * VARIATIONS	: 34
- *
- * EVENTS TESTED: DM_EVENT_POSTCREATE
- * 		  DM_EVENT_POSTREMOVE
- * 		  DM_EVENT_POSTRENAME
- * 		  DM_EVENT_POSTSYMLINK
- * 		  DM_EVENT_POSTLINK
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummyFile2[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-char DummySubdir2[FILENAME_MAX];
-char DummyLink[FILENAME_MAX];
-char DummySubdir2File[FILENAME_MAX];
-char DummySubdir2Subdir[FILENAME_MAX];
-
-/* Variables for thread communications */
-dm_eventtype_t eventExpected;
-dm_eventtype_t eventReceived;
-dm_response_t eventResponse;
-void *hanp1, *hanp2, *ahanp1, *ahanp2;
-size_t hlen1, hlen2, ahlen1, ahlen2;
-char name1[FILENAME_MAX], name2[FILENAME_MAX], aname1[FILENAME_MAX],
-    aname2[FILENAME_MAX];
-dm_mode_t mode, amode;
-int aretcode;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	int varStatus;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-	void *fshanp, *dhanp;
-	size_t fshlen, dhlen;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummyFile2, "%s/%s", mountPt, DUMMY_FILE2);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-		sprintf(DummySubdir2, "%s/%s", mountPt, DUMMY_SUBDIR2);
-		sprintf(DummyLink, "%s/%s", mountPt, DUMMY_LINK);
-		sprintf(DummySubdir2File, "%s/%s", mountPt, DUMMY_SUBDIR2_FILE);
-		sprintf(DummySubdir2Subdir, "%s/%s", mountPt,
-			DUMMY_SUBDIR2_SUBDIR);
-
-		remove(DummySubdir2File);
-		rmdir(DummySubdir2Subdir);
-		remove(DummyFile);
-		remove(DummyFile2);
-		unlink(DummyLink);
-		rmdir(DummySubdir);
-		rmdir(DummySubdir2);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI asynchronous namespace event tests\n");
-
-	/*
-	 *  First batch of tests will be with events enabled on file system,
-	 *  so set up events on fs accordingly
-	 */
-	rc = dm_path_to_fshandle(mountPt, &fshanp, &fshlen);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_handle(fs) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-	DMEV_SET(DM_EVENT_UNMOUNT, events);
-	DMEV_SET(DM_EVENT_CREATE, events);
-	DMEV_SET(DM_EVENT_POSTCREATE, events);
-	DMEV_SET(DM_EVENT_REMOVE, events);
-	DMEV_SET(DM_EVENT_POSTREMOVE, events);
-	DMEV_SET(DM_EVENT_RENAME, events);
-	DMEV_SET(DM_EVENT_POSTRENAME, events);
-	DMEV_SET(DM_EVENT_SYMLINK, events);
-	DMEV_SET(DM_EVENT_POSTSYMLINK, events);
-	DMEV_SET(DM_EVENT_LINK, events);
-	DMEV_SET(DM_EVENT_POSTLINK, events);
-	rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist(fs) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	/*
-	 * TEST    : mkdir - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTCREATE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 1)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTCREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s)\n", DummySubdir);
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s) returned %d\n", DummySubdir,
-			    rc);
-		EVENT_DELIVERY_DELAY;
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			struct stat statfs;
-
-			rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-			rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-			rc |= stat(DummySubdir, &statfs);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino1 != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino1, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (ino2 != statfs.st_ino) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry handle NOT correct! (%lld vs %d)\n",
-					    ino2, statfs.st_ino);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    aname1, DUMMY_SUBDIR);
-				varStatus = DMSTAT_FAIL;
-			} else if (dm_handle_cmp(hanp1, hlen1, ahanp1, ahlen1)
-				   != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handles NOT same!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, aname1) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry names NOT same! (%s vs %s)\n",
-					    name1, aname1);
-				varStatus = DMSTAT_FAIL;
-			} else if (amode != statfs.st_mode) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Modes NOT same! (%d vs %d)\n",
-					    amode, statfs.st_mode);
-				varStatus = DMSTAT_FAIL;
-			} else if (aretcode != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Return codes NOT same! (%d vs %d)\n",
-					    mode, amode);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = rmdir(DummySubdir);
-		EVENT_DELIVERY_DELAY;
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : rmdir - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTREMOVE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 2)) {
-		dm_ino_t ino;
-		struct stat statfs;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTREMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = stat(DummySubdir, &statfs)) == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s)\n", DummySubdir);
-			rc = rmdir(DummySubdir);
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (amode != statfs.st_mode) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Modes NOT same! (%d vs %d)\n",
-						    amode, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 3)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir, DummySubdir2);
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(ahanp1, ahlen1, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTSYMLINK
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 4)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTSYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = symlink(DummySubdir, DummySubdir2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				rc |= lstat(DummySubdir2, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry handle NOT correct! (%lld vs %d)\n",
-						    ino2, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DummySubdir) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    aname2, DummySubdir);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummySubdir2);
-			rc |= rmdir(DummySubdir);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTLINK
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 5)) {
-#ifdef DIRECTORY_LINKS
-		dm_ino_t ino, ino1, ino2;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummySubdir,
-				    DummyLink);
-			rc = link(DummySubdir, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummySubdir, DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%d vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%d vs %d)\n",
-						    ino2, ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			rc |= unlink(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with DIRECTORY_LINKS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : open - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTCREATE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 1)) {
-		int fd;
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTCREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s)\n", DummyFile);
-		fd = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s) returned %d\n", DummyFile,
-			    rc);
-		rc = (fd == -1) ? -1 : 0;
-		EVENT_DELIVERY_DELAY;
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			struct stat statfs;
-
-			rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-			rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-			rc |= stat(DummyFile, &statfs);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino1 != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino1, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (ino2 != statfs.st_ino) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry handle NOT correct! (%lld vs %d)\n",
-					    ino2, statfs.st_ino);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    aname1, DUMMY_FILE);
-				varStatus = DMSTAT_FAIL;
-			} else if (dm_handle_cmp(hanp1, hlen1, ahanp1, ahlen1)
-				   != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handles NOT same!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, aname1) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry names NOT same! (%s vs %s)\n",
-					    name1, aname1);
-				varStatus = DMSTAT_FAIL;
-			} else if (amode != statfs.st_mode) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Modes NOT same! (%d vs %d)\n",
-					    amode, statfs.st_mode);
-				varStatus = DMSTAT_FAIL;
-			} else if (aretcode != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Return codes NOT same! (%d vs %d)\n",
-					    mode, amode);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = close(fd);
-		rc |= remove(DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : remove - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTREMOVE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 2)) {
-		int fd;
-		dm_ino_t ino;
-		struct stat statfs;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTREMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if (((rc = close(fd)) == -1) ||
-			   ((rc = stat(DummyFile, &statfs)) == -1)) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s)\n", DummyFile);
-			rc = remove(DummyFile);
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (amode != statfs.st_mode) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Modes NOT same! (%d vs %d)\n",
-						    amode, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 3)) {
-		int fd;
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummyFile, DummyFile2);
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummyFile, DummyFile2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n", DummyFile,
-				    DummyFile2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(ahanp1, ahlen1, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_FILE2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_FILE2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTSYMLINK
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 4)) {
-		int fd;
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTSYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = symlink(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n", DummyFile,
-				    DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				rc |= lstat(DummyLink, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry handle NOT correct! (%lld vs %d)\n",
-						    ino2, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DummyFile) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    aname2, DummyFile);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummyLink);
-			rc |= remove(DummyFile);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - enabled on fs
-	 * EXPECTED: DM_EVENT_POSTLINK
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 5)) {
-		dm_ino_t ino, ino1, ino2;
-		void *hanp;
-		size_t hlen;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = link(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummyFile, DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%d vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%d vs %d)\n",
-						    ino2, ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			rc |= remove(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/* Wait for all pending messages to be handled */
-	EVENT_DELIVERY_DELAY_LOOP;
-
-	/*
-	 *  Next batch of tests will be with events enabled on directory, so
-	 *  clear events on fs and set up events on dir accordingly
-	 */
-	rc = dm_path_to_fshandle(mountPt, &fshanp, &fshlen);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_handle failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-	DMEV_SET(DM_EVENT_UNMOUNT, events);
-	rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist(fs) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	rc = dm_path_to_handle(mountPt, &dhanp, &dhlen);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_handle failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_CREATE, events);
-	DMEV_SET(DM_EVENT_POSTCREATE, events);
-	DMEV_SET(DM_EVENT_REMOVE, events);
-	DMEV_SET(DM_EVENT_POSTREMOVE, events);
-	DMEV_SET(DM_EVENT_RENAME, events);
-	DMEV_SET(DM_EVENT_POSTRENAME, events);
-	DMEV_SET(DM_EVENT_SYMLINK, events);
-	DMEV_SET(DM_EVENT_POSTSYMLINK, events);
-	DMEV_SET(DM_EVENT_LINK, events);
-	DMEV_SET(DM_EVENT_POSTLINK, events);
-	rc = dm_set_eventlist(sid, dhanp, dhlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist(dir) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	/*
-	 * TEST    : mkdir - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTCREATE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 6)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTCREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s)\n", DummySubdir);
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s) returned %d\n", DummySubdir,
-			    rc);
-		EVENT_DELIVERY_DELAY;
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			struct stat statfs;
-
-			rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-			rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-			rc |= stat(DummySubdir, &statfs);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino1 != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino1, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (ino2 != statfs.st_ino) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry handle NOT correct! (%lld vs %d)\n",
-					    ino2, statfs.st_ino);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    aname1, DUMMY_SUBDIR);
-				varStatus = DMSTAT_FAIL;
-			} else if (dm_handle_cmp(hanp1, hlen1, ahanp1, ahlen1)
-				   != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handles NOT same!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, aname1) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry names NOT same! (%s vs %s)\n",
-					    name1, aname1);
-				varStatus = DMSTAT_FAIL;
-			} else if (amode != statfs.st_mode) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Modes NOT same! (%d vs %d)\n",
-					    amode, statfs.st_mode);
-				varStatus = DMSTAT_FAIL;
-			} else if (aretcode != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Return codes NOT same! (%d vs %d)\n",
-					    mode, amode);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = rmdir(DummySubdir);
-		EVENT_DELIVERY_DELAY;
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : rmdir - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTREMOVE
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 7)) {
-		dm_ino_t ino;
-		struct stat statfs;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTREMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = stat(DummySubdir, &statfs)) == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s)\n", DummySubdir);
-			rc = rmdir(DummySubdir);
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (amode != statfs.st_mode) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Modes NOT same! (%d vs %d)\n",
-						    amode, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on source and destination directory
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 8)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir, DummySubdir2);
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(ahanp1, ahlen1, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on source directory
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 9)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_ino_t ino1, ino2, dino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir, DummySubdir2Subdir);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DummySubdir2, DUMMY_DIR_RW_MODE)) == -1) {
-			rmdir(DummySubdir);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DummySubdir2, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DummySubdir2);
-			rmdir(DummySubdir);
-		} else if ((rc = dm_handle_to_ino(dhanp, dhlen, &dino)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DummySubdir2);
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir, DummySubdir2Subdir);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir, DummySubdir2Subdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != dino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT correct! (%lld vs %d)\n",
-						    ino2, dino);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir2Subdir);
-			rc |= rmdir(DummySubdir2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on destination directory
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 10)) {
-		void *dhanp;
-		size_t dhlen;
-		dm_ino_t ino1, ino2, dino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir2Subdir, DummySubdir);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir2, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DummySubdir2Subdir, DUMMY_DIR_RW_MODE))
-			   == -1) {
-			rmdir(DummySubdir2);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DummySubdir2, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DummySubdir2Subdir);
-			rmdir(DummySubdir2);
-		} else if ((rc = dm_handle_to_ino(dhanp, dhlen, &dino)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DummySubdir2Subdir);
-			rmdir(DummySubdir2);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir2Subdir, DummySubdir);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir2Subdir, DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != dino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT correct! (%lld vs %d)\n",
-						    ino1, dino);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir2);
-			rc |= rmdir(DummySubdir);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dhanp, dhlen);
-		}
-	}
-
-	/*
-	 * TEST    : symlink - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTSYMLINK
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 11)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTSYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = symlink(DummySubdir, DummySubdir2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				rc |= lstat(DummySubdir2, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry handle NOT correct! (%lld vs %d)\n",
-						    ino2, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DummySubdir) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    aname2, DummySubdir);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummySubdir2);
-			rc |= rmdir(DummySubdir);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTLINK
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 12)) {
-#ifdef DIRECTORY_LINKS
-		dm_ino_t ino, ino1, ino2;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummySubdir,
-				    DummyLink);
-			rc = link(DummySubdir, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummySubdir, DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%d vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%d vs %d)\n",
-						    ino2, ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			rc |= unlink(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with DIRECTORY_LINKS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : open - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTCREATE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 6)) {
-		int fd;
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTCREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s)\n", DummyFile);
-		fd = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s) returned %d\n", DummyFile,
-			    rc);
-		rc = (fd == -1) ? -1 : 0;
-		EVENT_DELIVERY_DELAY;
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			struct stat statfs;
-
-			rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-			rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-			rc |= stat(DummyFile, &statfs);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino1 != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino1, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (ino2 != statfs.st_ino) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry handle NOT correct! (%lld vs %d)\n",
-					    ino2, statfs.st_ino);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    aname1, DUMMY_FILE);
-				varStatus = DMSTAT_FAIL;
-			} else if (dm_handle_cmp(hanp1, hlen1, ahanp1, ahlen1)
-				   != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handles NOT same!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, aname1) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry names NOT same! (%s vs %s)\n",
-					    name1, aname1);
-				varStatus = DMSTAT_FAIL;
-			} else if (amode != statfs.st_mode) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Modes NOT same! (%d vs %d)\n",
-					    amode, statfs.st_mode);
-				varStatus = DMSTAT_FAIL;
-			} else if (aretcode != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Return codes NOT same! (%d vs %d)\n",
-					    mode, amode);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = close(fd);
-		rc |= remove(DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : remove - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTREMOVE
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 7)) {
-		int fd;
-		dm_ino_t ino;
-		struct stat statfs;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTREMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if (((rc = close(fd)) == -1) ||
-			   ((rc = stat(DummyFile, &statfs)) == -1)) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s)\n", DummyFile);
-			rc = remove(DummyFile);
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (amode != statfs.st_mode) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Modes NOT same! (%d vs %d)\n",
-						    amode, statfs.st_mode);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on source and destination directory
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 8)) {
-		int fd;
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummyFile, DummyFile2);
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummyFile, DummyFile2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n", DummyFile,
-				    DummyFile2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(ahanp1, ahlen1, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_FILE2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_FILE2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on source directory
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 9)) {
-		int fd;
-		void *dhanp;
-		size_t dhlen;
-		dm_ino_t ino1, ino2, dino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummyFile, DummySubdir2File);
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if (((rc = close(fd)) == -1) ||
-			   ((rc =
-			     mkdir(DummySubdir2, DUMMY_DIR_RW_MODE)) == -1)) {
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DummySubdir2, &dhanp,
-					   &dhlen)) == -1) {
-			rmdir(DummySubdir2);
-			remove(DummyFile);
-		} else if ((rc = dm_handle_to_ino(dhanp, dhlen, &dino)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			rmdir(DummySubdir2);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummyFile, DummySubdir2File);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n", DummyFile,
-				    DummySubdir2File, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != dino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT correct! (%lld vs %d)\n",
-						    ino2, dino);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummySubdir2File);
-			rc |= rmdir(DummySubdir2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv - enabled on destination directory
-	 * EXPECTED: DM_EVENT_POSTRENAME
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 10)) {
-		int fd;
-		void *dhanp;
-		size_t dhlen;
-		dm_ino_t ino1, ino2, dino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTRENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir2File, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir2, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummySubdir2File, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DummySubdir2);
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummySubdir2File);
-			rmdir(DummySubdir2);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DummySubdir2, &dhanp,
-					   &dhlen)) == -1) {
-			remove(DummySubdir2File);
-			rmdir(DummySubdir2);
-		} else if ((rc = dm_handle_to_ino(dhanp, dhlen, &dino)) == -1) {
-			dm_handle_free(dhanp, dhlen);
-			remove(DummySubdir2File);
-			rmdir(DummySubdir2);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir2File, DummyFile);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir2File, DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != dino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT correct! (%lld vs %d)\n",
-						    ino1, dino);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp2, hlen2, ahanp2, ahlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			rc |= rmdir(DummySubdir2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTSYMLINK
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 11)) {
-		int fd;
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTSYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = symlink(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n", DummyFile,
-				    DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				struct stat statfs;
-
-				rc = dm_handle_to_ino(ahanp1, ahlen1, &ino1);
-				rc |= dm_handle_to_ino(ahanp2, ahlen2, &ino2);
-				rc |= lstat(DummyLink, &statfs);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != statfs.st_ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry handle NOT correct! (%lld vs %d)\n",
-						    ino2, statfs.st_ino);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, ahanp1, ahlen1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    aname1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(aname2, DummyFile) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    aname2, DummyFile);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, aname1) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry names NOT same! (%s vs %s)\n",
-						    name1, aname1);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, aname2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT same! (%s vs %s)\n",
-						    name2, aname2);
-					varStatus = DMSTAT_FAIL;
-				} else if (aretcode != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Return codes NOT same! (%d vs %d)\n",
-						    mode, amode);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummyLink);
-			rc |= remove(DummyFile);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - enabled on directory
-	 * EXPECTED: DM_EVENT_POSTLINK
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 12)) {
-		dm_ino_t ino, ino1, ino2;
-		void *hanp;
-		size_t hlen;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_POSTLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = link(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummyFile, DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%d vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%d vs %d)\n",
-						    ino2, ino);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			rc |= remove(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/* Wait for all pending messages to be handled */
-	EVENT_DELIVERY_DELAY_LOOP;
-
-	/*
-	 *  Last batch of tests will be with events disabled, so clear events
-	 *  on dir
-	 */
-	DMEV_ZERO(events);
-	rc = dm_set_eventlist(sid, dhanp, dhlen, DM_NO_TOKEN, &events,
-			      DM_EVENT_MAX);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_eventlist(dir) failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	}
-
-	/*
-	 * TEST    : mkdir - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 13)) {
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s)\n", DummySubdir);
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s) returned %d\n", DummySubdir,
-			    rc);
-		EVENT_DELIVERY_DELAY;
-		DMVAR_END(DMVAR_CHKPASSEXP
-			  (0, rc, eventExpected, eventReceived));
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = rmdir(DummySubdir);
-		EVENT_DELIVERY_DELAY;
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : rmdir - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 14)) {
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s)\n", DummySubdir);
-			rc = rmdir(DummySubdir);
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s) returned %d\n",
-				    DummySubdir, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : mv - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 15)) {
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir, DummySubdir2);
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 16)) {
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = symlink(DummySubdir, DummySubdir2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummySubdir2);
-			rc |= rmdir(DummySubdir);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(DIR_ASYNC_NAMESP_EVENT_BASE + 17)) {
-#ifdef DIRECTORY_LINKS
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummySubdir,
-				    DummyLink);
-			rc = link(DummySubdir, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummySubdir, DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			rc |= unlink(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with DIRECTORY_LINKS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : open - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 13)) {
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s)\n", DummyFile);
-		fd = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s) returned %d\n", DummyFile,
-			    rc);
-		rc = (fd == -1) ? -1 : 0;
-		EVENT_DELIVERY_DELAY;
-		DMVAR_END(DMVAR_CHKPASSEXP
-			  (0, rc, eventExpected, eventReceived));
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = close(fd);
-		rc |= remove(DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : remove - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 14)) {
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s)\n", DummyFile);
-			rc = remove(DummyFile);
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s) returned %d\n",
-				    DummyFile, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : mv - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 15)) {
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummyFile, DummyFile2);
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummyFile, DummyFile2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n", DummyFile,
-				    DummyFile2, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile2);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 16)) {
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = close(fd)) == -1) {
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = symlink(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n", DummyFile,
-				    DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummyLink);
-			rc |= remove(DummyFile);
-			EVENT_DELIVERY_DELAY;
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - disabled
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_ASYNC_NAMESP_EVENT_BASE + 17)) {
-		void *hanp;
-		size_t hlen;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = link(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummyFile, DummyLink, rc);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			rc |= remove(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	int type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_CREATE, events);
-			DMEV_SET(DM_EVENT_POSTCREATE, events);
-			DMEV_SET(DM_EVENT_REMOVE, events);
-			DMEV_SET(DM_EVENT_POSTREMOVE, events);
-			DMEV_SET(DM_EVENT_RENAME, events);
-			DMEV_SET(DM_EVENT_POSTRENAME, events);
-			DMEV_SET(DM_EVENT_SYMLINK, events);
-			DMEV_SET(DM_EVENT_POSTSYMLINK, events);
-			DMEV_SET(DM_EVENT_LINK, events);
-			DMEV_SET(DM_EVENT_POSTLINK, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_PREUNMOUNT) {
-			/* SPECIAL CASE: need to set response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_PREUNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle2));
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_UNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			eventReceived = type;
-			response = eventResponse;
-
-			switch (type) {
-			case DM_EVENT_CREATE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					mode = nse->ne_mode;
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_CREATE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    mode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    name1);
-
-					break;
-				}
-
-			case DM_EVENT_POSTCREATE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					amode = nse->ne_mode;
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-					ahanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					ahlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(aname1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					aretcode = nse->ne_retcode;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_POSTCREATE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    amode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    ahlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry handle: %p\n",
-						    ahanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry handle length: %d\n",
-						    ahlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    aname1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Return code: %x\n",
-						    aretcode);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			case DM_EVENT_REMOVE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					mode = nse->ne_mode;
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_REMOVE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    mode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    name1);
-
-					break;
-				}
-
-			case DM_EVENT_POSTREMOVE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					amode = nse->ne_mode;
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(aname1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					aretcode = nse->ne_retcode;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_POSTREMOVE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    amode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    ahlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    aname1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Return code: %x\n",
-						    aretcode);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			case DM_EVENT_RENAME:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					hanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					hlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					strcpy(name2,
-					       DM_GET_VALUE(nse, ne_name2,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_RENAME\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New parent handle: %p\n",
-						    hanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New parent handle length: %d\n",
-						    hlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old entry name: %s\n",
-						    name1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New entry name: %s\n",
-						    name2);
-
-					break;
-				}
-
-			case DM_EVENT_POSTRENAME:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-					ahanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					ahlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(aname1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					strcpy(aname2,
-					       DM_GET_VALUE(nse, ne_name2,
-							    char *));
-					aretcode = nse->ne_retcode;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_POSTRENAME\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old parent handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old parent handle length: %d\n",
-						    ahlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New parent handle: %p\n",
-						    ahanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New parent handle length: %d\n",
-						    ahlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old entry name: %s\n",
-						    aname1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New entry name: %s\n",
-						    aname2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Return code: %x\n",
-						    aretcode);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			case DM_EVENT_SYMLINK:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					strcpy(name2,
-					       DM_GET_VALUE(nse, ne_name2,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_SYMLINK\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Symlink entry name: %s\n",
-						    name1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Symlink contents: %s\n",
-						    name2);
-
-					break;
-				}
-
-			case DM_EVENT_POSTSYMLINK:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-					ahanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					ahlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(aname1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					strcpy(aname2,
-					       DM_GET_VALUE(nse, ne_name2,
-							    char *));
-					aretcode = nse->ne_retcode;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_POSTSYMLINK\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    ahlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry handle: %p\n",
-						    ahanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry handle length: %d\n",
-						    ahlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Symlink entry name: %s\n",
-						    aname1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Symlink contents: %s\n",
-						    aname2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Return code: %x\n",
-						    aretcode);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			case DM_EVENT_LINK:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					hanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					hlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_LINK\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Source link handle: %p\n",
-						    hanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Source link handle length: %d\n",
-						    hlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Target entry name: %s\n",
-						    name1);
-
-					break;
-				}
-
-			case DM_EVENT_POSTLINK:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					ahanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					ahlen1 = DM_GET_LEN(nse, ne_handle1);
-					ahanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					ahlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(aname1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					aretcode = nse->ne_retcode;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_POSTLINK\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    ahanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    ahlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Source link handle: %p\n",
-						    ahanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Source link handle length: %d\n",
-						    ahlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Target entry name: %s\n",
-						    aname1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Return code: %x\n",
-						    aretcode);
-
-					response = DM_RESP_INVALID;
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/event_sd.c b/testcases/kernel/fs/dmapi/event_sd.c
deleted file mode 100644
index e59629d8e..000000000
--- a/testcases/kernel/fs/dmapi/event_sd.c
+++ /dev/null
@@ -1,7334 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: event_sd.c
- *
- * VARIATIONS	: 89
- *
- * EVENTS TESTED: DM_EVENT_READ
- * 		  DM_EVENT_WRITE
- * 		  DM_EVENT_TRUNCATE
- *
- * NOTES	: The EVENT_DELIVERY_DELAY_LOOP macro is needed prior to
- * 		  invoking the routine (i.e. read) that generates the event
- * 		  being tested because the system("cp DUMMY_FILE DummyFile")
- * 		  call will generate DM_EVENT_WRITE events that can interfere
- * 		  with the results of the test.
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define TMP_FILELEN 10000
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-
-/* Variables for thread communications */
-dm_eventtype_t eventExpected;
-dm_eventtype_t eventReceived;
-dm_response_t eventResponse;
-void *hanp1, *hanp2;
-size_t hlen1, hlen2;
-char name1[FILENAME_MAX];
-dm_off_t offset;
-dm_size_t length;
-int numRegions;
-dm_region_t Regions[10];
-int eventPending;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int i;
-	int rc;
-	int varStatus;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-
-		remove(DummyFile);
-
-		EVENT_DELIVERY_DELAY;
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < TMP_FILELEN / DUMMY_STRLEN; i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc == 0) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI synchronous data event tests\n");
-
-	/*
-	 * TEST    : read - no regions
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 1)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 0;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one READ region covering entire file, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 2)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one READ region covering entire file, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_READ (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 3)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one WRITE region covering entire file
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 4)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one TRUNCATE region covering entire file
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 5)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - two READ regions covering part of file, read from one, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 6)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2222, SEEK_SET)) != 2222) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2222) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2222) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2222);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - two READ regions covering part of file, read from one, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_READ (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 7)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2222, SEEK_SET)) != 2222) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2222) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2222) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2222);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - two non-READ regions covering part of file, read from one
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 8)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - two non-READ regions covering part of file, read from other
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 9)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2222, SEEK_SET)) != 2222) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2222) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - three different regions covering part of file, read from READ, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 10)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 4444, SEEK_SET)) != 4444) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 4444) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 4444) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 4444);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - three different regions covering part of file, read from READ, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_READ (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 11)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 4444, SEEK_SET)) != 4444) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 4444) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 4444) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 4444);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - three READ regions covering part of file, read from outside all
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 12)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_READ;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 3333, SEEK_SET)) != 3333) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 3333) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - three different regions covering part of file, read from READ overlapping start, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 13)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2997, SEEK_SET)) != 2997) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2997) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - three different regions covering part of file, read from READ overlapping start, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_READ (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 14)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2997, SEEK_SET)) != 2997) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2997) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte READ region one byte before start of read
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 15)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte READ region at start of read, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 16)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte READ region at end of read, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 17)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = DUMMY_STRLEN;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte READ region one byte beyond end of read
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 18)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = DUMMY_STRLEN + 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read one byte before start of multibyte READ region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 19)) {
-		int fd;
-		char buf[1];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read at start of multibyte READ region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 20)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read at end of multibyte READ region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 21)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, DUMMY_STRLEN, SEEK_SET)) !=
-			   DUMMY_STRLEN) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != DUMMY_STRLEN) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read one byte beyond end of multibyte READ region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 22)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, DUMMY_STRLEN + 1, SEEK_SET)) !=
-			   DUMMY_STRLEN + 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != DUMMY_STRLEN + 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read one byte before start of one-byte READ region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 23)) {
-		int fd;
-		char buf[1];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read at start/end of one-byte READ region
-	 * EXPECTED: DM_EVENT_READ, DM_RESP_CONTINUE
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 24)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one-byte read one byte beyond end of one-byte READ region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 25)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2, SEEK_SET)) != 2) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, 1, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one R/W/T region, read from it, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 26)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN / 2;
-		Regions[0].rg_flags =
-		    DM_REGION_READ | DM_REGION_WRITE | DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - three overlapping R/W/T regions, read from them, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 27)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN / 2;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 0;
-		Regions[1].rg_size = DUMMY_STRLEN / 2;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 0;
-		Regions[2].rg_size = DUMMY_STRLEN / 2;
-		Regions[2].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - one DM_REGION_NOEVENT region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 28)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN / 2;
-		Regions[0].rg_flags = DM_REGION_NOEVENT;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			rc = read(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - read from different fd than initialized READ region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 29)) {
-		int fd1, fd2;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd1 =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd1 == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			fd2 = open(DummyFile, O_RDWR);
-			rc = fd2 == -1 ? -1 : read(fd2, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd1);
-			rc |= close(fd2);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - dm_pending without O_NONBLOCK
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 30)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			eventPending = 1;
-			rc = read(fd, buf, DUMMY_STRLEN);
-			eventPending = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "read(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : read - dm_pending with O_NONBLOCK
-	 * EXPECTED: DM_EVENT_READ (rc = -1, errno = EAGAIN)
-	 *
-	 * This variation uncovered XFS BUG #40 (returned errno instead of
-	 * -1 and errno)
-	 */
-	if (DMVAR_EXEC(FILE_READ_DATA_EVENT_BASE + 31)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT | O_NONBLOCK,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_READ;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s)\n", DummyFile);
-			eventPending = 1;
-			rc = read(fd, buf, DUMMY_STRLEN);
-			eventPending = 0;
-			DMLOG_PRINT(DMLVL_DEBUG, "read(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, EAGAIN, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - no regions
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 1)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 0;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one WRITE region covering entire file, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 2)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one WRITE region covering entire file, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_WRITE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 3)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one READ region covering entire file
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 4)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one TRUNCATE region covering entire file
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 5)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - two WRITE regions covering part of file, write to one, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 6)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2222, SEEK_SET)) != 2222) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2222) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2222) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2222);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - two WRITE regions covering part of file, write to one, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_WRITE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 7)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2222, SEEK_SET)) != 2222) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2222) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2222) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2222);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - two non-WRITE regions covering part of file, write to one
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 8)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - two non-WRITE regions covering part of file, write to other
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 9)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2222, SEEK_SET)) != 2222) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2222) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "write(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - three different regions covering part of file, write to WRITE, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 10)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 4444, SEEK_SET)) != 4444) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 4444) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 4444) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 4444);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - three different regions covering part of file, write to WRITE, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_WRITE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 11)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 4444, SEEK_SET)) != 4444) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 4444) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 4444) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 4444);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - three WRITE regions covering part of file, write to outside all
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 12)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 3333, SEEK_SET)) != 3333) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 3333) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - three different regions covering part of file, write to WRITE overlapping start, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 13)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2997, SEEK_SET)) != 2997) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2997) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - three different regions covering part of file, write to WRITE overlapping start, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_WRITE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 14)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		dm_off_t off;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2997, SEEK_SET)) != 2997) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2997) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte WRITE region one byte before start of write
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 15)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte WRITE region at start of write, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 16)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte WRITE region at end of write, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 17)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = DUMMY_STRLEN;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte WRITE region one byte beyond end of write
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 18)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = DUMMY_STRLEN + 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write one byte before start of multibyte WRITE region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 19)) {
-		int fd;
-		char buf[1];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '0';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write at start of multibyte WRITE region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 20)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '1';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write at end of multibyte WRITE region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 21)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, DUMMY_STRLEN, SEEK_SET)) !=
-			   DUMMY_STRLEN) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != DUMMY_STRLEN) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '0';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write one byte beyond end of multibyte WRITE region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 22)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, DUMMY_STRLEN + 1, SEEK_SET)) !=
-			   DUMMY_STRLEN + 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != DUMMY_STRLEN + 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '1';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write one byte before start of one-byte WRITE region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 23)) {
-		int fd;
-		char buf[1];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '0';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write at start/end of one-byte WRITE region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 24)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 1, SEEK_SET)) != 1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '1';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one-byte write one byte beyond end of one-byte WRITE region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 25)) {
-		int fd;
-		char buf[1];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((off = lseek(fd, 2, SEEK_SET)) != 2) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != 2) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			buf[0] = '2';
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(1, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one R/W/T region, write to it, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 26)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN / 2;
-		Regions[0].rg_flags =
-		    DM_REGION_READ | DM_REGION_WRITE | DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - three overlapping R/W/T regions, write to them, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 27)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN / 2;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 0;
-		Regions[1].rg_size = DUMMY_STRLEN / 2;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 0;
-		Regions[2].rg_size = DUMMY_STRLEN / 2;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one DM_REGION_NOEVENT region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 28)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN / 2;
-		Regions[0].rg_flags = DM_REGION_NOEVENT;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one WRITE region covering entire file (size 0), write beyond EOF, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 29)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else
-		    if ((off =
-			 lseek(fd, TMP_FILELEN + DUMMY_STRLEN,
-			       SEEK_SET)) != TMP_FILELEN + DUMMY_STRLEN) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != TMP_FILELEN + DUMMY_STRLEN) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != TMP_FILELEN + DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - one WRITE region covering entire file (size TMP_FILELEN), write beyond EOF, DM_RESP_CONTINUE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 30)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-		off_t off;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = TMP_FILELEN;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else
-		    if ((off =
-			 lseek(fd, TMP_FILELEN + DUMMY_STRLEN,
-			       SEEK_SET)) != TMP_FILELEN + DUMMY_STRLEN) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1 || off != TMP_FILELEN + DUMMY_STRLEN) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			rc = write(fd, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - write to different fd than initialized WRITE region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 31)) {
-		int fd1, fd2;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd1 =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd1 == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			fd2 = open(DummyFile, O_RDWR);
-			rc = fd2 == -1 ? -1 : write(fd2, buf, DUMMY_STRLEN);
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd1);
-			rc |= close(fd2);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - dm_pending without O_NONBLOCK
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 32)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			eventPending = 1;
-			rc = write(fd, buf, DUMMY_STRLEN);
-			eventPending = 0;
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(DUMMY_STRLEN, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : write - dm_pending with O_NONBLOCK
-	 * EXPECTED: DM_EVENT_WRITE (rc = -1, errno = EAGAIN)
-	 */
-	if (DMVAR_EXEC(FILE_WRITE_DATA_EVENT_BASE + 33)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT | O_NONBLOCK,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_WRITE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s)\n", DummyFile);
-			eventPending = 1;
-			rc = write(fd, buf, DUMMY_STRLEN);
-			eventPending = 0;
-			DMLOG_PRINT(DMLVL_DEBUG, "write(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, EAGAIN, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				} else if (length != DUMMY_STRLEN) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    length, DUMMY_STRLEN);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - no regions
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 1)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 0;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 5000);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - one TRUNCATE region covering entire file, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 2)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 5000);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 5000) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 5000);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - one TRUNCATE region covering entire file, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_TRUNCATE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 3)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 5000);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 5000) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 5000);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - one READ region covering entire file
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 4)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 5000);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - one WRITE region covering entire file
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 5)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 5000);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - two TRUNCATE regions covering part of file, truncate in one, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 6)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 2222);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2222) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2222);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - two TRUNCATE regions covering part of file, truncate in one, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_TRUNCATE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 7)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 2222);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2222) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2222);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - two non-TRUNCATE regions covering part of file, truncate in one
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 8)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 0);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - two non-TRUNCATE regions covering part of file, truncate in other
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 9)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 2;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 2222);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "ftruncate(%s) returned %d, buffer contents [%.*s]\n",
-				    DummyFile, rc, DUMMY_STRLEN, buf);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three different regions covering part of file, truncate in TRUNCATE, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 10)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 4444);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 4444) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 4444);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three different regions covering part of file, truncate in TRUNCATE, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_TRUNCATE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 11)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 4444);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 4444) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 4444);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three TRUNCATE regions covering part of file, truncate beyond all
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 12)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 4000;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 6000);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three different regions covering part of file, truncate in TRUNCATE, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 13)) {
-		int fd;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memcpy(buf, DUMMY_STRING, DUMMY_STRLEN);
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 2997);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three different regions covering part of file, truncate in TRUNCATE, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_TRUNCATE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 14)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 2997);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 2997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three different regions covering part of file, truncate before TRUNCATE, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 15)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 1997);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three different regions covering part of file, truncate before TRUNCATE, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_TRUNCATE (rc = -1, errno = ABORT_ERRNO)
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 16)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 1000;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 2000;
-		Regions[1].rg_size = 1000;
-		Regions[1].rg_flags = DM_REGION_TRUNCATE;
-		Regions[2].rg_offset = 3005;
-		Regions[2].rg_size = 1000;
-		Regions[2].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_ABORT;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 1997);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			eventResponse = DM_RESP_CONTINUE;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1997) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - truncate one byte before start of one-byte TRUNCATE region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 17)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 0);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 2997);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - truncate@start/end of one-byte TRUNCATE region, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 18)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - truncate one byte beyond end of one-byte TRUNCATE region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 19)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 1;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, 2);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - one R/W/T region, truncate in it, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 20)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags =
-		    DM_REGION_READ | DM_REGION_WRITE | DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, DUMMY_STRLEN / 2);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != DUMMY_STRLEN / 2) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - three overlapping R/W/T regions, truncate in them, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 21)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 3;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_READ;
-		Regions[1].rg_offset = 0;
-		Regions[1].rg_size = DUMMY_STRLEN;
-		Regions[1].rg_flags = DM_REGION_WRITE;
-		Regions[2].rg_offset = 0;
-		Regions[2].rg_size = DUMMY_STRLEN;
-		Regions[2].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, DUMMY_STRLEN / 2);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != DUMMY_STRLEN / 2) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 0);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : ftruncate - one DM_REGION_NOEVENT region
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 22)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_NOEVENT;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_INVALID;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s)\n", DummyFile);
-			rc = ftruncate(fd, DUMMY_STRLEN / 2);
-			DMLOG_PRINT(DMLVL_DEBUG, "ftruncate(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : open with O_TRUNC - one TRUNCATE region covering entire file, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 23)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		rc = system(command);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "open(%s, O_TRUNC)\n",
-				    DummyFile);
-			fd = open(DummyFile, O_RDWR | O_CREAT | O_TRUNC,
-				  DUMMY_FILE_RW_MODE);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "open(%s, O_TRUNC) returned %d\n",
-				    DummyFile, fd);
-			rc = fd == -1 ? -1 : 0;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 5000);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : open with O_TRUNC - one-byte TRUNCATE region past EOF, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 24)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN;
-		Regions[0].rg_size = 1;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		rc = system(command);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "open(%s, O_TRUNC)\n",
-				    DummyFile);
-			fd = open(DummyFile, O_RDWR | O_CREAT | O_TRUNC,
-				  DUMMY_FILE_RW_MODE);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "open(%s, O_TRUNC) returned %d\n",
-				    DummyFile, fd);
-			rc = fd == -1 ? -1 : 0;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 5000);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : creat - one TRUNCATE region covering entire file, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_TRUNCATE
-	 */
-	if (DMVAR_EXEC(FILE_TRUNC_DATA_EVENT_BASE + 25)) {
-		int fd;
-
-		/* Variation set up */
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		EVENT_DELIVERY_DELAY;
-		rc = system(command);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY_LOOP;
-			eventExpected = DM_EVENT_TRUNCATE;
-			eventReceived = DM_EVENT_INVALID;
-			eventResponse = DM_RESP_CONTINUE;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "creat(%s)\n", DummyFile);
-			fd = creat(DummyFile, S_IRWXU);
-			DMLOG_PRINT(DMLVL_DEBUG, "creat(%s) returned %d\n",
-				    DummyFile, fd);
-			rc = fd == -1 ? -1 : 0;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Handles NOT same!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (offset != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    offset, 5000);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	remove(DUMMY_FILE);
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_POSTCREATE, events);
-			DMEV_SET(DM_EVENT_READ, events);
-			DMEV_SET(DM_EVENT_WRITE, events);
-			DMEV_SET(DM_EVENT_TRUNCATE, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_CLR(DM_EVENT_READ, events);
-			DMEV_CLR(DM_EVENT_WRITE, events);
-			DMEV_CLR(DM_EVENT_TRUNCATE, events);
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_PREUNMOUNT) {
-			/* SPECIAL CASE: need to set response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_PREUNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle2));
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_UNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_POSTCREATE) {
-			/* SPECIAL CASE: need to set regions (if any) and response */
-			dm_boolean_t exactflag;
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			int retcode = nse->ne_retcode;
-			hanp2 = DM_GET_VALUE(nse, ne_handle2, void *);
-			hlen2 = DM_GET_LEN(nse, ne_handle2);
-			strcpy(name1, DM_GET_VALUE(nse, ne_name1, char *));
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_POSTCREATE\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Parent handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Parent handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry handle: %p\n", hanp2);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry handle length: %d\n",
-				    hlen2);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry name: %s\n", name1);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    retcode);
-
-			if ((retcode == 0) && (numRegions > 0)) {
-				rc = dm_set_region(sid, hanp2, hlen2,
-						   DM_NO_TOKEN, numRegions,
-						   Regions, &exactflag);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_set_region failed! (rc = %d, errno = %d)\n",
-						    rc, errno);
-				} else {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "dm_set_regions succesfully set %d region(s)\n",
-						    numRegions);
-				}
-			}
-
-			/* No response needed */
-			response = DM_RESP_INVALID;
-		} else {
-			eventReceived = type;
-			response = eventResponse;
-
-			switch (type) {
-			case DM_EVENT_READ:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					dm_timestruct_t delay;
-
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-					length = de->de_length;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_READ\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Length: %d\n", length);
-
-					if (eventPending) {
-						rc = dm_pending(sid, token,
-								&delay);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "pending returned %d\n",
-							    rc);
-						EVENT_DELIVERY_DELAY;
-						EVENT_DELIVERY_DELAY;
-						EVENT_DELIVERY_DELAY;
-					}
-
-					break;
-				}
-
-			case DM_EVENT_WRITE:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					dm_timestruct_t delay;
-
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-					length = de->de_length;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_WRITE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Length: %d\n", length);
-
-					if (eventPending) {
-						rc = dm_pending(sid, token,
-								&delay);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "pending returned %d\n",
-							    rc);
-						EVENT_DELIVERY_DELAY;
-						EVENT_DELIVERY_DELAY;
-						EVENT_DELIVERY_DELAY;
-					}
-
-					break;
-				}
-
-			case DM_EVENT_TRUNCATE:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					dm_timestruct_t delay;
-
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_TRUNCATE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-
-					if (eventPending) {
-						rc = dm_pending(sid, token,
-								&delay);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "pending returned %d\n",
-							    rc);
-						EVENT_DELIVERY_DELAY;
-						EVENT_DELIVERY_DELAY;
-						EVENT_DELIVERY_DELAY;
-					}
-
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/event_sn.c b/testcases/kernel/fs/dmapi/event_sn.c
deleted file mode 100644
index 34031b5b9..000000000
--- a/testcases/kernel/fs/dmapi/event_sn.c
+++ /dev/null
@@ -1,1863 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: event_sn.c
- *
- * VARIATIONS	: 20
- *
- * EVENTS TESTED: DM_EVENT_CREATE
- * 		  DM_EVENT_REMOVE
- * 		  DM_EVENT_RENAME
- * 		  DM_EVENT_SYMLINK
- * 		  DM_EVENT_LINK
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummyFile2[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-char DummySubdir2[FILENAME_MAX];
-char DummyLink[FILENAME_MAX];
-
-/* Variables for thread communications */
-dm_eventtype_t eventExpected;
-dm_eventtype_t eventReceived;
-dm_response_t eventResponse;
-void *hanp1, *hanp2;
-size_t hlen1, hlen2;
-char name1[FILENAME_MAX], name2[FILENAME_MAX];
-dm_mode_t mode;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	int varStatus;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummyFile2, "%s/%s", mountPt, DUMMY_FILE2);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-		sprintf(DummySubdir2, "%s/%s", mountPt, DUMMY_SUBDIR2);
-		sprintf(DummyLink, "%s/%s", mountPt, DUMMY_LINK);
-
-		remove(DummyFile);
-		remove(DummyFile2);
-		unlink(DummyLink);
-		rmdir(DummySubdir);
-		rmdir(DummySubdir2);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI synchronous namespace event tests\n");
-
-	/*
-	 * TEST    : mkdir - DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_CREATE
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 1)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s)\n", DummySubdir);
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s) returned %d\n", DummySubdir,
-			    rc);
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    name1, DUMMY_SUBDIR);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = rmdir(DummySubdir);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : mkdir - DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_CREATE
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 2)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_ABORT;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s)\n", DummySubdir);
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "mkdir(%s) returned %d\n", DummySubdir,
-			    rc);
-		if ((varStatus =
-		     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    name1, DUMMY_SUBDIR);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : rmdir - DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_REMOVE
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 3)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_REMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s)\n", DummySubdir);
-			rc = rmdir(DummySubdir);
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s) returned %d\n",
-				    DummySubdir, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : rmdir - DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_REMOVE
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 4)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_REMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s)\n", DummySubdir);
-			rc = rmdir(DummySubdir);
-			DMLOG_PRINT(DMLVL_DEBUG, "rmdir(%s) returned %d\n",
-				    DummySubdir, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv - DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_RENAME
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 5)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_RENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir, DummySubdir2);
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, hanp2, hlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir2);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv - DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_RENAME
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 6)) {
-		dm_ino_t ino1, ino2;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_RENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummySubdir, DummySubdir2);
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			if ((varStatus =
-			     (rc == 0 ? DMSTAT_FAIL : DMSTAT_PASS)) ==
-			    DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, hanp2, hlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_SYMLINK
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 7)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_SYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = symlink(DummySubdir, DummySubdir2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DummySubdir) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    name2, DummySubdir);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummySubdir2);
-			rc |= rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink - DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_SYMLINK
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 8)) {
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_SYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n",
-				    DummySubdir, DummySubdir2);
-			rc = symlink(DummySubdir, DummySubdir2);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n",
-				    DummySubdir, DummySubdir2, rc);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_SUBDIR2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_SUBDIR2);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DummySubdir) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    name2, DummySubdir);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link - DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_LINK
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 9)) {
-#ifdef DIRECTORY_LINKS
-		dm_ino_t ino1, ino2, ino3;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_LINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummySubdir,
-				    DummyLink);
-			rc = link(DummySubdir, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummySubdir, DummyLink, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino3);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino3) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%lld vs %lld)\n",
-						    ino2, ino3);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			rc |= unlink(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with DIRECTORY_LINKS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : link - DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_LINK
-	 */
-	if (DMVAR_EXEC(DIR_SYNC_NAMESP_EVENT_BASE + 10)) {
-#ifdef DIRECTORY_LINKS
-		dm_ino_t ino1, ino2, ino3;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_LINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummySubdir,
-				    DummyLink);
-			rc = link(DummySubdir, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummySubdir, DummyLink, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino3);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino3) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%lld vs %lld)\n",
-						    ino2, ino3);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with DIRECTORY_LINKS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : open
-	 * EXPECTED: DM_EVENT_CREATE, DM_RESP_CONTINUE
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 1)) {
-		int fd;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s)\n", DummyFile);
-		fd = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s) returned %d\n", DummyFile,
-			    fd);
-		rc = (fd == -1) ? -1 : 0;
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, DUMMY_FILE) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s %s)\n",
-					    name1, DUMMY_SUBDIR);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-		EVENT_DELIVERY_DELAY;
-		rc = close(fd);
-		rc |= remove(DummyFile);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : open
-	 * EXPECTED: DM_EVENT_CREATE, DM_RESP_ABORT
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 2)) {
-		dm_ino_t ino;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_CREATE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_ABORT;
-
-		/* Variation */
-		EVENT_DELIVERY_DELAY;
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s)\n", DummyFile);
-		fd = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		DMLOG_PRINT(DMLVL_DEBUG, "open(%s) returned %d\n", DummyFile,
-			    fd);
-		if ((varStatus =
-		     DMVAR_CHKFAILEXP(-1, fd, ABORT_ERRNO, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Unable to obtain inode!\n");
-				varStatus = DMSTAT_FAIL;
-			} else if (ino != ROOT_INODE) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Parent handle NOT root! (%lld vs %d)\n",
-					    ino, ROOT_INODE);
-				varStatus = DMSTAT_FAIL;
-			} else if (strcmp(name1, DUMMY_FILE) != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Entry name NOT correct! (%s vs %s)\n",
-					    name1, DUMMY_FILE);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : remove
-	 * EXPECTED: DM_EVENT_REMOVE, DM_RESP_CONTINUE
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 3)) {
-		dm_ino_t ino;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_REMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s)\n", DummyFile);
-			rc = remove(DummyFile);
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : remove
-	 * EXPECTED: DM_EVENT_REMOVE, DM_RESP_ABORT
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 4)) {
-		dm_ino_t ino;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_REMOVE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s)\n", DummyFile);
-			rc = remove(DummyFile);
-			DMLOG_PRINT(DMLVL_DEBUG, "remove(%s) returned %d\n",
-				    DummyFile, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv
-	 * EXPECTED: DM_EVENT_RENAME, DM_RESP_CONTINUE
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 5)) {
-		dm_ino_t ino1, ino2;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_RENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummyFile, DummyFile2);
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummyFile, DummyFile2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n", DummyFile,
-				    DummyFile2, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, hanp2, hlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DUMMY_FILE2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_FILE2);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile2);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : mv
-	 * EXPECTED: DM_EVENT_RENAME, DM_RESP_ABORT
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 6)) {
-		dm_ino_t ino1, ino2;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_RENAME;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		sprintf(command, "mv %s %s", DummyFile, DummyFile2);
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "system(mv %s %s)\n",
-				    DummyFile, DummyFile2);
-			rc = system(command);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "system(mv %s %s) returned %d\n", DummyFile,
-				    DummyFile2, rc);
-			if ((varStatus =
-			     (rc == 0 ? DMSTAT_FAIL : DMSTAT_PASS)) ==
-			    DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New parent handle NOT root! (%lld vs %d)\n",
-						    ino2, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else
-				    if (dm_handle_cmp
-					(hanp1, hlen1, hanp2, hlen2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old parent handle NOT equal to new parent handle!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_FILE) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Old entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_FILE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DUMMY_FILE2) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "New entry name NOT correct! (%s vs %s)\n",
-						    name2, DUMMY_FILE2);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink
-	 * EXPECTED: DM_EVENT_SYMLINK, DM_RESP_CONTINUE
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 7)) {
-		dm_ino_t ino;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_SYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = symlink(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n", DummyFile,
-				    DummyLink, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DummyFile) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    name2, DummyFile);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = unlink(DummyLink);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : symlink
-	 * EXPECTED: DM_EVENT_SYMLINK, DM_RESP_ABORT
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 8)) {
-		dm_ino_t ino;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_SYMLINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "symlink(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = symlink(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "symlink(%s, %s) returned %d\n", DummyFile,
-				    DummyLink, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name2, DummyFile) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Symlink contents NOT correct! (%s vs %s)\n",
-						    name2, DummyFile);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : link
-	 * EXPECTED: DM_EVENT_LINK, DM_RESP_CONTINUE
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 9)) {
-		dm_ino_t ino1, ino2, ino3;
-		void *hanp;
-		size_t hlen;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_LINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = link(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummyFile, DummyLink, rc);
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino3);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino3) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%lld vs %lld)\n",
-						    ino2, ino3);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			rc |= remove(DummyLink);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : link
-	 * EXPECTED: DM_EVENT_LINK, DM_RESP_ABORT
-	 */
-	if (DMVAR_EXEC(FILE_SYNC_NAMESP_EVENT_BASE + 10)) {
-		dm_ino_t ino1, ino2, ino3;
-		void *hanp;
-		size_t hlen;
-		int fd;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_LINK;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		EVENT_DELIVERY_DELAY;
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			eventResponse = DM_RESP_ABORT;
-			EVENT_DELIVERY_DELAY;
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s)\n", DummyFile,
-				    DummyLink);
-			rc = link(DummyFile, DummyLink);
-			DMLOG_PRINT(DMLVL_DEBUG, "link(%s, %s) returned %d\n",
-				    DummyFile, DummyLink, rc);
-			if ((varStatus =
-			     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO,
-					      eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				rc = dm_handle_to_ino(hanp1, hlen1, &ino1);
-				rc |= dm_handle_to_ino(hanp2, hlen2, &ino2);
-				rc |= dm_handle_to_ino(hanp, hlen, &ino3);
-				if (rc == -1) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Unable to obtain inode!\n");
-					varStatus = DMSTAT_FAIL;
-				} else if (ino1 != ROOT_INODE) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Parent handle NOT root! (%lld vs %d)\n",
-						    ino1, ROOT_INODE);
-					varStatus = DMSTAT_FAIL;
-				} else if (ino2 != ino3) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Source link handle NOT correct! (%lld vs %lld)\n",
-						    ino2, ino3);
-					varStatus = DMSTAT_FAIL;
-				} else if (strcmp(name1, DUMMY_LINK) != 0) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Target entry name NOT correct! (%s vs %s)\n",
-						    name1, DUMMY_LINK);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			eventResponse = DM_RESP_CONTINUE;
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	int type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_NOSPACE, events);
-			DMEV_SET(DM_EVENT_CREATE, events);
-			DMEV_SET(DM_EVENT_REMOVE, events);
-			DMEV_SET(DM_EVENT_RENAME, events);
-			DMEV_SET(DM_EVENT_SYMLINK, events);
-			DMEV_SET(DM_EVENT_LINK, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_PREUNMOUNT) {
-			/* SPECIAL CASE: need to set response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_PREUNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle2));
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_UNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			eventReceived = type;
-			response = eventResponse;
-
-			switch (type) {
-			case DM_EVENT_CREATE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					mode = nse->ne_mode;
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_CREATE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    mode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    name1);
-
-					break;
-				}
-
-			case DM_EVENT_REMOVE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					mode = nse->ne_mode;
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_REMOVE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    mode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    name1);
-
-					break;
-				}
-
-			case DM_EVENT_RENAME:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					hanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					hlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					strcpy(name2,
-					       DM_GET_VALUE(nse, ne_name2,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_RENAME\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New parent handle: %p\n",
-						    hanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New parent handle length: %d\n",
-						    hlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Old entry name: %s\n",
-						    name1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  New entry name: %s\n",
-						    name2);
-
-					break;
-				}
-
-			case DM_EVENT_SYMLINK:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-					strcpy(name2,
-					       DM_GET_VALUE(nse, ne_name2,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_SYMLINK\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Symlink entry name: %s\n",
-						    name1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Symlink contents: %s\n",
-						    name2);
-
-					break;
-				}
-
-			case DM_EVENT_LINK:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(nse, ne_handle1,
-							 void *);
-					hlen1 = DM_GET_LEN(nse, ne_handle1);
-					hanp2 =
-					    DM_GET_VALUE(nse, ne_handle2,
-							 void *);
-					hlen2 = DM_GET_LEN(nse, ne_handle2);
-					strcpy(name1,
-					       DM_GET_VALUE(nse, ne_name1,
-							    char *));
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_LINK\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Source link handle: %p\n",
-						    hanp2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Source link handle length: %d\n",
-						    hlen2);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Target entry name: %s\n",
-						    name1);
-
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/event_us.c b/testcases/kernel/fs/dmapi/event_us.c
deleted file mode 100644
index 46925fed7..000000000
--- a/testcases/kernel/fs/dmapi/event_us.c
+++ /dev/null
@@ -1,1034 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: event_us.c
- *
- * VARIATIONS	: 21
- *
- * EVENTS TESTED: DM_EVENT_USER
- *
- * API'S TESTED	: dm_create_userevent
- * 		  dm_send_msg
- * 		  dm_find_eventmsg
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/mount.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char *mountPt;
-char *deviceNm;
-void *fshanp;
-size_t fshlen;
-dm_size_t maxMsgDat;
-
-/* Variables for thread communications */
-dm_eventtype_t eventExpected;
-dm_eventtype_t eventReceived;
-dm_response_t eventResponse;
-void *hanp2;
-size_t hlen2;
-char name1[FILENAME_MAX];
-dm_token_t tokenReceived;
-char msgDataReceived[MSG_DATALEN];
-dm_size_t msgDataLenReceived;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int rc;
-	int varStatus;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		rc = dm_get_config(fshanp, fshlen, DM_CONFIG_MAX_MESSAGE_DATA,
-				   &maxMsgDat);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_config failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			umount(mountPt);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI user event tests\n");
-
-	szFuncName = "dm_create_userevent";
-
-	/*
-	 * TEST    : dm_create_uservent - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CREATE_USEREVENT_BASE + 1)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_create_userevent(INVALID_ADDR, MSG_DATALEN, buf,
-					 &token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_uservent - invalid msglen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(CREATE_USEREVENT_BASE + 2)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid msglen)\n", szFuncName);
-		rc = dm_create_userevent(sid, maxMsgDat + 1, buf, &token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_uservent - invalid msgdatap
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(CREATE_USEREVENT_BASE + 3)) {
-		dm_token_t token;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid msgdatap)\n", szFuncName);
-		rc = dm_create_userevent(sid, MSG_DATALEN, (void *)INVALID_ADDR,
-					 &token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_uservent - invalid tokenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #11 (unused tevp left on queue)
-	 */
-	if (DMVAR_EXEC(CREATE_USEREVENT_BASE + 4)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid tokenp)\n", szFuncName);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf,
-					 (dm_token_t *) INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_uservent - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(CREATE_USEREVENT_BASE + 5)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0, 0, NULL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : dm_create_uservent - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CREATE_USEREVENT_BASE + 6)) {
-		char buf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_create_userevent(DM_NO_SESSION, MSG_DATALEN, buf,
-					 &token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_send_msg";
-
-	/*
-	 * TEST    : dm_send_msg - invalid targetsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 1)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid targetsid)\n", szFuncName);
-		rc = dm_send_msg(INVALID_ADDR, DM_MSGTYPE_SYNC, MSG_DATALEN,
-				 buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - invalid msgtype
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 2)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid msgtype)\n", szFuncName);
-		rc = dm_send_msg(sid, INVALID_ADDR, MSG_DATALEN, buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 3)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n", szFuncName);
-		rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, maxMsgDat + 1, buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 4)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n", szFuncName);
-		rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN,
-				 (void *)INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - DM_RESP_CONTINUE
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 5)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_USER;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(continue response)\n", szFuncName);
-		rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			if (tokenReceived == 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Token NOT correct! (%d vs non-zero)\n",
-					    tokenReceived);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (msgDataLenReceived != MSG_DATALEN) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Message lengths NOT same! (%d vs %d)\n",
-					    msgDataLenReceived, MSG_DATALEN);
-				varStatus = DMSTAT_FAIL;
-			} else if (memcmp(msgDataReceived, buf, MSG_DATALEN) !=
-				   0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Message data NOT same! (%s vs %s)\n",
-					    msgDataReceived, buf);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - DM_RESP_ABORT
-	 * EXPECTED: rc = -1, errno = ABORT_ERRNO
-	 *
-	 * This variation uncovered XFS BUG #39 (response reterror returned
-	 * instead of -1 and errno set to reterror)
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 6)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_USER;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_ABORT;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(abort response)\n", szFuncName);
-		rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-		if ((varStatus =
-		     DMVAR_CHKFAILEXP(-1, rc, ABORT_ERRNO, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			if (tokenReceived == 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Token NOT correct! (%d vs non-zero)\n",
-					    tokenReceived);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (msgDataLenReceived != MSG_DATALEN) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Message lengths NOT same! (%d vs %d)\n",
-					    msgDataLenReceived, MSG_DATALEN);
-				varStatus = DMSTAT_FAIL;
-			} else if (memcmp(msgDataReceived, buf, MSG_DATALEN) !=
-				   0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Message data NOT same! (%s vs %s)\n",
-					    msgDataReceived, buf);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - DM_MSGTYPE_ASYNC
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 7)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_USER;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_MSGTYPE_ASYNC)\n", szFuncName);
-		rc = dm_send_msg(sid, DM_MSGTYPE_ASYNC, MSG_DATALEN, buf);
-		EVENT_DELIVERY_DELAY;
-		if ((varStatus =
-		     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-				      eventReceived)) == DMSTAT_PASS) {
-			if (tokenReceived != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Token NOT correct! (%d vs %d)\n",
-					    tokenReceived, 0);
-				varStatus = DMSTAT_FAIL;
-			}
-			if (msgDataLenReceived != MSG_DATALEN) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Message lengths NOT same! (%d vs %d)\n",
-					    msgDataLenReceived, MSG_DATALEN);
-				varStatus = DMSTAT_FAIL;
-			} else if (memcmp(msgDataReceived, buf, MSG_DATALEN) !=
-				   0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Message data NOT same! (%s vs %s)\n",
-					    msgDataReceived, buf);
-				varStatus = DMSTAT_FAIL;
-			}
-		}
-		DMVAR_END(varStatus);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_send_msg - DM_NO_SESSION targetsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SEND_MSG_BASE + 8)) {
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION targetsid)\n",
-			    szFuncName);
-		rc = dm_send_msg(DM_NO_SESSION, DM_MSGTYPE_SYNC, MSG_DATALEN,
-				 buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_find_eventmsg";
-
-	/*
-	 * TEST    : dm_find_eventmsg - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 1)) {
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_find_eventmsg(INVALID_ADDR, token, MSG_DATALEN,
-					      buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_find_eventmsg - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 2)) {
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_find_eventmsg(sid, INVALID_ADDR, MSG_DATALEN,
-					      buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_find_eventmsg - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 3)) {
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n",
-				    szFuncName);
-			rc = dm_find_eventmsg(sid, token, MSG_DATALEN - 1, buf,
-					      &rlen);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n",
-						    rlen);
-					if (rlen ==
-					    MSG_DATALEN +
-					    sizeof(dm_eventmsg_t)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d, expected errno = %d, and expected rlen = %d\n",
-							    szFuncName, rc,
-							    errno, rlen);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected rlen (%d vs %d)\n",
-							    szFuncName, rc,
-							    errno, rlen,
-							    MSG_DATALEN);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_find_eventmsg - invalid bufp
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 4)) {
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_find_eventmsg(sid, token, MSG_DATALEN,
-					      (void *)INVALID_ADDR, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_find_eventmsg - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 5)) {
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_find_eventmsg(sid, token, MSG_DATALEN, buf,
-					      (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_find_eventmsg - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 6)) {
-		dm_token_t token;
-		char bufin[MSG_DATALEN],
-		    bufout[MSG_DATALEN + sizeof(dm_eventmsg_t)];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(bufin, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, bufin, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-			rc = dm_find_eventmsg(sid, token, sizeof(bufout),
-					      bufout, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				if (rlen == MSG_DATALEN + sizeof(dm_eventmsg_t)) {
-					if (memcmp
-					    (bufin,
-					     bufout + sizeof(dm_eventmsg_t),
-					     MSG_DATALEN) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d, expected rlen %d, and expected buffer %s\n",
-							    szFuncName, rc,
-							    rlen,
-							    bufout +
-							    sizeof
-							    (dm_eventmsg_t));
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected rlen %d but expected buffer %s\n",
-							    szFuncName, rc,
-							    rlen, bufout);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s passed with expected rc = %d but unexpected rlen %d\n",
-						    szFuncName, rc, rlen);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_find_eventmsg - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(FIND_EVENTMSG_BASE + 7)) {
-		dm_token_t token;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, buf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to initialize variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_find_eventmsg(DM_NO_SESSION, token, MSG_DATALEN,
-					      buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	EVENT_DELIVERY_DELAY;
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	int type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			fshanp = DM_GET_VALUE(me, me_handle1, void *);
-			fshlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    fshanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    fshlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(fshanp, fshlen);
-
-			/*rc = dm_request_right(sid, fshanp, fshlen, token, DM_RR_WAIT, DM_RIGHT_EXCL);
-			   if (rc == -1) {
-			   DMLOG_PRINT(DMLVL_ERR, "dm_request_right failed! (rc = %d, errno = %d)\n", rc, errno);
-			   dm_destroy_session(sid);
-			   DM_EXIT();
-			   } */
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_POSTCREATE, events);
-			DMEV_SET(DM_EVENT_ATTRIBUTE, events);
-			DMEV_SET(DM_EVENT_CLOSE, events);
-			DMEV_SET(DM_EVENT_DESTROY, events);
-			rc = dm_set_disp(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &events, DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					      &events, DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			/*rc = dm_release_right(sid, fshanp, fshlen, token);
-			   if (rc == -1) {
-			   DMLOG_PRINT(DMLVL_ERR, "dm_request_right failed! (rc = %d, errno = %d)\n", rc, errno);
-			   dm_destroy_session(sid);
-			   DM_EXIT();
-			   } */
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_PREUNMOUNT) {
-			/* SPECIAL CASE: need to set response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_PREUNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle2));
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_UNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_POSTCREATE) {
-			/* SPECIAL CASE: need to save entry info */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			hanp2 = DM_GET_VALUE(nse, ne_handle2, void *);
-			hlen2 = DM_GET_LEN(nse, ne_handle2);
-			strcpy(name1, DM_GET_VALUE(nse, ne_name1, char *));
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_POSTCREATE\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Parent handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Parent handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry handle: %p\n", hanp2);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry handle length: %d\n",
-				    hlen2);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Entry name: %s\n", name1);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-
-			/* No response needed */
-			response = DM_RESP_INVALID;
-		} else {
-			eventReceived = type;
-			response = eventResponse;
-
-			switch (type) {
-			case DM_EVENT_USER:
-				{
-					memcpy(&tokenReceived, &token,
-					       sizeof(dm_token_t));
-					msgDataLenReceived =
-					    DM_GET_LEN(dmMsg, ev_data);
-					memcpy(msgDataReceived,
-					       DM_GET_VALUE(dmMsg, ev_data,
-							    char *),
-					       msgDataLenReceived);
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_USER\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Message length: %d\n",
-						    msgDataLenReceived);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Message data: %s\n",
-						    msgDataReceived);
-
-					response = eventResponse;
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/handle.c b/testcases/kernel/fs/dmapi/handle.c
deleted file mode 100644
index 3a57c2ebf..000000000
--- a/testcases/kernel/fs/dmapi/handle.c
+++ /dev/null
@@ -1,7051 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: handle.c
- *
- * VARIATIONS	: 156
- *
- * API'S TESTED	: dm_path_to_handle
- * 		  dm_fd_to_handle
- * 		  dm_path_to_fshandle
- * 		  dm_handle_to_fshandle
- * 		  dm_handle_cmp
- * 		  dm_handle_free
- * 		  dm_handle_is_valid
- * 		  dm_handle_hash
- * 		  dm_handle_to_fsid
- * 		  dm_handle_to_igen
- * 		  dm_handle_to_ino
- * 		  dm_make_handle
- * 		  dm_make_fshandle
- * 		  dm_handle_to_path
- * 		  dm_sync_by_handle
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include "dm_test.h"
-
-#define PATHBUF_LEN 256
-
-#define DIR_LEVEL1 "level1"
-#define DIR_LEVEL2 "level1/level2"
-#define DIR_LEVEL3 "level1/level2/level3"
-#define DIR_LEVEL4 "level1/level2/level3/level4"
-#define FILE_LEVEL4 "level1/level2/level3/level4/dummy.txt"
-#define PATH_NOTDIR "dummy.txt/dummy.txt"
-#define FILE_NOTDMAPI "/usr/include/errno.h"
-#define PATH_TOOLONG "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456"
-
-char *mountPt;
-char DummySubdirFile[FILENAME_MAX];
-dm_sessid_t sid;
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int rc;
-	dm_boolean_t bRC;
-	char *szSessionInfo = "dm_test session info";
-	void *mtpthanp, *curdirhanp;
-	size_t mtpthlen, curdirhlen;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	if ((mountPt = DMOPT_GET("mtpt")) == NULL) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "Missing mount point, use -mtpt (for example, -mtpt /dmapidir)\n");
-		DM_EXIT();
-	} else {
-		DMLOG_PRINT(DMLVL_DEBUG, "Mount point is %s\n", mountPt);
-	}
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if (((rc = dm_path_to_handle(mountPt, &mtpthanp, &mtpthlen)) != 0)
-		||
-		((rc =
-		  dm_path_to_handle(CURRENT_DIR, &curdirhanp,
-				    &curdirhlen)) != 0)) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_path_to_handle failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if (dm_handle_cmp(mtpthanp, mtpthlen, curdirhanp, curdirhlen) !=
-		   0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "This test case must be run from the root directory of the DMAPI FS (%s)\n",
-			    mountPt);
-		DM_EXIT();
-	} else {
-		sprintf(DummySubdirFile, "%s/%s", mountPt, DUMMY_SUBDIR_FILE);
-
-		remove(DUMMY_SUBDIR_FILE);
-		unlink(DUMMY_SUBDIR_LINK);
-		rmdir(DUMMY_SUBDIR_SUBDIR);
-		remove(DUMMY_FILE);
-		remove(DUMMY_FILE2);
-		unlink(DUMMY_LINK);
-		rmdir(DUMMY_SUBDIR);
-		remove(FILE_LEVEL4);
-		rmdir(DIR_LEVEL4);
-		rmdir(DIR_LEVEL3);
-		rmdir(DIR_LEVEL2);
-		rmdir(DIR_LEVEL1);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI handle tests\n");
-
-	szFuncName = "dm_path_to_handle";
-
-	/*
-	 * TEST    : dm_path_to_handle - invalid path
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #3 (0 return code from strnlen_user
-	 * ignored, which indicated fault)
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid path)\n", szFuncName);
-		rc = dm_path_to_handle((char *)INVALID_ADDR, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - nonexistent path, current directory
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(nonexistent path in curdir)\n",
-			    szFuncName);
-		rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - file in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in curdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - link in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* no clean up */
-		} else if ((rc = link(DUMMY_FILE, DUMMY_LINK)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in curdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_LINK, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			rc |= unlink(DUMMY_LINK);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - directory in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir in curdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - nonexistent path in subdirectory
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(nonexistent path in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_SUBDIR_FILE, &hanp, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - file in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_SUBDIR_FILE, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - link in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = link(DUMMY_SUBDIR_FILE, DUMMY_SUBDIR_LINK)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_SUBDIR_FILE);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_SUBDIR_LINK, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= unlink(DUMMY_SUBDIR_LINK);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - directory in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DUMMY_SUBDIR_SUBDIR, DUMMY_DIR_RW_MODE))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_SUBDIR_SUBDIR, &hanp,
-					       &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR_SUBDIR);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - path too long
-	 * EXPECTED: rc = -1, errno = ENAMETOOLONG
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 10)) {
-		void *hanp;
-		size_t hlen;
-		char *szTooLong = PATH_TOOLONG;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(path too long)\n", szFuncName);
-		rc = dm_path_to_handle(szTooLong, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENAMETOOLONG);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - path includes invalid directory
-	 * EXPECTED: rc = -1, errno = ENOTDIR
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(path not dir)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(PATH_NOTDIR, &hanp, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOTDIR);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - path not DMAPI
-	 * EXPECTED: rc = -1, errno = ENXIO
-	 *
-	 * This variation uncovered XFS BUG #4 (EINVAL errno returned instead
-	 * of ENXIO)
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 12)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(path not DMAPI)\n", szFuncName);
-		rc = dm_path_to_handle(FILE_NOTDMAPI, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENXIO);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - invalid hanpp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 13)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanpp)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_FILE,
-					       (void **)INVALID_ADDR, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - invalid hlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 14)) {
-		int fd;
-		void *hanp;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlenp)\n",
-				    szFuncName);
-			rc = dm_path_to_handle(DUMMY_FILE, &hanp,
-					       (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - different paths to same file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 15)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(%s)\n", szFuncName,
-				    DUMMY_SUBDIR_FILE);
-			rc = dm_path_to_handle(DUMMY_SUBDIR_FILE, &hanp1,
-					       &hlen1);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp1 = %p, hlen1 = %d\n", hanp1,
-					    hlen1);
-				dm_LogHandle(hanp1, hlen1);
-				DMLOG_PRINT(DMLVL_DEBUG, "%s(%s)\n", szFuncName,
-					    DummySubdirFile);
-				rc = dm_path_to_handle(DummySubdirFile, &hanp2,
-						       &hlen2);
-				if (rc == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "hanp2 = %p, hlen2 = %d\n",
-						    hanp2, hlen2);
-					dm_LogHandle(hanp2, hlen2);
-				}
-			}
-
-			if (rc == 0) {
-				if (dm_handle_cmp(hanp1, hlen1, hanp2, hlen2) ==
-				    0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and handles same\n",
-						    szFuncName, rc);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but handles NOT same\n",
-						    szFuncName, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - empty path
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 16)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(empty path)\n", szFuncName);
-		rc = dm_path_to_handle("", &hanp, &hlen);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "hanp = %p, hlen = %d\n", hanp,
-				    hlen);
-			dm_LogHandle(hanp, hlen);
-
-			if (dm_handle_cmp(mtpthanp, mtpthlen, hanp, hlen) == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, 0);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with expected rc = %d but unexpected handle\n",
-					    szFuncName, 0);
-				DMVAR_PASS();
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with unexpected rc = %d (errno = %d)\n",
-				    szFuncName, rc, errno);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-		dm_handle_free(hanp, hlen);
-	}
-
-	/*
-	 * TEST    : dm_path_to_handle - current directory path
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_HANDLE_BASE + 17)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(curdir path)\n", szFuncName);
-		rc = dm_path_to_handle(CURRENT_DIR, &hanp, &hlen);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "hanp = %p, hlen = %d\n", hanp,
-				    hlen);
-			dm_LogHandle(hanp, hlen);
-
-			if (dm_handle_cmp(mtpthanp, mtpthlen, hanp, hlen) == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, 0);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with expected rc = %d but unexpected handle\n",
-					    szFuncName, 0);
-				DMVAR_PASS();
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with unexpected rc = %d (errno = %d)\n",
-				    szFuncName, rc, errno);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-		dm_handle_free(hanp, hlen);
-	}
-
-	szFuncName = "dm_fd_to_handle";
-
-	/*
-	 * TEST    : dm_fd_to_handle - invalid fd
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid fd)\n", szFuncName);
-		rc = dm_fd_to_handle(INVALID_ADDR, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - file fd in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in curdir)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - link fd in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 3)) {
-		int fd_f, fd_l;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd_f =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = link(DUMMY_FILE, DUMMY_LINK)) == -1) {
-			close(fd_f);
-			remove(DUMMY_FILE);
-		} else if ((fd_l = open(DUMMY_FILE, O_RDWR)) == -1) {
-			unlink(DUMMY_LINK);
-			close(fd_f);
-			remove(DUMMY_FILE);
-		}
-		if (fd_f == -1 || rc == -1 || fd_l == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in curdir)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd_l, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd_f);
-			rc |= close(fd_l);
-			rc |= remove(DUMMY_FILE);
-			rc |= remove(DUMMY_LINK);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - directory fd in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_SUBDIR, O_DIRECTORY)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir in curdir)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - file fd in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in subdir)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - link fd in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 6)) {
-		int fd_f, fd_l;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd_f =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = link(DUMMY_SUBDIR_FILE, DUMMY_SUBDIR_LINK)) ==
-			   -1) {
-			remove(DUMMY_SUBDIR_FILE);
-			close(fd_f);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((fd_l = open(DUMMY_SUBDIR_FILE, O_RDWR)) == -1) {
-			unlink(DUMMY_SUBDIR_LINK);
-			close(fd_f);
-			remove(DUMMY_SUBDIR_FILE);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd_f == -1 || fd_l == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in subdir)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd_l, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd_f);
-			rc |= close(fd_l);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= unlink(DUMMY_SUBDIR_LINK);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - directory fd in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DUMMY_SUBDIR_SUBDIR, DUMMY_DIR_RW_MODE))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((fd = open(DUMMY_SUBDIR_SUBDIR, O_DIRECTORY)) == -1) {
-			rmdir(DUMMY_SUBDIR_SUBDIR);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir in subdir)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= rmdir(DUMMY_SUBDIR_SUBDIR);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - fd not DMAPI
-	 * EXPECTED: rc = -1, errno = ENXIO
-	 *
-	 * This variation uncovered XFS BUG #27 (EBADF errno returned instead
-	 * of ENXIO)
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(FILE_NOTDMAPI, O_RDONLY);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fd not DMAPI)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENXIO);
-
-			/* Variation clean up */
-			rc = close(fd);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - invalid hanpp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 9)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanpp)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, (void **)INVALID_ADDR, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - invalid hlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 10)) {
-		int fd;
-		void *hanp;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlenp)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp,
-					     (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - stdin fd
-	 * EXPECTED: rc = -1, errno = ENXIO
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 11)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(stdin fd)\n", szFuncName);
-		rc = dm_fd_to_handle(0, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENXIO);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - stdout fd
-	 * EXPECTED: rc = -1, errno = ENXIO
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 12)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(stdout fd)\n", szFuncName);
-		rc = dm_fd_to_handle(1, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENXIO);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - stderr fd
-	 * EXPECTED: rc = -1, errno = ENXIO
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 13)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(stderr fd)\n", szFuncName);
-		rc = dm_fd_to_handle(2, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENXIO);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_fd_to_handle - invalidated fd
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(FD_TO_HANDLE_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) != -1) {
-			rc = close(fd);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated fd)\n",
-				    szFuncName);
-			rc = dm_fd_to_handle(fd, &hanp, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	szFuncName = "dm_path_to_fshandle";
-
-	/*
-	 * TEST    : dm_path_to_fshandle - invalid path
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #5 (0 return code from strnlen_user
-	 * ignored, which indicated fault)
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid path)\n", szFuncName);
-		rc = dm_path_to_fshandle((char *)INVALID_ADDR, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - nonexistent path in current directory
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(nonexistent path in curdir)\n",
-			    szFuncName);
-		rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - file in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in curdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - link in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = link(DUMMY_FILE, DUMMY_LINK)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in curdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_LINK, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			rc |= unlink(DUMMY_LINK);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - directory in current directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir in curdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_SUBDIR, &hanp, &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - nonexistent path in subdirectory
-	 * EXPECTED: rc = -1, errno = ENOENT
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(nonexistent path in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_SUBDIR_FILE, &hanp,
-						 &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOENT);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to set up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - file in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_SUBDIR_FILE, &hanp,
-						 &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - link in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = link(DUMMY_SUBDIR_FILE, DUMMY_SUBDIR_LINK)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_SUBDIR_FILE);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_SUBDIR_LINK, &hanp,
-						 &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= unlink(DUMMY_SUBDIR_LINK);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - directory in subdirectory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DUMMY_SUBDIR_SUBDIR, DUMMY_DIR_RW_MODE))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir in subdir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_SUBDIR_SUBDIR, &hanp,
-						 &hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp,
-					    hlen);
-				dm_LogHandle(hanp, hlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR_SUBDIR);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - path too long
-	 * EXPECTED: rc = -1, errno = ENAMETOOLONG
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 10)) {
-		void *hanp;
-		size_t hlen;
-		char *szTooLong = PATH_TOOLONG;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(path too long)\n", szFuncName);
-		rc = dm_path_to_fshandle(szTooLong, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENAMETOOLONG);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - path includes invalid directory
-	 * EXPECTED: rc = -1, errno = ENOTDIR
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(path not dir)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(PATH_NOTDIR, &hanp, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENOTDIR);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - path not DMAPI
-	 * EXPECTED: rc = -1, errno = ENXIO
-	 *
-	 * This variation uncovered XFS BUG #6 (EINVAL errno returned instead
-	 * of ENXIO)
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 12)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(path not DMAPI)\n", szFuncName);
-		rc = dm_path_to_fshandle(FILE_NOTDMAPI, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, ENXIO);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - invalid hanpp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 13)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		size_t hlen;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanpp)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_FILE,
-						 (void **)INVALID_ADDR, &hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - invalid hlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 14)) {
-		int fd;
-		void *hanp;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlenp)\n",
-				    szFuncName);
-			rc = dm_path_to_fshandle(DUMMY_FILE, &hanp,
-						 (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - empty path
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 15)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(empty path)\n", szFuncName);
-		rc = dm_path_to_fshandle("", &hanp, &hlen);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "hanp = %p, hlen = %d\n", hanp,
-				    hlen);
-			dm_LogHandle(hanp, hlen);
-		}
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		dm_handle_free(hanp, hlen);
-	}
-
-	/*
-	 * TEST    : dm_path_to_fshandle - current directory  path
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PATH_TO_FSHANDLE_BASE + 16)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(curdir path)\n", szFuncName);
-		rc = dm_path_to_fshandle(CURRENT_DIR, &hanp, &hlen);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "hanp = %p, hlen = %d\n", hanp,
-				    hlen);
-			dm_LogHandle(hanp, hlen);
-		}
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		dm_handle_free(hanp, hlen);
-	}
-
-	szFuncName = "dm_handle_to_fshandle";
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_fshandle((void *)INVALID_ADDR, hlen,
-						   &fshanp, &fshlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 2)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_handle_to_fshandle(hanp, INVALID_ADDR, &fshanp,
-						   &fshlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 3)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_fshandle(hanp, hlen, &fshanp,
-						   &fshlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "fshanp = %p, fshlen = %d\n",
-					    fshanp, fshlen);
-				dm_LogHandle(fshanp, fshlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 4)) {
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_fshandle(hanp, hlen, &fshanp,
-						   &fshlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "fshanp = %p, fshlen = %d\n",
-					    fshanp, fshlen);
-				dm_LogHandle(fshanp, fshlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 5)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_handle_to_fshandle(hanp, hlen, &fshanp,
-						   &fshlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "fshanp = %p, fshlen = %d\n",
-					    fshanp, fshlen);
-				dm_LogHandle(fshanp, fshlen);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - invalid fshanpp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 6)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp;
-		size_t hlen, fshlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid fshanpp)\n",
-				    szFuncName);
-			rc = dm_handle_to_fshandle(hanp, hlen,
-						   (void **)INVALID_ADDR,
-						   &fshlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - invalid fshlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 7)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid fshlenp)\n",
-				    szFuncName);
-			rc = dm_handle_to_fshandle(hanp, hlen, &fshanp,
-						   (void *)INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fshandle - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSHANDLE_BASE + 8)) {
-		void *fshanp;
-		size_t fshlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_handle_to_fshandle(DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					   &fshanp, &fshlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_handle_cmp";
-
-	/*
-	 * TEST    : dm_handle_cmp - invalid hanp1
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp1)\n",
-				    szFuncName);
-			rc = dm_handle_cmp((char *)INVALID_ADDR, hlen, hanp,
-					   hlen);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - invalid hlen1
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen1)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, INVALID_ADDR, hanp, hlen);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - invalid hanp2
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 3)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp2)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, hlen, (char *)INVALID_ADDR,
-					   hlen);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - invalid hlen2
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen2)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, hlen, hanp, INVALID_ADDR);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hlen1 < hlen2
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(hlen1 < hlen2)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, hlen, hanp, hlen + 1);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (same file handles)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 == hanp2, same file handle)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, hlen, hanp, hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (same fs handles)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 == hanp2, same fs handle)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, hlen, hanp, hlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hlen1 > hlen2
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(hlen1 > hlen2)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp, hlen, hanp, hlen - 1);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (different file handles, same path)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 9)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp1, &hlen1))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp2, &hlen2))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 == hanp2, diff file handles from same path)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (different fs handles, same path)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 10)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &hanp1,
-					     &hlen1)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &hanp2,
-					     &hlen2)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 == hanp2, diff fs handles from same path)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (different file handles, one path, one fd)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 11)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp1, &hlen1))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp2, &hlen2)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 == hanp2, diff file handles from path, fd)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (different file handles, same fd)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 12)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp1, &hlen1)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp2, &hlen2)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 == hanp2, diff file handles from same fd)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 != hanp2 (different path)
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 13)) {
-		int fd1, fd2;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd1 =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp1, &hlen1))
-			   == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-		} else
-		    if ((fd2 =
-			 open(DUMMY_FILE2, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE2, &hanp2, &hlen2))
-			   == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-			close(fd2);
-			remove(DUMMY_FILE2);
-		}
-		if (fd1 == -1 || rc == -1 || fd2 == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 != hanp2, different paths)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd1);
-			rc |= remove(DUMMY_FILE);
-			rc |= close(fd2);
-			rc |= remove(DUMMY_FILE2);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 != hanp2 (different fd)
-	 * EXPECTED: rc != 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 14)) {
-		int fd1, fd2;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd1 =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd1, &hanp1, &hlen1)) == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-		} else
-		    if ((fd2 =
-			 open(DUMMY_FILE2, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		} else if ((rc = dm_fd_to_handle(fd2, &hanp2, &hlen2)) == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-			close(fd2);
-			remove(DUMMY_FILE2);
-		}
-		if (fd1 == -1 || rc == -1 || fd2 == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 != hanp2, different fd's)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd1);
-			rc |= remove(DUMMY_FILE);
-			rc |= close(fd2);
-			rc |= remove(DUMMY_FILE2);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 == hanp2 (global handle)
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #41 (fault occurred instead of
-	 * rc = 0)
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 15)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(hanp1 == hanp2, global handle)\n",
-			    szFuncName);
-		rc = dm_handle_cmp(DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_GLOBAL_HANP, DM_GLOBAL_HLEN);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s passed with expected rc = %d\n",
-				    szFuncName, rc);
-			DMVAR_PASS();
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with unexpected rc = %d\n",
-				    szFuncName, rc);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_handle_cmp - hanp1 != hanp2 (file and global handle)
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_CMP_BASE + 16)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(hanp1 != hanp2, file and global handle)\n",
-				    szFuncName);
-			rc = dm_handle_cmp(DM_GLOBAL_HANP, DM_GLOBAL_HLEN, hanp,
-					   hlen);
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_handle_free";
-
-	/*
-	 * TEST    : dm_handle_free - invalid hanp
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		dm_handle_free((char *)INVALID_ADDR, FILE_HANDLELEN);
-		DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-		DMVAR_PASS();
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_free - file handle from path
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle from path)\n",
-				    szFuncName);
-			dm_handle_free(hanp, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_free - file handle from fd
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle from fd)\n",
-				    szFuncName);
-			dm_handle_free(hanp, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_free - fs handle from path
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from path)\n",
-				    szFuncName);
-			dm_handle_free(hanp, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_free - fs handle from handle
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 5)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp1, &hlen1)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp1, hlen1, &hanp2,
-					       &hlen2)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from handle)\n",
-				    szFuncName);
-			dm_handle_free(hanp2, hlen2);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_free - file handle from make
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 6)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-		dm_fsid_t fsid;
-		dm_igen_t igen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp1, &hlen1))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if (((rc = dm_handle_to_fsid(hanp1, hlen1, &fsid)) == -1)
-			   || ((rc = dm_handle_to_igen(hanp1, hlen1, &igen)) ==
-			       -1)
-			   || ((rc = dm_handle_to_ino(hanp1, hlen1, &ino)) ==
-			       -1)
-			   ||
-			   ((rc =
-			     dm_make_handle(&fsid, &ino, &igen, &hanp2,
-					    &hlen2)) == -1)) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle from make)\n",
-				    szFuncName);
-			dm_handle_free(hanp2, hlen2);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_free - fs handle from make
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 7)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-		dm_fsid_t fsid;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &hanp1,
-					     &hlen1)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if (((rc = dm_handle_to_fsid(hanp1, hlen1, &fsid)) == -1)
-			   || ((rc = dm_make_fshandle(&fsid, &hanp2, &hlen2)) ==
-			       -1)) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp1, hlen1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from make)\n",
-				    szFuncName);
-			dm_handle_free(hanp2, hlen2);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_free - global handle
-	 * EXPECTED: return
-	 */
-	if (DMVAR_EXEC(HANDLE_FREE_BASE + 8)) {
-#ifdef USER_SPACE_FAULTS
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		dm_handle_free(DM_GLOBAL_HANP, DM_GLOBAL_HLEN);
-		DMLOG_PRINT(DMLVL_DEBUG, "%s passed\n", szFuncName);
-		DMVAR_PASS();
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	szFuncName = "dm_handle_is_valid";
-
-	/*
-	 * TEST    : dm_handle_is_valid - invalid hanp
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		bRC = dm_handle_is_valid((char *)INVALID_ADDR, FILE_HANDLELEN);
-		DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - file handle
-	 * EXPECTED: rc = DM_TRUE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen);
-			DMVAR_ENDPASSEXP(szFuncName, DM_TRUE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - file handle, hlen too small
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file hlen too small)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen - 1);
-			DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - file handle, hlen too big
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file hlen too big)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen + 1);
-			DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - modified file handle
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memset(hanp, 0, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(modified file handle)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen);
-			DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - fs handle
-	 * EXPECTED: rc = DM_TRUE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen);
-			DMVAR_ENDPASSEXP(szFuncName, DM_TRUE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - fs handle, hlen too small
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs hlen too small)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen - 1);
-			DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - fs handle, hlen too big
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs hlen too big)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen + 1);
-			DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - modified fs handle
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			memset(hanp, 0, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(modified fs handle)\n",
-				    szFuncName);
-			bRC = dm_handle_is_valid(hanp, hlen);
-			DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - global handle
-	 * EXPECTED: rc = DM_TRUE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 10)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		bRC = dm_handle_is_valid(DM_GLOBAL_HANP, DM_GLOBAL_HLEN);
-		DMVAR_ENDPASSEXP(szFuncName, DM_TRUE, bRC);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_handle_is_valid - invalid handle
-	 * EXPECTED: rc = DM_FALSE
-	 */
-	if (DMVAR_EXEC(HANDLE_IS_VALID_BASE + 11)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid handle)\n", szFuncName);
-		bRC = dm_handle_is_valid(DM_INVALID_HANP, DM_INVALID_HLEN);
-		DMVAR_ENDPASSEXP(szFuncName, DM_FALSE, bRC);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_handle_hash";
-
-	/*
-	 * TEST    : dm_handle_hash - invalid hanp
-	 * EXPECTED: rc = ?
-	 */
-	if (DMVAR_EXEC(HANDLE_HASH_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_handle_hash((char *)INVALID_ADDR, FILE_HANDLELEN);
-		DMLOG_PRINT(DMLVL_DEBUG, "%s passed with rc = %u\n",
-			    szFuncName);
-		DMVAR_PASS();
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_hash - file handle
-	 * EXPECTED: rc = ?
-	 */
-	if (DMVAR_EXEC(HANDLE_HASH_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_handle_hash(hanp, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed with rc = %u\n",
-				    szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_hash - fs handle
-	 * EXPECTED: rc = ?
-	 */
-	if (DMVAR_EXEC(HANDLE_HASH_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_handle_hash(hanp, hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s passed with rc = %u\n",
-				    szFuncName);
-			DMVAR_PASS();
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_hash - global handle
-	 * EXPECTED: rc = ?
-	 */
-	if (DMVAR_EXEC(HANDLE_HASH_BASE + 4)) {
-#ifdef USER_SPACE_FAULTS
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_handle_hash(DM_GLOBAL_HANP, DM_GLOBAL_HLEN);
-		DMLOG_PRINT(DMLVL_DEBUG, "%s passed with rc = %u\n",
-			    szFuncName);
-		DMVAR_PASS();
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	szFuncName = "dm_handle_to_fsid";
-
-	/*
-	 * TEST    : dm_handle_to_fsid - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSID_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		dm_fsid_t fsidp;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_handle_to_fsid((char *)INVALID_ADDR, FILE_HANDLELEN,
-				       &fsidp);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fsid - invalid fsidp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSID_BASE + 2)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid fsidp)\n",
-				    szFuncName);
-			rc = dm_handle_to_fsid(hanp, hlen,
-					       (dm_fsid_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fsid - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSID_BASE + 3)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_fsid_t fsidp;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &fshanp,
-					     &fshlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_fsid(hanp, hlen, &fsidp);
-			if (rc == 0) {
-				if (memcmp(hanp, &fsidp, sizeof(dm_fsid_t)) ==
-				    0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, rc);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected fsid (0x%16llX vs 0x%16llX)\n",
-						    szFuncName, rc, fsidp,
-						    *(dm_fsid_t *) hanp);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fsid - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSID_BASE + 4)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_fsid_t fsidp;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &fshanp,
-					     &fshlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_handle_to_fsid(hanp, hlen, &fsidp);
-			if (rc == 0) {
-				if (memcmp(hanp, &fsidp, sizeof(dm_fsid_t)) ==
-				    0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, rc);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected fsid (0x%16llX vs 0x%16llX)\n",
-						    szFuncName, rc, fsidp,
-						    *(dm_fsid_t *) hanp);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_fsid - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_FSID_BASE + 5)) {
-		dm_fsid_t fsidp;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_handle_to_fsid(DM_GLOBAL_HANP, DM_GLOBAL_HLEN, &fsidp);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_handle_to_igen";
-
-	/*
-	 * TEST    : dm_handle_to_igen - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		dm_igen_t igen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_handle_to_igen((char *)INVALID_ADDR, FILE_HANDLELEN,
-				       &igen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_igen - invalid igenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 2)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid igenp)\n",
-				    szFuncName);
-			rc = dm_handle_to_igen(hanp, hlen,
-					       (dm_igen_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_igen - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_igen_t igen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_igen(hanp, hlen, &igen);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_igen - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_igen_t igen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_igen(hanp, hlen, &igen);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_igen - fs handle from file
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_igen_t igen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from file)\n",
-				    szFuncName);
-			rc = dm_handle_to_igen(hanp, hlen, &igen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_igen - fs handle from directory
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		dm_igen_t igen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_SUBDIR, &hanp,
-					     &hlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from dir)\n",
-				    szFuncName);
-			rc = dm_handle_to_igen(hanp, hlen, &igen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_igen - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_IGEN_BASE + 7)) {
-		dm_igen_t igen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_handle_to_igen(DM_GLOBAL_HANP, DM_GLOBAL_HLEN, &igen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_handle_to_ino";
-
-	/*
-	 * TEST    : dm_handle_to_ino - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		dm_ino_t ino;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_handle_to_ino((char *)INVALID_ADDR, FILE_HANDLELEN,
-				      &ino);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_ino - invalid inop
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 2)) {
-#ifdef USER_SPACE_FAULTS
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid inop)\n",
-				    szFuncName);
-			rc = dm_handle_to_ino(hanp, hlen,
-					      (dm_ino_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_handle_to_ino - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_ino(hanp, hlen, &ino);
-			if (rc == 0) {
-				struct stat statfs;
-
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				rc = stat(DUMMY_FILE, &statfs);
-				if (rc == 0) {
-					if (ino == statfs.st_ino) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "ino %d from stat() matches returned value\n",
-							    statfs.st_ino);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "BUT... ino %d from stat() does not match returned value %lld\n",
-							    statfs.st_ino, ino);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "BUT... stat() failed with rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_ino - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_handle_to_ino(hanp, hlen, &ino);
-			if (rc == 0) {
-				struct stat statfs;
-
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, rc);
-				rc = stat(DUMMY_SUBDIR, &statfs);
-				if (rc == 0) {
-					if (ino == statfs.st_ino) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "ino %d from stat() matches returned value\n",
-							    statfs.st_ino);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "BUT... ino %d from stat() does not match returned value %lld\n",
-							    statfs.st_ino, ino);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "BUT... stat() failed with rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_ino - fs handle from file
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from file)\n",
-				    szFuncName);
-			rc = dm_handle_to_ino(hanp, hlen, &ino);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_ino - fs handle from directory
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_SUBDIR, &hanp,
-					     &hlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle from dir)\n",
-				    szFuncName);
-			rc = dm_handle_to_ino(hanp, hlen, &ino);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_ino - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_INO_BASE + 7)) {
-		dm_ino_t ino;
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_handle_to_ino(DM_GLOBAL_HANP, DM_GLOBAL_HLEN, &ino);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_make_handle";
-
-	/*
-	 * TEST    : dm_make_handle - invalid fsidp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		void *hanp;
-		size_t hlen;
-		dm_ino_t ino;
-		dm_igen_t igen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid fsidp)\n", szFuncName);
-		rc = dm_make_handle((dm_fsid_t *) INVALID_ADDR, &ino, &igen,
-				    &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_handle - invalid inop
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 2)) {
-#ifdef USER_SPACE_FAULTS
-		void *hanp;
-		size_t hlen;
-		dm_fsid_t fsid;
-		dm_igen_t igen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid inop)\n", szFuncName);
-		rc = dm_make_handle(&fsid, (dm_ino_t *) INVALID_ADDR, &igen,
-				    &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_handle - invalid igenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 3)) {
-#ifdef USER_SPACE_FAULTS
-		void *hanp;
-		size_t hlen;
-		dm_fsid_t fsid;
-		dm_ino_t ino;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid igenp)\n", szFuncName);
-		rc = dm_make_handle(&fsid, &ino, (dm_igen_t *) INVALID_ADDR,
-				    &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_handle - invalid hanpp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 4)) {
-#ifdef USER_SPACE_FAULTS
-		size_t hlen;
-		dm_fsid_t fsid;
-		dm_igen_t igen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanpp)\n", szFuncName);
-		rc = dm_make_handle(&fsid, &ino, &igen, (void **)INVALID_ADDR,
-				    &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_handle - invalid hlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 5)) {
-#ifdef USER_SPACE_FAULTS
-		void *hanp;
-		dm_fsid_t fsid;
-		dm_igen_t igen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlenp)\n", szFuncName);
-		rc = dm_make_handle(&fsid, &ino, &igen, &hanp,
-				    (size_t *) INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_handle - file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 6)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-		dm_fsid_t fsid;
-		dm_igen_t igen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_FILE, &hanp1, &hlen1))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if (((rc = dm_handle_to_fsid(hanp1, hlen1, &fsid)) == -1)
-			   || ((rc = dm_handle_to_igen(hanp1, hlen1, &igen)) ==
-			       -1)
-			   || ((rc = dm_handle_to_ino(hanp1, hlen1, &ino)) ==
-			       -1)) {
-			dm_handle_free(hanp1, hlen1);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file)\n", szFuncName);
-			rc = dm_make_handle(&fsid, &ino, &igen, &hanp2, &hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp2,
-					    hlen2);
-				dm_LogHandle(hanp2, hlen2);
-
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = 0 but unexpected dm_handle_cmp rc = %d\n",
-						    szFuncName, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_make_handle - directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(MAKE_HANDLE_BASE + 7)) {
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-		dm_fsid_t fsid;
-		dm_igen_t igen;
-		dm_ino_t ino;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &hanp1,
-					   &hlen1)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if (((rc = dm_handle_to_fsid(hanp1, hlen1, &fsid)) == -1)
-			   || ((rc = dm_handle_to_igen(hanp1, hlen1, &igen)) ==
-			       -1)
-			   || ((rc = dm_handle_to_ino(hanp1, hlen1, &ino)) ==
-			       -1)) {
-			dm_handle_free(hanp1, hlen1);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir)\n", szFuncName);
-			rc = dm_make_handle(&fsid, &ino, &igen, &hanp2, &hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp2,
-					    hlen2);
-				dm_LogHandle(hanp2, hlen2);
-
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = 0 but unexpected dm_handle_cmp rc = %d\n",
-						    szFuncName, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	szFuncName = "dm_make_fshandle";
-
-	/*
-	 * TEST    : dm_make_fshandle - invalid fsidp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_FSHANDLE_BASE + 1)) {
-#ifdef USER_SPACE_FAULTS
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid fsidp)\n", szFuncName);
-		rc = dm_make_fshandle((dm_fsid_t *) INVALID_ADDR, &hanp, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_fshandle - invalid hanpp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_FSHANDLE_BASE + 2)) {
-#ifdef USER_SPACE_FAULTS
-		size_t hlen;
-		dm_fsid_t fsid;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanpp)\n", szFuncName);
-		rc = dm_make_fshandle(&fsid, (void **)INVALID_ADDR, &hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_fshandle - invalid hlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(MAKE_FSHANDLE_BASE + 3)) {
-#ifdef USER_SPACE_FAULTS
-		void *hanp;
-		dm_fsid_t fsid;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlenp)\n", szFuncName);
-		rc = dm_make_fshandle(&fsid, &hanp, (size_t *) INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with USER_SPACE_FAULTS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_make_fshandle - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(MAKE_FSHANDLE_BASE + 4)) {
-		int fd;
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-		dm_fsid_t fsid;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &hanp1,
-					     &hlen1)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_handle_to_fsid(hanp1, hlen1, &fsid)) == -1) {
-			dm_handle_free(hanp1, hlen1);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_make_fshandle(&fsid, &hanp2, &hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp2,
-					    hlen2);
-				dm_LogHandle(hanp2, hlen2);
-
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = 0 but unexpected dm_handle_cmp rc = %d\n",
-						    szFuncName, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	/*
-	 * TEST    : dm_make_fshandle - directory handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(MAKE_FSHANDLE_BASE + 5)) {
-		void *hanp1, *hanp2;
-		size_t hlen1, hlen2;
-		dm_fsid_t fsid;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_SUBDIR, &hanp1,
-					     &hlen1)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = dm_handle_to_fsid(hanp1, hlen1, &fsid)) == -1) {
-			dm_handle_free(hanp1, hlen1);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_make_fshandle(&fsid, &hanp2, &hlen2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "hanp = %p, hlen = %d\n", hanp2,
-					    hlen2);
-				dm_LogHandle(hanp2, hlen2);
-
-				rc = dm_handle_cmp(hanp1, hlen1, hanp2, hlen2);
-				if (rc == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = 0 but unexpected dm_handle_cmp rc = %d\n",
-						    szFuncName, rc);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp1, hlen1);
-			dm_handle_free(hanp2, hlen2);
-		}
-	}
-
-	szFuncName = "dm_handle_to_path";
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid dirhanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 1)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid dirhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path((void *)INVALID_ADDR, dirhlen,
-					       targhanp, targhlen, PATHBUF_LEN,
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid dirhlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 2)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid dirhlen)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, INVALID_ADDR, targhanp,
-					       targhlen, PATHBUF_LEN, pathbuf,
-					       &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid targhanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 3)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid targhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen,
-					       (void *)INVALID_ADDR, targhlen,
-					       PATHBUF_LEN, pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid targhlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 4)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid targhlen)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       INVALID_ADDR, PATHBUF_LEN,
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 5)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, 1, pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid pathbufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 6)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid pathbufp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, PATHBUF_LEN,
-					       (char *)INVALID_ADDR, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 7)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, PATHBUF_LEN, pathbuf,
-					       (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - file dirhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 8)) {
-		int fd1, fd2;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd1 =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd1, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-		} else
-		    if ((fd2 =
-			 open(DUMMY_FILE2, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			close(fd1);
-			remove(DUMMY_FILE);
-			dm_handle_free(targhanp, targhlen);
-		} else if ((rc = dm_fd_to_handle(fd2, &dirhanp, &dirhlen)) ==
-			   -1) {
-			close(fd2);
-			remove(DUMMY_FILE2);
-			close(fd1);
-			remove(DUMMY_FILE);
-			dm_handle_free(targhanp, targhlen);
-		}
-		if (fd1 == -1 || fd2 == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file dirhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd1);
-			rc |= close(fd2);
-			rc |= remove(DUMMY_FILE);
-			rc |= remove(DUMMY_FILE2);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - directory targhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 9)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &targhanp,
-					   &targhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir targhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - absolute root directory
-	 * EXPECTED: rc = 0
-	 *
-	 * This variation uncovered XFS BUG #12 (only worked if dirhanp was
-	 * current directory)
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 10)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(absolute root dir)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "rlen = %d, pathbuf = \"%s\"\n",
-					    rlen, pathbuf);
-
-				if (strncmp(pathbuf, DUMMY_FILE, rlen) == 0) {
-					*(pathbuf + rlen) = 0;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and path = %s (length %d)\n",
-						    szFuncName, rc, pathbuf,
-						    rlen);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected path (%s vs %s)\n",
-						    szFuncName, rc, pathbuf,
-						    DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - relative root directory
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 11)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle("", &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(relative root dir)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "rlen = %d, pathbuf = \"%s\"\n",
-					    rlen, pathbuf);
-
-				if (strncmp(pathbuf, DUMMY_FILE, rlen) == 0) {
-					*(pathbuf + rlen) = 0;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and path = %s (length %d)\n",
-						    szFuncName, rc, pathbuf,
-						    rlen);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected path (%s vs %s)\n",
-						    szFuncName, rc, pathbuf,
-						    DUMMY_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - file in subdirectory, one level
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 12)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dirhanp,
-					   &dirhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file in subdir)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "rlen = %d, pathbuf = \"%s\"\n",
-					    rlen, pathbuf);
-
-				if (strncmp(pathbuf, DUMMY_SUBDIR_FILE, rlen) ==
-				    0) {
-					*(pathbuf + rlen) = 0;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and path = %s (length %d)\n",
-						    szFuncName, rc, pathbuf,
-						    rlen);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected path (%s vs %s)\n",
-						    szFuncName, rc, pathbuf,
-						    DUMMY_SUBDIR_FILE);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - link in subdirectory, one level
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 13)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dirhanp,
-					   &dirhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = link(DUMMY_SUBDIR_FILE, DUMMY_SUBDIR_LINK)) ==
-			   -1) {
-			close(fd);
-			rmdir(DUMMY_SUBDIR);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR_LINK, &targhanp,
-					   &targhlen)) == -1) {
-			unlink(DUMMY_SUBDIR_LINK);
-			close(fd);
-			rmdir(DUMMY_SUBDIR);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(link in subdir)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "rlen = %d, pathbuf = \"%s\"\n",
-					    rlen, pathbuf);
-
-				if (strncmp(pathbuf, DUMMY_SUBDIR_LINK, rlen) ==
-				    0) {
-					*(pathbuf + rlen) = 0;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and path = %s (length %d)\n",
-						    szFuncName, rc, pathbuf,
-						    rlen);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected path (%s vs %s)\n",
-						    szFuncName, rc, pathbuf,
-						    DUMMY_SUBDIR_LINK);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_SUBDIR_FILE);
-			rc |= unlink(DUMMY_SUBDIR_LINK);
-			rc |= rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - file in subdirectory, multiple levels
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 14)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DIR_LEVEL1, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DIR_LEVEL2, DUMMY_DIR_RW_MODE)) == -1) {
-			rmdir(DIR_LEVEL1);
-		} else if ((rc = mkdir(DIR_LEVEL3, DUMMY_DIR_RW_MODE)) == -1) {
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else if ((rc = mkdir(DIR_LEVEL4, DUMMY_DIR_RW_MODE)) == -1) {
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DIR_LEVEL4, &dirhanp,
-					   &dirhlen)) == -1) {
-			rmdir(DIR_LEVEL4);
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else
-		    if ((fd =
-			 open(FILE_LEVEL4, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DIR_LEVEL4);
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(FILE_LEVEL4, &targhanp,
-					   &targhlen)) == -1) {
-			close(fd);
-			remove(FILE_LEVEL4);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DIR_LEVEL4);
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(file in multiple subdir)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "rlen = %d, pathbuf = \"%s\"\n",
-					    rlen, pathbuf);
-
-				if (strncmp(pathbuf, FILE_LEVEL4, rlen) == 0) {
-					*(pathbuf + rlen) = 0;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d and path = %s (length %d)\n",
-						    szFuncName, rc, pathbuf,
-						    rlen);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected path (%s vs %s)\n",
-						    szFuncName, rc, pathbuf,
-						    FILE_LEVEL4);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(FILE_LEVEL4);
-			rc |= rmdir(DIR_LEVEL4);
-			rc |= rmdir(DIR_LEVEL3);
-			rc |= rmdir(DIR_LEVEL2);
-			rc |= rmdir(DIR_LEVEL1);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - targhanp not in dirhanp
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 15)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DIR_LEVEL1, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = mkdir(DIR_LEVEL2, DUMMY_DIR_RW_MODE)) == -1) {
-			rmdir(DIR_LEVEL1);
-		} else if ((rc = mkdir(DIR_LEVEL3, DUMMY_DIR_RW_MODE)) == -1) {
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DIR_LEVEL3, &dirhanp,
-					   &dirhlen)) == -1) {
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else if ((rc = mkdir(DIR_LEVEL4, DUMMY_DIR_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else
-		    if ((fd =
-			 open(FILE_LEVEL4, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			rmdir(DIR_LEVEL4);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		} else
-		    if ((rc =
-			 dm_path_to_handle(FILE_LEVEL4, &targhanp,
-					   &targhlen)) == -1) {
-			close(fd);
-			remove(FILE_LEVEL4);
-			rmdir(DIR_LEVEL4);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DIR_LEVEL3);
-			rmdir(DIR_LEVEL2);
-			rmdir(DIR_LEVEL1);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(targhanp not in dirhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(FILE_LEVEL4);
-			rc |= rmdir(DIR_LEVEL4);
-			rc |= rmdir(DIR_LEVEL3);
-			rc |= rmdir(DIR_LEVEL2);
-			rc |= rmdir(DIR_LEVEL1);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - fs dirhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 16)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_path_to_fshandle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs dirhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, PATHBUF_LEN, pathbuf,
-					       &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - fs targhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 17)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_FILE, &targhanp,
-					     &targhlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs targhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, PATHBUF_LEN, pathbuf,
-					       &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - global dirhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 18)) {
-		int fd;
-		void *targhanp;
-		size_t targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global dirhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					       targhanp, targhlen, PATHBUF_LEN,
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - global targhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 19)) {
-		void *dirhanp;
-		size_t dirhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		rc = dm_path_to_handle(mountPt, &dirhanp, &dirhlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global targhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, DM_GLOBAL_HANP,
-					       DM_GLOBAL_HLEN, PATHBUF_LEN,
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(dirhanp, dirhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalidated dirhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 20)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dirhanp,
-					   &dirhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((fd =
-			 open(DUMMY_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = rmdir(DUMMY_SUBDIR)) == -1) {
-			dm_handle_free(targhanp, targhlen);
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated dirhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_handle_to_path - invalidated targhanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(HANDLE_TO_PATH_BASE + 21)) {
-		int fd;
-		void *dirhanp, *targhanp;
-		size_t dirhlen, targhlen;
-		char pathbuf[PATHBUF_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_handle(DUMMY_SUBDIR, &dirhanp,
-					   &dirhlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		} else
-		    if ((fd =
-			 open(DUMMY_SUBDIR_FILE, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = dm_fd_to_handle(fd, &targhanp, &targhlen)) ==
-			   -1) {
-			close(fd);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(targhanp, targhlen);
-			remove(DUMMY_SUBDIR_FILE);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		} else if ((rc = remove(DUMMY_SUBDIR_FILE)) == -1) {
-			dm_handle_free(targhanp, targhlen);
-			dm_handle_free(dirhanp, dirhlen);
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated targhanp)\n",
-				    szFuncName);
-			rc = dm_handle_to_path(dirhanp, dirhlen, targhanp,
-					       targhlen, sizeof(pathbuf),
-					       pathbuf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(dirhanp, dirhlen);
-			dm_handle_free(targhanp, targhlen);
-		}
-	}
-
-	szFuncName = "dm_sync_by_handle";
-
-	/*
-	 * TEST    : dm_sync_by_handle - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(INVALID_ADDR, hanp, hlen,
-					       DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(DM_NO_SESSION, hanp, hlen,
-					       DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(sid, (void *)INVALID_ADDR, hlen,
-					       DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(sid, hanp, INVALID_ADDR,
-					       DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(sid, hanp, hlen, INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((rc =
-			 (write(fd, DUMMY_STRING, DUMMY_STRLEN) ==
-			  DUMMY_STRLEN) ? 0 : -1) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(sid, hanp, hlen, DM_NO_TOKEN);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 7)) {
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(sid, hanp, hlen, DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DUMMY_FILE, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_sync_by_handle(sid, hanp, hlen, DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 9)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_sync_by_handle(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				       DM_NO_TOKEN);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_sync_by_handle - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SYNC_BY_HANDLE_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			remove(DUMMY_FILE);
-			dm_handle_free(hanp, hlen);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_sync_by_handle(sid, hanp, hlen, DM_NO_TOKEN);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	dm_handle_free(mtpthanp, mtpthlen);
-	dm_handle_free(curdirhanp, curdirhlen);
-
-	DMLOG_STOP();
-
-	tst_exit();
-
-}
diff --git a/testcases/kernel/fs/dmapi/hole.c b/testcases/kernel/fs/dmapi/hole.c
deleted file mode 100644
index daddc9ab3..000000000
--- a/testcases/kernel/fs/dmapi/hole.c
+++ /dev/null
@@ -1,4616 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: hole.c
- *
- * VARIATIONS	: 77
- *
- * API'S TESTED	: dm_get_allocinfo
- * 		  dm_probe_hole
- * 		  dm_punch_hole
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define TMP_FILELEN 500000
-#define NUM_EXTENTS 8
-
-char command[4096];
-dm_sessid_t sid;
-dm_extent_t Extents[NUM_EXTENTS];
-dm_extent_t bigExtents[20];
-
-void LogExtents(dm_extent_t * pext, u_int nelem)
-{
-
-	int i;
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Extents:\n");
-	for (i = 0; i < nelem; i++, pext++) {
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "  extent %d: type %d, offset %lld, length %lld\n",
-			    i + 1, pext->ex_type, pext->ex_offset,
-			    pext->ex_length);
-	}
-
-}
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int i;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		fd = open(DUMMY_TMP, O_RDWR | O_CREAT | O_TRUNC,
-			  DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < (TMP_FILELEN / DUMMY_STRLEN); i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc == 0) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI file hole tests\n");
-
-	szFuncName = "dm_get_allocinfo";
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, &off, NUM_EXTENTS,
-					      Extents, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, (void *)INVALID_ADDR, hlen,
-					      DM_NO_TOKEN, &off, NUM_EXTENTS,
-					      Extents, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #7 (EOPNOTSUPP errno returned
-	 * instead of EINVAL)
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, &off, NUM_EXTENTS,
-					      Extents, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, INVALID_ADDR,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid offp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid offp)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      (dm_off_t *) INVALID_ADDR,
-					      NUM_EXTENTS, Extents, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - unaligned offp
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = UNALIGNED_BLK_OFF;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(unaligned offp)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - off past EOF
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = TMP_FILELEN + 1;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(off past EOF)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - zero nelem
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem zero)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, 0, Extents, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid extentp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid extentp)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS,
-					      (dm_extent_t *) INVALID_ADDR,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalid nelemp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelemp)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      (u_int *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - zero-length file
-	 * EXPECTED: rc = 0, nelem = 0
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(zero-length file)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "dm_get_allocinfo returned %d\n", rc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-				if (nelem == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - file all resident
-	 * EXPECTED: rc = 0, nelem = 1
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 13)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file all resident)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "dm_get_allocinfo returned %d\n", rc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-				if (nelem == 1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					LogExtents(Extents, nelem);
-					if ((Extents[0].ex_length ==
-					     TMP_FILELEN)
-					    && (Extents[0].ex_offset == 0)
-					    && (Extents[0].ex_type ==
-						DM_EXTENT_RES)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s extent information correct\n",
-							    szFuncName);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s extent information NOT correct!\n",
-							    szFuncName);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - file all hole
-	 * EXPECTED: rc = 0, nelem = 1
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if (((off =
-			  lseek(fd, TMP_FILELEN - DUMMY_STRLEN,
-				SEEK_SET)) != TMP_FILELEN - DUMMY_STRLEN)
-			||
-			((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN) ? -1 : 0) == -1)
-			||
-			((rc =
-			  ftruncate(fd,
-				    ((TMP_FILELEN / 2) & (~(BLK_SIZE - 1))))) ==
-			 -1)
-			|| ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1)) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || off != (TMP_FILELEN - DUMMY_STRLEN) || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			off = 0;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file all hole)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "dm_get_allocinfo returned %d\n", rc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-				if (nelem == 1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					LogExtents(Extents, nelem);
-					if ((Extents[0].ex_length ==
-					     ((TMP_FILELEN /
-					       2) & (~(BLK_SIZE - 1))))
-					    && (Extents[0].ex_offset == 0)
-					    && (Extents[0].ex_type ==
-						DM_EXTENT_HOLE)) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s extent information correct\n",
-							    szFuncName);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s extent information NOT correct!\n",
-							    szFuncName);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - hole, then resident
-	 * EXPECTED: rc = 0, nelem = 2
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 15)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if (((off =
-			  lseek(fd, TMP_FILELEN - DUMMY_STRLEN,
-				SEEK_SET)) != TMP_FILELEN - DUMMY_STRLEN)
-			||
-			((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN) ? -1 : 0) == -1)
-			|| ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1)) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || off != (TMP_FILELEN - DUMMY_STRLEN) || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			off = 0;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(hole, resident)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-				if (nelem == 2) {
-					int i;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					LogExtents(Extents, nelem);
-					if ((i = 1)
-					    && (Extents[0].ex_length +
-						Extents[1].ex_length ==
-						TMP_FILELEN) && (i = 2)
-					    && (Extents[0].ex_offset == 0)
-					    && (i = 3)
-					    && (Extents[0].ex_length ==
-						Extents[1].ex_offset) && (i = 4)
-					    && (Extents[0].ex_type ==
-						DM_EXTENT_HOLE) && (i = 5)
-					    && (Extents[1].ex_type ==
-						DM_EXTENT_RES)
-					    ) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s extent information correct\n",
-							    szFuncName);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s extent information NOT correct! (test %d failed)\n",
-							    szFuncName, i);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 2);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - resident, then hole
-	 * EXPECTED: rc = 0, nelem = 2
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 16)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if (((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN) ? -1 : 0) == -1)
-			||
-			((off =
-			  lseek(fd, TMP_FILELEN - DUMMY_STRLEN,
-				SEEK_SET)) != TMP_FILELEN - DUMMY_STRLEN)
-			||
-			((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN) ? -1 : 0) == -1)
-			||
-			((rc =
-			  ftruncate(fd,
-				    ((TMP_FILELEN / 2) & (~(BLK_SIZE - 1))))) ==
-			 -1)
-			|| ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1)) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || off != (TMP_FILELEN - DUMMY_STRLEN) || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			off = 0;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(resident, hole)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-				if (nelem == 2) {
-					int i;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					LogExtents(Extents, nelem);
-					if ((i = 1)
-					    && (Extents[0].ex_length +
-						Extents[1].ex_length ==
-						((TMP_FILELEN /
-						  2) & (~(BLK_SIZE - 1))))
-					    && (i = 2)
-					    && (Extents[0].ex_offset == 0)
-					    && (i = 3)
-					    && (Extents[0].ex_length ==
-						Extents[1].ex_offset) && (i = 4)
-					    && (Extents[0].ex_type ==
-						DM_EXTENT_RES) && (i = 5)
-					    && (Extents[1].ex_type ==
-						DM_EXTENT_HOLE)
-					    ) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s extent information correct\n",
-							    szFuncName);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s extent information NOT correct! (test %d failed)\n",
-							    szFuncName, i);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 2);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - resident, then hole, then resident
-	 * EXPECTED: rc = 0, nelem = 3
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 17)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DUMMY_FILE, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if (((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN) ? -1 : 0) == -1)
-			||
-			((off =
-			  lseek(fd, TMP_FILELEN - DUMMY_STRLEN,
-				SEEK_SET)) != TMP_FILELEN - DUMMY_STRLEN)
-			||
-			((rc =
-			  (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			   DUMMY_STRLEN) ? -1 : 0) == -1)
-			|| ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1)) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || off != (TMP_FILELEN - DUMMY_STRLEN) || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			off = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(resident, hole, resident)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				int i;
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-
-				if (nelem == 3) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					LogExtents(Extents, nelem);
-					if ((i = 1)
-					    && (Extents[0].ex_length +
-						Extents[1].ex_length +
-						Extents[2].ex_length ==
-						TMP_FILELEN) && (i = 2)
-					    && (Extents[0].ex_offset == 0)
-					    && (i = 3)
-					    && (Extents[0].ex_length ==
-						Extents[1].ex_offset) && (i = 4)
-					    && (Extents[1].ex_length +
-						Extents[1].ex_offset ==
-						Extents[2].ex_offset) && (i = 5)
-					    && (Extents[0].ex_type ==
-						DM_EXTENT_RES) && (i = 6)
-					    && (Extents[1].ex_type ==
-						DM_EXTENT_HOLE) && (i = 7)
-					    && (Extents[2].ex_type ==
-						DM_EXTENT_RES)
-					    ) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s extent information correct\n",
-							    szFuncName);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s extent information NOT correct! (test %d failed)\n",
-							    szFuncName, i);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 3);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - resident, then hole, then resident, then hole, etc.
-	 * EXPECTED: rc = 1, nelem = 8
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 18)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-		int i;
-
-		/* Variation set up */
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		for (i = 0, rc = 0; rc == 0 && i < TMP_FILELEN;
-		     i += TMP_FILELEN / (NUM_EXTENTS + 2)) {
-			if ((rc =
-			     (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-			      DUMMY_STRLEN) ? -1 : 0) != -1) {
-				if ((off = lseek(fd, i, SEEK_SET)) != off) {
-					rc = -1;
-				}
-			}
-		}
-		if ((rc == -1) ||
-		    ((off =
-		      lseek(fd, TMP_FILELEN - DUMMY_STRLEN, SEEK_SET)) != off)
-		    ||
-		    ((rc =
-		      (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-		       DUMMY_STRLEN) ? -1 : 0) == -1)
-		    || ((rc = dm_fd_to_handle(fd, &hanp, &hlen)))) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || off != TMP_FILELEN - DUMMY_STRLEN || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			off = 0;
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(resident, hole, resident, hole, etc.)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 1) {
-				int i;
-				DMLOG_PRINT(DMLVL_DEBUG, "  off = %lld\n", off);
-
-				if (nelem == NUM_EXTENTS) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  nelem = %d\n", nelem);
-					LogExtents(Extents, nelem);
-					if ((i = 1)
-					    && (Extents[0].ex_offset == 0)
-					    && (i = 2)
-					    && (Extents[0].ex_length ==
-						Extents[1].ex_offset) && (i = 3)
-					    && (Extents[1].ex_length +
-						Extents[1].ex_offset ==
-						Extents[2].ex_offset) && (i = 4)
-					    && (Extents[2].ex_length +
-						Extents[2].ex_offset ==
-						Extents[3].ex_offset) && (i = 5)
-					    && (Extents[3].ex_length +
-						Extents[3].ex_offset ==
-						Extents[4].ex_offset) && (i = 6)
-					    && (Extents[4].ex_length +
-						Extents[4].ex_offset ==
-						Extents[5].ex_offset) && (i = 7)
-					    && (Extents[5].ex_length +
-						Extents[5].ex_offset ==
-						Extents[6].ex_offset) && (i = 8)
-					    && (Extents[6].ex_length +
-						Extents[6].ex_offset ==
-						Extents[7].ex_offset) && (i = 9)
-					    && (Extents[7].ex_length +
-						Extents[7].ex_offset == off)
-					    && (i = 10)
-					    && (Extents[0].ex_type ==
-						DM_EXTENT_RES) && (i = 11)
-					    && (Extents[1].ex_type ==
-						DM_EXTENT_HOLE) && (i = 12)
-					    && (Extents[2].ex_type ==
-						DM_EXTENT_RES) && (i = 13)
-					    && (Extents[3].ex_type ==
-						DM_EXTENT_HOLE) && (i = 14)
-					    && (Extents[4].ex_type ==
-						DM_EXTENT_RES) && (i = 15)
-					    && (Extents[5].ex_type ==
-						DM_EXTENT_HOLE) && (i = 16)
-					    && (Extents[6].ex_type ==
-						DM_EXTENT_RES) && (i = 17)
-					    && (Extents[7].ex_type ==
-						DM_EXTENT_HOLE)
-					    ) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s extent information correct\n",
-							    szFuncName);
-
-						rc = dm_get_allocinfo(sid, hanp,
-								      hlen,
-								      DM_NO_TOKEN,
-								      &off,
-								      sizeof
-								      (bigExtents)
-								      /
-								      sizeof
-								      (dm_extent_t),
-								      bigExtents,
-								      &nelem);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "second %s returned %d\n",
-							    szFuncName, rc);
-						if (rc == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "  nelem = %d\n",
-								    nelem);
-							LogExtents(bigExtents,
-								   nelem);
-							if (bigExtents
-							    [nelem -
-							     1].ex_offset +
-							    bigExtents[nelem -
-								       1].
-							    ex_length ==
-							    TMP_FILELEN) {
-								DMLOG_PRINT
-								    (DMLVL_DEBUG,
-								     "second %s extent information correct\n",
-								     szFuncName);
-								DMVAR_PASS();
-							} else {
-								DMLOG_PRINT
-								    (DMLVL_ERR,
-								     "second %s extent information NOT correct!\n",
-								     szFuncName);
-								DMVAR_FAIL();
-							}
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "second %s failed with unexpected rc = %d (errno = %d)\n",
-								    szFuncName,
-								    rc, errno);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s extent information NOT correct! (test %d failed)\n",
-							    szFuncName, i);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s nelem NOT correct! (%d vs %d)\n",
-						    szFuncName, nelem, 3);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 19)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, &off, NUM_EXTENTS,
-					      Extents, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 20)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_SUBDIR, &hanp,
-					     &hlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 21)) {
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_get_allocinfo(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      DM_NO_TOKEN, &off, NUM_EXTENTS, Extents,
-				      &nelem);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_allocinfo - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_ALLOCINFO_BASE + 22)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_get_allocinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      &off, NUM_EXTENTS, Extents,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_probe_hole";
-
-	/*
-	 * TEST    : dm_probe_hole - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_probe_hole(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, inoff, inlen, &outoff,
-					   &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, inoff, inlen, &outoff,
-					   &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   inoff, inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, INVALID_ADDR, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid off
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = TMP_FILELEN + 1, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid off)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid len
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 *
-	 * This variation uncovered XFS BUG #8 (0 returned instead of -1 and
-	 * errno E2BIG)
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = TMP_FILELEN + 1, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid len)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid roffp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid roffp)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, (dm_off_t *) INVALID_ADDR,
-					   &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff,
-					   (dm_size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - entire file
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(entire file)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "In -> offset %lld, length %lld\n",
-					    inoff, inlen);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Out <- offset %lld, length %lld\n",
-					    outoff, outlen);
-				if (outoff == inoff) {
-					if (outlen == inlen) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc %d\n",
-							    szFuncName, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc %d but unexpected outlen (%d vs %d)\n",
-							    szFuncName, rc,
-							    outlen, inlen);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc %d but unexpected outoff (%d vs %d)\n",
-						    szFuncName, rc, outoff,
-						    inoff);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - end of file without rounding
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = BLKALIGN(UNALIGNED_BLK_OFF), outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(end of file without rounding)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "In -> offset %lld, length %lld\n",
-					    inoff, inlen);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Out <- offset %lld, length %lld\n",
-					    outoff, outlen);
-				if (outoff == inoff) {
-					if (outlen == inlen) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc %d\n",
-							    szFuncName, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc %d but unexpected outlen (%d vs %d)\n",
-							    szFuncName, rc,
-							    outlen, inlen);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc %d but unexpected outoff (%d vs %d)\n",
-						    szFuncName, rc, outoff,
-						    inoff);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - end of file with rounding
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = UNALIGNED_BLK_OFF, outoff;
-		dm_size_t inlen = TMP_FILELEN - UNALIGNED_BLK_OFF, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(end of file with rounding)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "In -> offset %lld, length %lld\n",
-					    inoff, inlen);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Out <- offset %lld, length %lld\n",
-					    outoff, outlen);
-				if ((outoff >= inoff)
-				    && (!(outoff & (BLK_SIZE - 1)))) {
-					if (outlen == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc %d\n",
-							    szFuncName, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc %d but unexpected outlen (%d vs %d)\n",
-							    szFuncName, rc,
-							    outlen, 0);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc %d but unexpected outoff %d\n",
-						    szFuncName, rc, outoff);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - middle of file without rounding
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 13)) {
-#ifdef INTERIOR_HOLES
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = BLKALIGN(UNALIGNED_BLK_OFF), outoff;
-		dm_size_t inlen =
-		    BLKALIGN(TMP_FILELEN - BLK_SIZE - UNALIGNED_BLK_OFF),
-		    outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(middle of file without rounding)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "In -> offset %lld, length %lld\n",
-					    inoff, inlen);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Out <- offset %lld, length %lld\n",
-					    outoff, outlen);
-				if (outoff == inoff) {
-					if (outlen == inlen) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc %d\n",
-							    szFuncName, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc %d but unexpected outlen (%d vs %d)\n",
-							    szFuncName, rc,
-							    outlen, inlen);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc %d but unexpected outoff (%d vs %d)\n",
-						    szFuncName, rc, outoff,
-						    inoff);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with INTERIOR_HOLES defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - middle of file with rounding, large
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 14)) {
-#ifdef INTERIOR_HOLES
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = UNALIGNED_BLK_OFF, outoff;
-		dm_size_t inlen =
-		    TMP_FILELEN - BLK_SIZE - UNALIGNED_BLK_OFF, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(middle of file with rounding, large)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "In -> offset %lld, length %lld\n",
-					    inoff, inlen);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Out <- offset %lld, length %lld\n",
-					    outoff, outlen);
-				if ((outoff >= inoff)
-				    && (!(outoff & (BLK_SIZE - 1)))) {
-					if ((outlen <= inlen)
-					    && (!(outlen & (BLK_SIZE - 1)))) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc %d\n",
-							    szFuncName, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc %d but unexpected outlen %d\n",
-							    szFuncName, rc,
-							    outlen);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc %d but unexpected outoff %d\n",
-						    szFuncName, rc, outoff);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with INTERIOR_HOLES defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - middle of file with rounding, small
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 15)) {
-#ifdef INTERIOR_HOLES
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = TMP_FILELEN / 2 - BLK_SIZE, outoff;
-		dm_size_t inlen = 5 * BLK_SIZE, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(middle of file with rounding, small)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "In -> offset %lld, length %lld\n",
-					    inoff, inlen);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Out <- offset %lld, length %lld\n",
-					    outoff, outlen);
-				if ((outoff >= inoff)
-				    && (!(outoff & (BLK_SIZE - 1)))) {
-					if ((outlen <= inlen)
-					    && (!(outlen & (BLK_SIZE - 1)))) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc %d\n",
-							    szFuncName, rc);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc %d but unexpected outlen %d\n",
-							    szFuncName, rc,
-							    outlen);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc %d but unexpected outoff %d\n",
-						    szFuncName, rc, outoff);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with INTERIOR_HOLES defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - middle of file with rounding, no hole
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 16)) {
-#ifdef INTERIOR_HOLES
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff =
-		    ((TMP_FILELEN / 2) & ~(BLK_SIZE - 1)) + 1, outoff;
-		dm_size_t inlen = BLK_SIZE, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(middle of file with rounding, no hole)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with INTERIOR_HOLES defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 17)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_probe_hole(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, inoff, inlen, &outoff,
-					   &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 18)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_SUBDIR, &hanp,
-					     &hlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 19)) {
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_probe_hole(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_NO_TOKEN, inoff, inlen, &outoff, &outlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_probe_hole - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(PROBE_HOLE_BASE + 20)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0, outoff;
-		dm_size_t inlen = 0, outlen;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_probe_hole(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, &outoff, &outlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_punch_hole";
-
-	/*
-	 * TEST    : dm_punch_hole - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_punch_hole(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, off, len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, off, len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DUMMY_SUBDIR, &hanp, &hlen))
-			   == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   off, len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, INVALID_ADDR, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - invalid off
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = TMP_FILELEN + 1;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid off)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - invalid len
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = TMP_FILELEN + 1;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid len)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - unaligned off
-	 * EXPECTED: rc = -1, errno = EAGAIN
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 1;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(unaligned off)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EAGAIN);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - unaligned len
-	 * EXPECTED: rc = -1, errno = EAGAIN
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 1;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(unaligned len)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EAGAIN);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - unaligned off and len
-	 * EXPECTED: rc = -1, errno = EAGAIN
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 10)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = UNALIGNED_BLK_OFF;
-		dm_size_t len = TMP_FILELEN - UNALIGNED_BLK_OFF;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(unaligned off and len)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EAGAIN);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - truncate entire file
-	 * EXPECTED: rc = 0, nelem = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(truncate entire file)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				off = 0;
-				rc = dm_get_allocinfo(sid, hanp, hlen,
-						      DM_NO_TOKEN, &off,
-						      NUM_EXTENTS, Extents,
-						      &nelem);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "dm_get_allocinfo returned %d\n",
-					    rc);
-				if (rc == 0) {
-					if (nelem == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  nelem = %d\n",
-							    nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s nelem NOT correct! (%d vs %d)\n",
-							    szFuncName, nelem,
-							    0);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_get_allocinfo failed with unexpected rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - truncate part of file, len 0
-	 * EXPECTED: rc = 0, nelem = 1
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLK_SIZE;
-		dm_size_t len = 0;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(truncate part of file, len 0)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				off = 0;
-				rc = dm_get_allocinfo(sid, hanp, hlen,
-						      DM_NO_TOKEN, &off,
-						      NUM_EXTENTS, Extents,
-						      &nelem);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "dm_get_allocinfo returned %d\n",
-					    rc);
-				if (rc == 0) {
-					if (nelem == 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  nelem = %d\n",
-							    nelem);
-						LogExtents(Extents, nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s nelem NOT correct! (%d vs %d)\n",
-							    szFuncName, nelem,
-							    1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_get_allocinfo failed with unexpected rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - truncate part of file, len non-zero
-	 * EXPECTED: rc = 0, nelem = 1
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 13)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLK_SIZE;
-		dm_size_t len = TMP_FILELEN - BLK_SIZE;
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(truncate part of file, len non-0)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				off = 0;
-				rc = dm_get_allocinfo(sid, hanp, hlen,
-						      DM_NO_TOKEN, &off,
-						      NUM_EXTENTS, Extents,
-						      &nelem);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "dm_get_allocinfo returned %d\n",
-					    rc);
-				if (rc == 0) {
-					if (nelem == 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  nelem = %d\n",
-							    nelem);
-						LogExtents(Extents, nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s nelem NOT correct! (%d vs %d)\n",
-							    szFuncName, nelem,
-							    1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_get_allocinfo failed with unexpected rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - small hole
-	 * EXPECTED: rc = 0, nelem = 3
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 14)) {
-#ifdef INTERIOR_HOLES
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = (TMP_FILELEN / 2) & (~(BLK_SIZE - 1));
-		dm_size_t len = 2 * BLK_SIZE;
-		u_int nelem;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(small hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				off = 0;
-				rc = dm_get_allocinfo(sid, hanp, hlen,
-						      DM_NO_TOKEN, &off,
-						      NUM_EXTENTS, Extents,
-						      &nelem);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "dm_get_allocinfo returned %d\n",
-					    rc);
-				if (rc == 0) {
-					if (nelem == 3) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  nelem = %d\n",
-							    nelem);
-						LogExtents(Extents, nelem);
-						if ((lseek
-						     (fd, TMP_FILELEN / 2,
-						      SEEK_SET) ==
-						     (TMP_FILELEN / 2))
-						    &&
-						    (read(fd, buf, DUMMY_STRLEN)
-						     == DUMMY_STRLEN)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "buffer from hole: [%s]\n",
-								    buf);
-						}
-						if ((lseek
-						     (fd, TMP_FILELEN - 10,
-						      SEEK_SET) ==
-						     (TMP_FILELEN - 10))
-						    &&
-						    (read(fd, buf, DUMMY_STRLEN)
-						     == DUMMY_STRLEN)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "buffer from resident extent: [%s]\n",
-								    buf);
-						}
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s nelem NOT correct! (%d vs %d)\n",
-							    szFuncName, nelem,
-							    3);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_get_allocinfo failed with unexpected rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with INTERIOR_HOLES defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - large hole
-	 * EXPECTED: rc = 0, nelem = 3
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 15)) {
-#ifdef INTERIOR_HOLES
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLK_SIZE;
-		dm_size_t len =
-		    (TMP_FILELEN - (2 * BLK_SIZE)) & (~(BLK_SIZE - 1));
-		u_int nelem;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(large hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMLOG_PRINT(DMLVL_DEBUG, "%s returned %d\n", szFuncName,
-				    rc);
-			if (rc == 0) {
-				off = 0;
-				rc = dm_get_allocinfo(sid, hanp, hlen,
-						      DM_NO_TOKEN, &off,
-						      NUM_EXTENTS, Extents,
-						      &nelem);
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "dm_get_allocinfo returned %d\n",
-					    rc);
-				if (rc == 0) {
-					if (nelem == 3) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "  nelem = %d\n",
-							    nelem);
-						LogExtents(Extents, nelem);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s nelem NOT correct! (%d vs %d)\n",
-							    szFuncName, nelem,
-							    3);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_get_allocinfo failed with unexpected rc = %d (errno = %d)\n",
-						    rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with INTERIOR_HOLES defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 16)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_punch_hole(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, off, len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 17)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		if ((rc = mkdir(DUMMY_SUBDIR, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_path_to_fshandle(DUMMY_SUBDIR, &hanp,
-					     &hlen)) == -1) {
-			rmdir(DUMMY_SUBDIR);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DUMMY_SUBDIR);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 18)) {
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_punch_hole(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_NO_TOKEN, off, len);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 19)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DUMMY_FILE);
-		} else if ((rc = remove(DUMMY_FILE)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private read mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 20)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private read mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private write mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 21)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private write mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private exec mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 22)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private exec mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private r/w mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 23)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_PRIVATE, fd, 0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private r/w mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared read mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 24)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared read mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared write mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 25)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared write mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared exec mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 26)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared exec mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared r/w mmap overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 27)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = 0;
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_SHARED, fd, 0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared r/w mmap overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private read mmap not overlapping hole
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 28)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private read mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private write mmap not overlapping hole
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 29)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private write mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private exec mmap not overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 30)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private exec mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - private r/w mmap not overlapping hole
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 31)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_PRIVATE, fd, 0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private r/w mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared read mmap not overlapping hole
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 32)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared read mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared write mmap not overlapping hole
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 33)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared write mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared exec mmap not overlapping hole
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 34)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared exec mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_punch_hole - shared r/w mmap not overlapping hole
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(PUNCH_HOLE_BASE + 35)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_off_t off = BLKALIGN(TMP_FILELEN / 2);
-		dm_size_t len = 0;
-		void *memmap;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_TMP, DUMMY_FILE);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DUMMY_FILE, O_RDWR)) == -1) {
-			remove(DUMMY_FILE);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DUMMY_FILE);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_SHARED, fd, 0)) == MAP_FAILED) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DUMMY_FILE);
-		}
-		if (fd == -1 || rc == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared r/w mmap not overlap hole)\n",
-				    szFuncName);
-			rc = dm_punch_hole(sid, hanp, hlen, DM_NO_TOKEN, off,
-					   len);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DUMMY_FILE);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	remove(DUMMY_TMP);
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
diff --git a/testcases/kernel/fs/dmapi/invis.c b/testcases/kernel/fs/dmapi/invis.c
deleted file mode 100644
index 75be0f4f5..000000000
--- a/testcases/kernel/fs/dmapi/invis.c
+++ /dev/null
@@ -1,2707 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: invis.c
- *
- * VARIATIONS	: 32
- *
- * API'S TESTED	: dm_read_invis
- * 		  dm_write_invis
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define TMP_FILELEN 1000
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-char DummyTmp[FILENAME_MAX];
-char DummyString[DUMMY_STRLEN];
-
-/* Variables for thread communications */
-dm_eventtype_t eventReceived;
-void *hanp1;
-size_t hlen1;
-dm_off_t offset;
-dm_size_t length;
-int numRegions;
-dm_region_t maxRegions[1], minRegions[1];
-
-void *Thread(void *);
-
-void LogStat(struct stat *statfs)
-{
-
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_dev %d\n", statfs->st_dev);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_ino %d\n", statfs->st_ino);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_mode 0x%x\n", statfs->st_mode);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_nlink %d\n", statfs->st_nlink);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_uid %d\n", statfs->st_uid);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_gid %d\n", statfs->st_gid);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_rdev %d\n", statfs->st_rdev);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_size %lld\n", statfs->st_size);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_blksize %d\n", statfs->st_blksize);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_blocks %d\n", statfs->st_blocks);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_atime %d\n", statfs->st_atime);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_mtime %d\n", statfs->st_mtime);
-	DMLOG_PRINT(DMLVL_DEBUG, "  st_ctime %d\n", statfs->st_ctime);
-
-}
-
-/*
- * StatCmp is used instead of memcmp because some of the pad fields or unused
- * fields may not be the same even though the pertinent info may be the same
- */
-int StatCmp(struct stat *stat1, struct stat *stat2)
-{
-
-	if ((stat1->st_dev != stat2->st_dev) ||
-	    (stat1->st_ino != stat2->st_ino) ||
-	    (stat1->st_mode != stat2->st_mode) ||
-	    (stat1->st_nlink != stat2->st_nlink) ||
-	    (stat1->st_uid != stat2->st_uid) ||
-	    (stat1->st_gid != stat2->st_gid) ||
-	    (stat1->st_rdev != stat2->st_rdev) ||
-	    (stat1->st_size != stat2->st_size) ||
-	    (stat1->st_blksize != stat2->st_blksize) ||
-	    (stat1->st_blocks != stat2->st_blocks) ||
-	    (stat1->st_atime != stat2->st_atime) ||
-	    (stat1->st_mtime != stat2->st_mtime) ||
-	    (stat1->st_ctime != stat2->st_ctime)) {
-		return -1;
-	} else {
-		return 0;
-	}
-
-}
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int i;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events, maxFileEvents, minFileEvents;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-		sprintf(DummyTmp, "%s/%s", mountPt, DUMMY_TMP);
-
-		remove(DummyFile);
-		rmdir(DummySubdir);
-
-		memcpy(DummyString, DUMMY_STRING, DUMMY_STRLEN);
-
-		EVENT_DELIVERY_DELAY;
-		fd = open(DummyTmp, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < TMP_FILELEN / DUMMY_STRLEN; i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc != -1) {
-			rc = fsync(fd);
-		}
-		if (rc != -1) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	numRegions = 1;
-	maxRegions[0].rg_offset = 0;
-	maxRegions[0].rg_size = 0;
-	maxRegions[0].rg_flags =
-	    DM_REGION_READ | DM_REGION_WRITE | DM_REGION_TRUNCATE;
-	minRegions[0].rg_offset = 0;
-	minRegions[0].rg_size = 0;
-	minRegions[0].rg_flags = DM_REGION_NOEVENT;
-
-	DMEV_ZERO(maxFileEvents);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, maxFileEvents);
-	DMEV_SET(DM_EVENT_UNMOUNT, maxFileEvents);
-	DMEV_SET(DM_EVENT_CREATE, maxFileEvents);
-	DMEV_SET(DM_EVENT_CLOSE, maxFileEvents);
-	DMEV_SET(DM_EVENT_POSTCREATE, maxFileEvents);
-	DMEV_SET(DM_EVENT_REMOVE, maxFileEvents);
-	DMEV_SET(DM_EVENT_POSTREMOVE, maxFileEvents);
-	DMEV_SET(DM_EVENT_RENAME, maxFileEvents);
-	DMEV_SET(DM_EVENT_POSTRENAME, maxFileEvents);
-	DMEV_SET(DM_EVENT_LINK, maxFileEvents);
-	DMEV_SET(DM_EVENT_POSTLINK, maxFileEvents);
-	DMEV_SET(DM_EVENT_SYMLINK, maxFileEvents);
-	DMEV_SET(DM_EVENT_POSTSYMLINK, maxFileEvents);
-	DMEV_SET(DM_EVENT_ATTRIBUTE, maxFileEvents);
-
-	DMEV_ZERO(minFileEvents);
-	DMEV_SET(DM_EVENT_PREUNMOUNT, minFileEvents);
-	DMEV_SET(DM_EVENT_UNMOUNT, minFileEvents);
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI invisible read/write tests\n");
-
-	szFuncName = "dm_read_invis";
-
-	/*
-	 * TEST    : dm_read_invis - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_read_invis(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, inoff, inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, inoff, inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   inoff, inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, INVALID_ADDR, inoff,
-					   inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - invalid off
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #9 (0 returned instead of -1 and
-	 * errno EINVAL)
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = TMP_FILELEN + 1;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid off)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, (void *)INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - file start
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 7)) {
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file start)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == inlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "read %d bytes\n", rc);
-				if (memcmp(buf, DUMMY_STRING, DUMMY_STRLEN) ==
-				    0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if ((rc2 == 0)
-						    &&
-						    (StatCmp(&statfs1, &statfs2)
-						     == 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - file middle
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 8)) {
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t inoff = (TMP_FILELEN / 2) - ((TMP_FILELEN / 2) % 10);
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file middle)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == inlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "read %d bytes\n", rc);
-				if (memcmp(buf, DUMMY_STRING, DUMMY_STRLEN) ==
-				    0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if ((rc2 == 0)
-						    &&
-						    (StatCmp(&statfs1, &statfs2)
-						     == 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - file end
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 9)) {
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t inoff = TMP_FILELEN - DUMMY_STRLEN;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file end)\n", szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == inlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "read %d bytes\n", rc);
-				if (memcmp(buf, DUMMY_STRING, DUMMY_STRLEN) ==
-				    0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if ((rc2 == 0)
-						    &&
-						    (StatCmp(&statfs1, &statfs2)
-						     == 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - overlaps file end
-	 * EXPECTED: rc = DUMMY_STRLEN/2
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 10)) {
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t inoff = TMP_FILELEN - (DUMMY_STRLEN / 2);
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(overlaps file end)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == DUMMY_STRLEN / 2) {
-				DMLOG_PRINT(DMLVL_DEBUG, "read %d bytes\n", rc);
-				if (memcmp
-				    (buf, DummyString + (DUMMY_STRLEN / 2),
-				     DUMMY_STRLEN / 2) == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if ((rc2 == 0)
-						    &&
-						    (StatCmp(&statfs1, &statfs2)
-						     == 0)) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 11)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_read_invis(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, inoff, inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 12)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(directory handle)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 13)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_read_invis - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 14)) {
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_read_invis(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				   DM_NO_TOKEN, inoff, inlen, buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_read_invis - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(READ_INVIS_BASE + 15)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		} else if ((rc = remove(DummyFile)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_read_invis(sid, hanp, hlen, DM_NO_TOKEN, inoff,
-					   inlen, buf);
-			DMLOG_PRINT(DMLVL_DEBUG, "GOT %d, %s\n", rc, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	szFuncName = "dm_write_invis";
-
-	/*
-	 * TEST    : dm_write_invis - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 1)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_write_invis(INVALID_ADDR, hanp, hlen,
-					    DM_NO_TOKEN, 0, outoff, outlen,
-					    buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 2)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, (void *)INVALID_ADDR, hlen,
-					    DM_NO_TOKEN, 0, outoff, outlen,
-					    buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 3)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, INVALID_ADDR,
-					    DM_NO_TOKEN, 0, outoff, outlen,
-					    buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 4)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, INVALID_ADDR, 0,
-					    outoff, outlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - invalid off+len
-	 * EXPECTED: rc = -1, errno = EFBIG
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 5)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = MAXFILESIZE - 5;
-		dm_size_t outlen = TMP_FILELEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid off+len)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFBIG);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 6)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen,
-					    (void *)INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - file start, async
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 7)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file start, async)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen, DUMMY_STRING2);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == outlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "wrote %d bytes\n",
-					    rc);
-				if ((rc2 == 0)
-				    && (lseek(fd, outoff, SEEK_SET) == outoff)
-				    && (read(fd, buf, DUMMY_STRLEN) == outlen)
-				    && (memcmp(buf, DUMMY_STRING2, DUMMY_STRLEN)
-					== 0)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if (StatCmp(&statfs1, &statfs2)
-						    == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING2,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - file middle, async
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 8)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t outoff = (TMP_FILELEN / 2) - ((TMP_FILELEN / 2) % 10);
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file middle, async)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen, DUMMY_STRING2);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == outlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "wrote %d bytes\n",
-					    rc);
-				if ((rc2 == 0)
-				    && (lseek(fd, outoff, SEEK_SET) == outoff)
-				    && (read(fd, buf, DUMMY_STRLEN) == outlen)
-				    && (memcmp(buf, DUMMY_STRING2, DUMMY_STRLEN)
-					== 0)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if (StatCmp(&statfs1, &statfs2)
-						    == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING2,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - file end, async
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 9)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t outoff = TMP_FILELEN - DUMMY_STRLEN;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file end, async)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen, DUMMY_STRING2);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == outlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "wrote %d bytes\n",
-					    rc);
-				if ((rc2 == 0)
-				    && (lseek(fd, outoff, SEEK_SET) == outoff)
-				    && (read(fd, buf, DUMMY_STRLEN) == outlen)
-				    && (memcmp(buf, DUMMY_STRING2, DUMMY_STRLEN)
-					== 0)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if (StatCmp(&statfs1, &statfs2)
-						    == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING2,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - file start, sync
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 10)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file start, sync)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN,
-					    DM_WRITE_SYNC, outoff, outlen,
-					    DUMMY_STRING2);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == outlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "wrote %d bytes\n",
-					    rc);
-				if ((rc2 == 0)
-				    && (lseek(fd, outoff, SEEK_SET) == outoff)
-				    && (read(fd, buf, DUMMY_STRLEN) == outlen)
-				    && (memcmp(buf, DUMMY_STRING2, DUMMY_STRLEN)
-					== 0)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if (StatCmp(&statfs1, &statfs2)
-						    == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING2,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - file middle, sync
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 11)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t outoff = (TMP_FILELEN / 2) - ((TMP_FILELEN / 2) % 10);
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file middle, sync)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN,
-					    DM_WRITE_SYNC, outoff, outlen,
-					    DUMMY_STRING2);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == outlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "wrote %d bytes\n",
-					    rc);
-				if ((rc2 == 0)
-				    && (lseek(fd, outoff, SEEK_SET) == outoff)
-				    && (read(fd, buf, DUMMY_STRLEN) == outlen)
-				    && (memcmp(buf, DUMMY_STRING2, DUMMY_STRLEN)
-					== 0)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if (StatCmp(&statfs1, &statfs2)
-						    == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING2,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - file end, sync
-	 * EXPECTED: rc = DUMMY_STRLEN
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 12)) {
-		int fd;
-		void *hanp, *fshanp;
-		size_t hlen, fshlen;
-		dm_off_t outoff = TMP_FILELEN - DUMMY_STRLEN;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-		struct stat statfs1, statfs2;
-		int errnoSaved = 0;
-		dm_boolean_t exactflag;
-		int rc2;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_handle_to_fshandle(hanp, hlen, &fshanp,
-					       &fshlen)) == -1) {
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					   &maxFileEvents, DM_EVENT_MAX)) == -1)
-			||
-			((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, maxRegions,
-					&exactflag)) == -1)
-			|| ((rc = stat(DummyFile, &statfs1)) == -1)) {
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! %d\n", errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			TIMESTAMP_DELAY;
-			eventReceived = DM_EVENT_INVALID;
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file end, sync)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN,
-					    DM_WRITE_SYNC, outoff, outlen,
-					    DUMMY_STRING2);
-			errnoSaved = errno;
-			EVENT_DELIVERY_DELAY;
-			rc2 = stat(DummyFile, &statfs2);
-			dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, numRegions,
-				      minRegions, &exactflag);
-			dm_set_eventlist(sid, fshanp, fshlen, DM_NO_TOKEN,
-					 &minFileEvents, DM_EVENT_MAX);
-			if (rc == outlen) {
-				DMLOG_PRINT(DMLVL_DEBUG, "wrote %d bytes\n",
-					    rc);
-				if ((rc2 == 0)
-				    && (lseek(fd, outoff, SEEK_SET) == outoff)
-				    && (read(fd, buf, DUMMY_STRLEN) == outlen)
-				    && (memcmp(buf, DUMMY_STRING2, DUMMY_STRLEN)
-					== 0)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buffer contents [%.*s]\n",
-						    rc, buf);
-					if (eventReceived == DM_EVENT_INVALID) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "no event received\n");
-						if (StatCmp(&statfs1, &statfs2)
-						    == 0) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info same\n");
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "stat info NOT same!\n");
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info before:\n");
-							LogStat(&statfs1);
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "stat info after:\n");
-							LogStat(&statfs2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "event %d received!\n",
-							    eventReceived);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "buffer contents NOT correct! (%.*s vs %.*s)\n",
-						    DUMMY_STRLEN, DUMMY_STRING2,
-						    rc, buf);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errnoSaved);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 13)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_write_invis(DM_NO_SESSION, hanp, hlen,
-					    DM_NO_TOKEN, 0, outoff, outlen,
-					    buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 14)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(directory handle)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 15)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t outoff = 0;
-		dm_size_t outlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    outoff, outlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_write_invis - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 16)) {
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_write_invis(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				    DM_NO_TOKEN, 0, inoff, inlen, buf);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_write_invis - invalidated hanp
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(WRITE_INVIS_BASE + 17)) {
-		void *hanp;
-		size_t hlen;
-		dm_off_t inoff = 0;
-		dm_size_t inlen = DUMMY_STRLEN;
-		char buf[DUMMY_STRLEN];
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			remove(DummyFile);
-		} else if ((rc = remove(DummyFile)) == -1) {
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated hanp)\n",
-				    szFuncName);
-			rc = dm_write_invis(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					    inoff, inlen, buf);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	remove(DummyTmp);
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_CREATE, events);
-			DMEV_SET(DM_EVENT_CLOSE, events);
-			DMEV_SET(DM_EVENT_POSTCREATE, events);
-			DMEV_SET(DM_EVENT_REMOVE, events);
-			DMEV_SET(DM_EVENT_POSTREMOVE, events);
-			DMEV_SET(DM_EVENT_RENAME, events);
-			DMEV_SET(DM_EVENT_POSTRENAME, events);
-			DMEV_SET(DM_EVENT_LINK, events);
-			DMEV_SET(DM_EVENT_POSTLINK, events);
-			DMEV_SET(DM_EVENT_SYMLINK, events);
-			DMEV_SET(DM_EVENT_POSTSYMLINK, events);
-			DMEV_SET(DM_EVENT_READ, events);
-			DMEV_SET(DM_EVENT_WRITE, events);
-			DMEV_SET(DM_EVENT_TRUNCATE, events);
-			DMEV_SET(DM_EVENT_ATTRIBUTE, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_PREUNMOUNT) {
-			/* SPECIAL CASE: need to set response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_PREUNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Root directory handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle2));
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Message is DM_EVENT_UNMOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Unmount mode: %x\n",
-				    nse->ne_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    DM_GET_VALUE(nse, ne_handle1, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n",
-				    DM_GET_LEN(nse, ne_handle1));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Return code: %x\n",
-				    nse->ne_retcode);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			eventReceived = type;
-
-			switch (type) {
-			case DM_EVENT_READ:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-					length = de->de_length;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_READ\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Length: %d\n", length);
-
-					response = DM_RESP_CONTINUE;
-					break;
-				}
-
-			case DM_EVENT_WRITE:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-					length = de->de_length;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_WRITE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Length: %d\n", length);
-
-					response = DM_RESP_CONTINUE;
-					break;
-				}
-
-			case DM_EVENT_TRUNCATE:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_TRUNCATE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-
-					response = DM_RESP_CONTINUE;
-					break;
-				}
-
-			case DM_EVENT_CREATE:
-			case DM_EVENT_REMOVE:
-			case DM_EVENT_RENAME:
-			case DM_EVENT_LINK:
-			case DM_EVENT_SYMLINK:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			case DM_EVENT_POSTCREATE:
-			case DM_EVENT_POSTREMOVE:
-			case DM_EVENT_POSTRENAME:
-			case DM_EVENT_POSTLINK:
-			case DM_EVENT_POSTSYMLINK:
-			case DM_EVENT_ATTRIBUTE:
-			case DM_EVENT_CLOSE:
-				response = DM_RESP_INVALID;
-				break;
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/mmap.c b/testcases/kernel/fs/dmapi/mmap.c
deleted file mode 100644
index 639cf5616..000000000
--- a/testcases/kernel/fs/dmapi/mmap.c
+++ /dev/null
@@ -1,1619 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: mmap.c
- *
- * VARIATIONS	: 18
- *
- * EVENTS TESTED: DM_EVENT_READ
- * 		  DM_EVENT_WRITE
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/mount.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define TMP_FILELEN 50000
-#define MMAPFILE_EXE "mmapfile"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummyTmp[FILENAME_MAX];
-
-/* Variables for thread communications */
-dm_eventtype_t eventExpected;
-dm_eventtype_t eventReceived;
-dm_response_t eventResponse;
-void *hanp1;
-size_t hlen1;
-dm_off_t offset;
-dm_size_t length;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	int i;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummyTmp, "%s/%s", mountPt, DUMMY_TMP);
-
-		remove(DummyFile);
-
-		EVENT_DELIVERY_DELAY;
-		fd = open(DummyTmp, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < TMP_FILELEN / DUMMY_STRLEN; i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc != -1) {
-			rc = fsync(fd);
-		}
-		if (rc != -1) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI memory mapped file synchronous event data tests\n");
-
-	/*
-	 * TEST    : mmap - no regions
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = 0;
-		size_t inlen = DUMMY_STRLEN;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_INVALID;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_REGION_WRITE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = 0;
-		size_t inlen = DUMMY_STRLEN;
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_INVALID;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_REGION_TRUNCATE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = 0;
-		size_t inlen = DUMMY_STRLEN;
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_INVALID;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_READ, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_READ
-	 *
-	 * This variation uncovered XFS BUG #33 (entire file returned instead
-	 * of mapped region only)
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(0);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int varStatus;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_READ;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (inoff != offset) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    inoff, offset);
-					varStatus = DMSTAT_FAIL;
-				} else if (inlen != length) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    inlen, length);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_READ, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(0);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int varStatus;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_READ;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_ABORT;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 0);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (inoff != offset) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    inoff, offset);
-					varStatus = DMSTAT_FAIL;
-				} else if (inlen != length) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    inlen, length);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_READ
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(0);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN / 2;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_READ
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(TMP_FILELEN / 4);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN / 2;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_READ
-	 * EXPECTED: DM_EVENT_READ
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(TMP_FILELEN / 4);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int varStatus;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_READ;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN / 4;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (inoff != offset) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    inoff, offset);
-					varStatus = DMSTAT_FAIL;
-				} else if (inlen != length) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    inlen, length);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_READ
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_READ_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(TMP_FILELEN / 4);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDONLY, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - no regions
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = 0;
-		size_t inlen = DUMMY_STRLEN;
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_INVALID;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else if ((rc = close(fd)) == -1) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_REGION_READ
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = 0;
-		size_t inlen = DUMMY_STRLEN;
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_INVALID;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_READ;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_REGION_TRUNCATE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = 0;
-		size_t inlen = DUMMY_STRLEN;
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_INVALID;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_TRUNCATE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_WRITE, DM_RESP_CONTINUE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(0);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int varStatus;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_WRITE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (inoff != offset) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    inoff, offset);
-					varStatus = DMSTAT_FAIL;
-				} else if (inlen != length) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    inlen, length);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_WRITE, DM_RESP_ABORT
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(0);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int varStatus;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_WRITE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_ABORT;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 0);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (inoff != offset) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    inoff, offset);
-					varStatus = DMSTAT_FAIL;
-				} else if (inlen != length) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    inlen, length);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_WRITE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(0);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN / 2;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_WRITE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(TMP_FILELEN / 4);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN / 2;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_WRITE
-	 * EXPECTED: DM_EVENT_WRITE
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(TMP_FILELEN / 4);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int varStatus;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_WRITE;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = TMP_FILELEN / 4;
-		Regions[0].rg_size = 0;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			if ((varStatus =
-			     DMVAR_CHKPASSEXP(0, rc, eventExpected,
-					      eventReceived)) == DMSTAT_PASS) {
-				if (inoff != offset) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Offset NOT correct! (%d vs %d)\n",
-						    inoff, offset);
-					varStatus = DMSTAT_FAIL;
-				} else if (inlen != length) {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Length NOT correct! (%d vs %d)\n",
-						    inlen, length);
-					varStatus = DMSTAT_FAIL;
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : mmap - one region, DM_EVENT_WRITE
-	 * EXPECTED: no event
-	 */
-	if (DMVAR_EXEC(MMAP_WRITE_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		off_t inoff = PAGEALIGN(TMP_FILELEN / 4);
-		size_t inlen = PAGEALIGN(DUMMY_STRLEN);
-		dm_boolean_t exactflag;
-		int numRegions;
-		dm_region_t Regions[1];
-
-		/* Variation set up */
-		eventExpected = DM_EVENT_INVALID;
-		eventReceived = DM_EVENT_INVALID;
-		eventResponse = DM_RESP_CONTINUE;
-		numRegions = 1;
-		Regions[0].rg_offset = 0;
-		Regions[0].rg_size = DUMMY_STRLEN;
-		Regions[0].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DummyTmp, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else if ((fd = open(DummyFile, O_RDONLY)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					numRegions, Regions, &exactflag)) == -1)
-			|| ((rc = close(fd)) == -1)) {
-			dm_handle_free(hanp, hlen);
-			remove(DummyFile);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			sprintf(command, "./%s %s %d %ld %ld %d", MMAPFILE_EXE,
-				DummyFile, O_RDWR, inoff, (long)inlen, 1);
-			DMLOG_PRINT(DMLVL_DEBUG, "invoking %s\n", command);
-			rc = system(command);
-			EVENT_DELIVERY_DELAY;
-			DMVAR_END(DMVAR_CHKPASSEXP
-				  (0, rc, eventExpected, eventReceived));
-
-			/* Variation clean up */
-			rc = remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	remove(DummyFile);
-	remove(DummyTmp);
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_READ, events);
-			DMEV_SET(DM_EVENT_WRITE, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			eventReceived = type;
-
-			switch (type) {
-			case DM_EVENT_PREUNMOUNT:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			case DM_EVENT_READ:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-					length = de->de_length;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_READ\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Length: %d\n", length);
-
-					response = eventResponse;
-					break;
-				}
-
-			case DM_EVENT_WRITE:
-				{
-					dm_data_event_t *de =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_data_event_t *);
-					hanp1 =
-					    DM_GET_VALUE(de, de_handle, void *);
-					hlen1 = DM_GET_LEN(de, de_handle);
-					offset = de->de_offset;
-					length = de->de_length;
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_WRITE\n");
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle: %p\n", hanp1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Handle length: %d\n",
-						    hlen1);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Offset: %d\n", offset);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Length: %d\n", length);
-
-					response = eventResponse;
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/mmapfile.c b/testcases/kernel/fs/dmapi/mmapfile.c
deleted file mode 100644
index 9f10376d0..000000000
--- a/testcases/kernel/fs/dmapi/mmapfile.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * FILE NAME	: mmapfile.c
- *
- * PURPOSE	: This executable is invoked by the mmap test case to invoke
- * 		  mmap() from a process different than mmap.  If mmap() is
- * 		  invoked by the mmap process, a hang will generally occur
- * 		  because sys_mmap obtains write access to mmap_sem, and any
- * 		  page fault within the same process (while process is
- * 		  responding to read/write event generated by mmap() call)
- * 		  requires read access to the same mmap_sem.
- *
- * PARAMETERS	: argv[1] - name of file being memory mapped
- * 		  argv[2] - open flags:
- * 		  	0 - read-only
- * 		  	1 - write-only
- * 		  	2 - read-write
- * 		  argv[3] - offset within file of memory mapped region
- * 		  argv[4] - length of memory mapped region
- * 		  argv[5] - mmap() expected pass/fail status
- * 		  	0 - fail
- * 		  	1 - pass
- *
- */
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-char DummyFile[FILENAME_MAX];
-
-int main(int argc, char **argv)
-{
-	int rc;
-	int fd;
-	int openflags;
-	int offset;
-	int length;
-	int passflag;
-	int flags;
-	void *memmap;
-
-	if (--argc != 5) {
-		printf("usage: %s filename openflags offset length passflag\n",
-		       argv[0]);
-		exit(-1);
-	}
-
-	passflag = atoi(argv[5]);
-	if ((passflag != 0) && (passflag != 1)) {
-		printf("%s error: invalid passflag %s\n", argv[0], argv[5]);
-		exit(-1);
-	}
-
-	length = atoi(argv[4]);
-	if (length < 0) {
-		printf("%s error: invalid length %s\n", argv[0], argv[4]);
-		exit(-1);
-	}
-
-	offset = atoi(argv[3]);
-	if (offset < 0) {
-		printf("%s error: invalid offset %s\n", argv[0], argv[3]);
-		exit(-1);
-	}
-	if (offset & (PAGE_SIZE - 1)) {
-		printf("%s error: unaligned offset %d\n", argv[0], offset);
-		exit(-1);
-	}
-
-	openflags = atoi(argv[2]);
-	if (openflags == O_RDONLY) {
-		flags = PROT_READ;
-	} else if (openflags == O_WRONLY) {
-		flags = PROT_WRITE;
-	} else if (openflags == O_RDWR) {
-		flags = PROT_READ | PROT_WRITE;
-	} else {
-		printf("%s error: invalid openflags %s\n", argv[0], argv[2]);
-		exit(-1);
-	}
-
-	printf("invoking open(%s, %d)\n", argv[1], openflags);
-	fd = open(argv[1], openflags);
-	if (fd == -1) {
-		printf("%s error: open failed with rc = %d (errno = %d)\n",
-		       argv[0], rc, errno);
-		exit(-1);
-	}
-
-	printf("invoking memmap(%d, %d, %s, %d)\n", length, flags, argv[1],
-	       offset);
-	memmap = mmap(NULL, length, flags, MAP_SHARED, fd, offset);
-	if (memmap == MAP_FAILED) {
-		printf("%s error: mmap failed with errno = %d\n", argv[0],
-		       errno);
-		if (passflag) {
-			close(fd);
-			exit(-1);
-		}
-	}
-
-	EVENT_DELIVERY_DELAY;
-
-	if (memmap != MAP_FAILED) {
-		printf("invoking munmap(%p, %d)\n", memmap, length);
-		munmap(memmap, length);
-	}
-
-	close(fd);
-
-	_exit(0);
-	tst_exit();
-}
diff --git a/testcases/kernel/fs/dmapi/mount.c b/testcases/kernel/fs/dmapi/mount.c
deleted file mode 100644
index 8bfd42915..000000000
--- a/testcases/kernel/fs/dmapi/mount.c
+++ /dev/null
@@ -1,871 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: mount.c
- *
- * VARIATIONS	: 12
- *
- * API'S TESTED	: dm_get_mountinfo
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define MOUNTEVENT_LEN 100
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-dm_mount_event_t *me_ptr;
-dm_size_t me_len;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		remove(DummyFile);
-		rmdir(DummySubdir);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI mount tests\n");
-
-	szFuncName = "dm_set_dmattr";
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(INVALID_ADDR, hanp, hlen,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, (void *)INVALID_ADDR, hlen,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, INVALID_ADDR,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, INVALID_ADDR,
-					      sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid buflen)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					      buf, &rlen);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n",
-						    rlen);
-					if (rlen == me_len) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d\n",
-							    szFuncName, -1,
-							    E2BIG);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected rlen (%d vs %d)\n",
-							    szFuncName, -1,
-							    E2BIG, rlen,
-							    me_len);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, -1, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid bufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), (void *)INVALID_ADDR,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - invalid rlenp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf,
-					      (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-				if (rlen == me_len) {
-					if (memcmp(buf, me_ptr, rlen) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but mount info not same\n",
-							    szFuncName, 0);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but mount info len not same (%d vs %d)\n",
-						    szFuncName, 0, rlen,
-						    me_len);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(DM_NO_SESSION, hanp, hlen,
-					      DM_NO_TOKEN, sizeof(buf), buf,
-					      &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 10)) {
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_get_mountinfo(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      DM_NO_TOKEN, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - file handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((fd =
-		     open(DummyFile, O_RDWR | O_CREAT,
-			  DUMMY_FILE_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummyFile, &hanp, &hlen)) ==
-			   -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_mountinfo - dir handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_MOUNTINFO_BASE + 12)) {
-		void *hanp;
-		size_t hlen;
-		char buf[MOUNTEVENT_LEN];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_mountinfo(sid, hanp, hlen, DM_NO_TOKEN,
-					      sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	if (me_ptr != NULL) {
-		free(me_ptr);
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *hanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t hlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    hanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(hanp, hlen);
-
-			rc = dm_request_right(sid, hanp, hlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			rc = dm_set_disp(sid, hanp, hlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, hanp, hlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			me_len =
-			    me->me_roothandle.vd_offset +
-			    me->me_roothandle.vd_length;
-			if ((me_ptr = malloc(me_len)) == NULL) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "malloc failed! (errno = %d)\n",
-					    errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-			memcpy(me_ptr, me, me_len);
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			switch (type) {
-			case DM_EVENT_PREUNMOUNT:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/objref.c b/testcases/kernel/fs/dmapi/objref.c
deleted file mode 100644
index 889d62633..000000000
--- a/testcases/kernel/fs/dmapi/objref.c
+++ /dev/null
@@ -1,764 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: objref.c
- *
- * VARIATIONS	: 24
- *
- * API'S TESTED	: dm_obj_ref_hold
- * 		  dm_obj_ref_rele
- * 		  dm_obj_ref_query
- */
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummySubdir[FILENAME_MAX];
-int runTestOnCreate;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		rmdir(DummySubdir);
-	}
-
-	/* This is what kicks off the test case, variations done in thread */
-	runTestOnCreate = 1;
-	rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-	runTestOnCreate = 0;
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "mkdir failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	rc = rmdir(DummySubdir);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "rmdir failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void DoTest(dm_token_t token, void *hanp, size_t hlen)
-{
-
-	char *szFuncName;
-	int rc;
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI object reference tests\n");
-
-	szFuncName = "dm_obj_ref_hold";
-
-	/*
-	 * TEST    : dm_obj_ref_hold - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 1)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_obj_ref_hold(INVALID_ADDR, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 2)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_obj_ref_hold(sid, INVALID_ADDR, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 3)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_obj_ref_hold(sid, token, (void *)INVALID_ADDR, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 4)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n", szFuncName);
-		rc = dm_obj_ref_hold(sid, token, hanp, INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - multiple holds
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 5)) {
-
-		/* Variation set up */
-		rc = dm_obj_ref_hold(sid, token, hanp, hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(multiple holds)\n",
-				    szFuncName);
-			rc = dm_obj_ref_hold(sid, token, hanp, hlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			rc = dm_obj_ref_rele(sid, token, hanp, hlen);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 6)) {
-		int rc2;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-		rc = dm_obj_ref_hold(sid, token, hanp, hlen);
-		if (rc == 0) {
-			if ((rc2 =
-			     dm_obj_ref_query(sid, token, hanp, hlen)) == 1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, 0);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with expected rc = %d but unexpected dm_obj_ref_query rc = %d\n",
-					    szFuncName, 0, rc2);
-				DMVAR_FAIL();
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with unexpected rc = %d (errno = %d)\n",
-				    szFuncName, rc, errno);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-		rc = dm_obj_ref_rele(sid, token, hanp, hlen);
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 7)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_obj_ref_hold(DM_NO_SESSION, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_hold - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(OBJ_REF_HOLD_BASE + 8)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_obj_ref_hold(sid, token, DM_GLOBAL_HANP,
-				     DM_GLOBAL_HLEN);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_obj_ref_rele";
-
-	/*
-	 * TEST    : dm_obj_ref_rele - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 1)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_obj_ref_rele(INVALID_ADDR, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 2)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_obj_ref_rele(sid, INVALID_ADDR, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 3)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_obj_ref_rele(sid, token, (void *)INVALID_ADDR, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 4)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n", szFuncName);
-		rc = dm_obj_ref_rele(sid, token, hanp, INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - no hold
-	 * EXPECTED: rc = -1, errno = EACCES
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(no hold)\n", szFuncName);
-		rc = dm_obj_ref_rele(sid, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EACCES);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 6)) {
-		int rc2;
-
-		/* Variation set up */
-		rc = dm_obj_ref_hold(sid, token, hanp, hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName);
-			rc = dm_obj_ref_rele(sid, token, hanp, hlen);
-			if (rc == 0) {
-				if ((rc2 =
-				     dm_obj_ref_query(sid, token, hanp,
-						      hlen)) == 0) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected dm_obj_ref_query rc = %d\n",
-						    szFuncName, 0, rc2);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 7)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_obj_ref_rele(DM_NO_SESSION, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_rele - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(OBJ_REF_RELE_BASE + 8)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_obj_ref_rele(sid, token, DM_GLOBAL_HANP,
-				     DM_GLOBAL_HLEN);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	szFuncName = "dm_obj_ref_query";
-
-	/*
-	 * TEST    : dm_obj_ref_query - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 1)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_obj_ref_query(INVALID_ADDR, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 2)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_obj_ref_query(sid, INVALID_ADDR, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 3)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_obj_ref_query(sid, token, (void *)INVALID_ADDR, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 4)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n", szFuncName);
-		rc = dm_obj_ref_query(sid, token, hanp, INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - not held
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(not held)\n", szFuncName);
-		rc = dm_obj_ref_query(sid, token, hanp, hlen);
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - held
-	 * EXPECTED: rc = 1
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 6)) {
-
-		/* Variation set up */
-		rc = dm_obj_ref_hold(sid, token, hanp, hlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(held)\n", szFuncName);
-			rc = dm_obj_ref_query(sid, token, hanp, hlen);
-			DMVAR_ENDPASSEXP(szFuncName, 1, rc);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 7)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_obj_ref_query(DM_NO_SESSION, token, hanp, hlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_obj_ref_query - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(OBJ_REF_QUERY_BASE + 8)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_obj_ref_query(sid, token, DM_GLOBAL_HANP,
-				      DM_GLOBAL_HLEN);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_CREATE, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_CREATE) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			void *hanp = DM_GET_VALUE(nse, ne_handle1, void *);
-			size_t hlen = DM_GET_LEN(nse, ne_handle1);
-
-			if (runTestOnCreate) {
-				DoTest(token, hanp, hlen);
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			switch (type) {
-			case DM_EVENT_PREUNMOUNT:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/pmr_post.c b/testcases/kernel/fs/dmapi/pmr_post.c
deleted file mode 100644
index bfd89f535..000000000
--- a/testcases/kernel/fs/dmapi/pmr_post.c
+++ /dev/null
@@ -1,1366 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: pmr_post.c
- *
- * VARIATIONS	: 15
- *
- * API'S TESTED	: dm_get_region
- *
- * NOTES	: The first variation of this test case, when run after
- * 		  pmr_pre and rebooting, verifies that persistent managed
- * 		  regions work
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/mount.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-
-#define TMP_FILELEN 10000
-
-void *Thread(void *);
-
-void LogRegions(dm_region_t * rgns, u_int nelem)
-{
-	int i;
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Regions:\n");
-	for (i = 0; i < nelem; i++) {
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "  region %d: offset %lld, size %lld, flags %d\n",
-			    i, rgns[i].rg_offset, rgns[i].rg_size,
-			    rgns[i].rg_flags);
-	}
-}
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int i;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-	char buf[MSG_DATALEN];
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		/* DO NOT REMOVE DummyFile, IT HAS THE REGIONS FOR FIRST VAR */
-		remove(DummySubdir);
-
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < (TMP_FILELEN / DUMMY_STRLEN); i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc == 0) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	/* This is what kicks off the test case, variations done in thread */
-	memcpy(buf, MSG_DATA, MSG_DATALEN);
-	rc = dm_send_msg(sid, DM_MSGTYPE_SYNC, MSG_DATALEN, buf);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_send_msg failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	remove(DUMMY_FILE);
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void DoTest()
-{
-
-	int rc;
-	char *szFuncName;
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI persistent managed regions test\n");
-
-	szFuncName = "dm_get_region";
-
-	/*
-	 * TEST    : dm_get_region - persistent, Part II
-	 * EXPECTED: rc = 0, nelem = 5
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[PMR_NUM_REGIONS];
-		int varStatus;
-		int i;
-
-		/* Variation set up */
-		if ((fd = open(DummyFile, O_RDWR)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (fd == -1 || rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(persistent, Part II)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   sizeof(regbuf) / sizeof(dm_region_t),
-					   regbuf, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-			}
-			varStatus = DMSTAT_PASS;
-			if (rc != 0) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s returned unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				varStatus = DMSTAT_FAIL;
-			} else if (nelem != PMR_NUM_REGIONS) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "Number of regions NOT correct! (%d vs %d)\n",
-					    nelem, PMR_NUM_REGIONS);
-				varStatus = DMSTAT_FAIL;
-			} else {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s returned expected rc = %d\n",
-					    szFuncName, rc, errno);
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", rc,
-					    errno);
-				LogRegions(regbuf, nelem);
-
-				for (i = 0; i < PMR_NUM_REGIONS; i++) {
-					if (regbuf[i].rg_offset !=
-					    dm_PMR_regbuf[i].rg_offset) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "region %d offset NOT correct! (%lld vs %d)\n",
-							    i,
-							    regbuf[i].rg_offset,
-							    dm_PMR_regbuf[i].
-							    rg_offset);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (regbuf[i].rg_size !=
-					    dm_PMR_regbuf[i].rg_size) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "region %d size NOT correct! (%lld vs %d)\n",
-							    i,
-							    regbuf[i].rg_size,
-							    dm_PMR_regbuf[i].
-							    rg_size);
-						varStatus = DMSTAT_FAIL;
-					}
-					if (regbuf[i].rg_flags !=
-					    dm_PMR_regbuf[i].rg_flags) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "region %d flags NOT correct! (%lld vs %d)\n",
-							    i,
-							    regbuf[i].rg_flags,
-							    dm_PMR_regbuf[i].
-							    rg_flags);
-						varStatus = DMSTAT_FAIL;
-					}
-				}
-			}
-			DMVAR_END(varStatus);
-
-			/* Variation clean up */
-			EVENT_DELIVERY_DELAY;
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_get_region(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, nelemin, &regbuf,
-					   &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, nelemin, &regbuf,
-					   &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   nelemin, &regbuf, &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, INVALID_ADDR,
-					   nelemin, &regbuf, &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - invalid regbufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid regbufp)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin,
-					   (dm_region_t *) INVALID_ADDR,
-					   &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - invalid nelemp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelemp)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin, &regbuf,
-					   (u_int *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - DM_SO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 8)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_get_region(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, nelemin, &regbuf,
-					   &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 9)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbuf, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					   DM_NO_TOKEN, nelemin, &regbuf,
-					   &nelemout);
-			if (rc == -1 && errno == EBADF) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-					    nelemout);
-			}
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 10)) {
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin, &regbuf, &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 11)) {
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_fshandle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin, &regbuf, &nelemout);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - nelem 0
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbuf;
-
-		/* Variation set up */
-		nelemin = 0;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem 0)\n", szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin, &regbuf, &nelemout);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-					    nelemout);
-				if (nelemin == nelemout) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelemp (%d vs %d)\n",
-						    szFuncName, 0, nelemin,
-						    nelemout);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - nelem 1
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbufin, regbufout;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 1;
-		memset(&regbufin, 0, sizeof(regbufin));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       &regbufin, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem 1)\n", szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin, &regbufout, &nelemout);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-					    nelemout);
-				if (nelemin == nelemout) {
-					if (memcmp
-					    (&regbufin, &regbufout,
-					     sizeof(dm_region_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected regions\n",
-							    szFuncName, 0);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "Region in:\n");
-						LogRegions(&regbufin, nelemin);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "Region out:\n");
-						LogRegions(&regbufout,
-							   nelemout);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelemp (%d vs %d)\n",
-						    szFuncName, 0, nelemin,
-						    nelemout);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_get_region - nelem 2
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 13)) {
-#ifdef MULTIPLE_REGIONS
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbufin[2], regbufout[2];
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelemin = 2;
-		regbufin[0].rg_offset = 0;
-		regbufin[0].rg_size = 1000;
-		regbufin[0].rg_flags = DM_REGION_READ;
-		regbufin[1].rg_offset = 2000;
-		regbufin[1].rg_size = 1000;
-		regbufin[1].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       regbufin, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem 2)\n", szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin, regbufout, &nelemout);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-					    nelemout);
-				if (nelemin == nelemout) {
-					if (memcmp
-					    (&regbufin, &regbufout,
-					     sizeof(dm_region_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected regions\n",
-							    szFuncName, 0);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "Region in:\n");
-						LogRegions(regbufin, nelemin);
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "Region out:\n");
-						LogRegions(regbufout, nelemout);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelemp (%d vs %d)\n",
-						    szFuncName, 0, nelemin,
-						    nelemout);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with MULTIPLE_REGIONS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_get_region - regbuf too small
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GET_REGION_BASE + 14)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelemin, nelemout;
-		dm_region_t regbufin[2], regbufout[1];
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelemin = 2;
-		regbufin[0].rg_offset = 0;
-		regbufin[0].rg_size = 1000;
-		regbufin[0].rg_flags = DM_REGION_READ;
-		regbufin[1].rg_offset = 2000;
-		regbufin[1].rg_size = 1000;
-		regbufin[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelemin = 1;
-		regbufin[0].rg_offset = 0;
-		regbufin[0].rg_size = 1000;
-		regbufin[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelemin,
-				       regbufin, &exactflag)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(regbuf too small)\n",
-				    szFuncName);
-			rc = dm_get_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   nelemin - 1, regbufout, &nelemout);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-						    nelemout);
-					if (nelemout == nelemin) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d\n",
-							    szFuncName, rc,
-							    errno);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected nelemp (%d vs %d)\n",
-							    szFuncName, rc,
-							    errno, nelemout,
-							    nelemin);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, rc, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set bMounted and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set response and bMounted */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_USER) {
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_USER\n");
-
-			DoTest();
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			DMLOG_PRINT(DMLVL_ERR, "Message is unexpected!\n");
-			response = DM_RESP_ABORT;
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/pmr_pre.c b/testcases/kernel/fs/dmapi/pmr_pre.c
deleted file mode 100644
index 1b6ab4826..000000000
--- a/testcases/kernel/fs/dmapi/pmr_pre.c
+++ /dev/null
@@ -1,2579 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: pmr_pre.c
- *
- * VARIATIONS	: 33
- *
- * API'S TESTED	: dm_set_region
- *
- * NOTES	: The last variation of this test case, when run before
- * 		  rebooting and pmr_post, verifies that persistent managed
- * 		  regions work
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/mount.h>
-#include <sys/stat.h>
-#include <sys/xattr.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define ATTR_LISTLEN 1000
-#define TMP_FILELEN 10000	/* must be > 2*PAGE_SIZE */
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-char *PMR_AttrName = PMR_ATTRNAME;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int i;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	char *szFuncName;
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		int fd;
-
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		remove(DummyFile);
-		rmdir(DummySubdir);
-
-		EVENT_DELIVERY_DELAY;
-		fd = open(DUMMY_FILE, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-		if (fd != -1) {
-			for (i = 0; i < (TMP_FILELEN / DUMMY_STRLEN); i++) {
-				if (write(fd, DUMMY_STRING, DUMMY_STRLEN) !=
-				    DUMMY_STRLEN) {
-					rc = -1;
-					break;
-				}
-			}
-		} else {
-			rc = -1;
-		}
-		if (rc == 0) {
-			rc = close(fd);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "creating dummy file failed! (rc = %d, errno = %d)\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		}
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG,
-		    "Starting DMAPI persistent managed regions test initialization\n");
-
-	szFuncName = "dm_set_region";
-
-	/*
-	 * TEST    : dm_set_region - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 1)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_set_region(INVALID_ADDR, hanp, hlen,
-					   DM_NO_TOKEN, nelem, &regbuf,
-					   &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 2)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp\n",
-				    szFuncName);
-			rc = dm_set_region(sid, (void *)INVALID_ADDR, hlen,
-					   DM_NO_TOKEN, nelem, &regbuf,
-					   &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 3)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, INVALID_ADDR, DM_NO_TOKEN,
-					   nelem, &regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 4)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, INVALID_ADDR, nelem,
-					   &regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - invalid nelem
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 5)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-		dm_size_t retval;
-
-		/* Variation set up */
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((rc =
-			 dm_get_config(hanp, hlen,
-				       DM_CONFIG_MAX_MANAGED_REGIONS,
-				       &retval)) == -1) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelem)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN,
-					   retval + 1, &regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - invalid regbufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 6)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelem = 1;
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid regbufp)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   (dm_region_t *) INVALID_ADDR,
-					   &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - invalid exactflagp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 7)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-
-		/* Variation set up */
-		nelem = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid exactflagp)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   &regbuf,
-					   (dm_boolean_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 8)) {
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelem = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_set_region(DM_NO_SESSION, hanp, hlen,
-					   DM_NO_TOKEN, nelem, &regbuf,
-					   &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 9)) {
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelem = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-					   DM_NO_TOKEN, nelem, &regbuf,
-					   &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - directory handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 10)) {
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelem = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		if ((rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE)) == -1) {
-			/* No clean up */
-		} else if ((rc = dm_path_to_handle(DummySubdir, &hanp, &hlen))
-			   == -1) {
-			rmdir(DummySubdir);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(dir handle)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   &regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = rmdir(DummySubdir);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - fs handle
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 11)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-
-		/* Variation set up */
-		nelem = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_path_to_fshandle(DummyFile, &hanp, &hlen))
-			   == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   &regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - nelem 0
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 12)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_boolean_t exactflag;
-		char value[ATTR_LISTLEN];
-
-		/* Variation set up */
-		nelem = 0;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem 0)\n", szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   NULL, &exactflag);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "exactflag = %d\n",
-					    exactflag);
-				if (((rc =
-				      getxattr(DummyFile, PMR_AttrName, value,
-					       sizeof(value))) == -1)
-				    && (errno == ENODATA)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected getxattr(%s) rc (%d vs %d), errno %d\n",
-						    szFuncName, 0, PMR_AttrName,
-						    rc, -1, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - nelem 1
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 13)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf;
-		dm_boolean_t exactflag;
-		char value[ATTR_LISTLEN];
-
-		/* Variation set up */
-		nelem = 1;
-		memset(&regbuf, 0, sizeof(regbuf));
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem 1)\n", szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   &regbuf, &exactflag);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "exactflag = %d\n",
-					    exactflag);
-				if ((rc =
-				     getxattr(DummyFile, PMR_AttrName, value,
-					      sizeof(value))) >=
-				    sizeof(dm_region_t)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected getxattr(%s) rc (%d vs %d), errno %d\n",
-						    szFuncName, 0, PMR_AttrName,
-						    rc, sizeof(dm_region_t),
-						    errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - nelem 2
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 14)) {
-#ifdef MULTIPLE_REGIONS
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		char value[ATTR_LISTLEN];
-
-		/* Variation set up */
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = 1000;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = 2000;
-		regbuf[1].rg_size = 1000;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(nelem 2)\n", szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "exactflag = %d\n",
-					    exactflag);
-				if ((rc =
-				     getxattr(DummyFile, PMR_AttrName, value,
-					      sizeof(value))) >=
-				    (2 * sizeof(dm_region_t))) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected getxattr(%s) rc (%d vs %d), errno %d\n",
-						    szFuncName, 0, PMR_AttrName,
-						    rc, 2 * sizeof(dm_region_t),
-						    errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-#else
-		DMLOG_PRINT(DMLVL_WARN,
-			    "Test case not built with MULTIPLE_REGIONS defined\n");
-		DMVAR_SKIP();
-#endif
-	}
-
-	/*
-	 * TEST    : dm_set_region - clear
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 15)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		char value[ATTR_LISTLEN];
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = 1000;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = 2000;
-		regbuf[1].rg_size = 1000;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = 1000;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					regbuf, &exactflag)) == -1)
-			||
-			((rc =
-			  getxattr(DummyFile, PMR_AttrName, value,
-				   sizeof(value))) <
-			 (nelem * sizeof(dm_region_t)))) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-			rc = -1;	/* rc could be >= 0 from getxattr */
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(clear)\n", szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, 0,
-					   NULL, &exactflag);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "exactflag = %d\n",
-					    exactflag);
-				if (((rc =
-				      getxattr(DummyFile, PMR_AttrName, value,
-					       sizeof(value))) == -1)
-				    && (errno == ENODATA)) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected getxattr(%s) rc (%d vs %d), errno %d\n",
-						    szFuncName, 0, PMR_AttrName,
-						    rc, -1, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - replace
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 16)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		char value[ATTR_LISTLEN];
-		ssize_t xattrlen;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = 1000;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-		regbuf[1].rg_offset = 2000;
-		regbuf[1].rg_size = 1000;
-		regbuf[1].rg_flags = DM_REGION_READ;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = 1000;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if (((rc =
-			  dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					regbuf, &exactflag)) == -1)
-			||
-			((rc =
-			  getxattr(DummyFile, PMR_AttrName, value,
-				   sizeof(value))) <
-			 (nelem * sizeof(dm_region_t)))) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-			rc = -1;	/* rc could be >= 0 from getxattr */
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			xattrlen = rc;
-
-			nelem = 1;
-			regbuf[0].rg_offset = 0;
-			regbuf[0].rg_size = 1000;
-			regbuf[0].rg_flags = DM_REGION_READ;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(replace)\n", szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "exactflag = %d\n",
-					    exactflag);
-#ifdef MULTIPLE_REGIONS
-				if ((rc =
-				     getxattr(DummyFile, PMR_AttrName, value,
-					      sizeof(value))) < xattrlen) {
-#else
-				if ((rc =
-				     getxattr(DummyFile, PMR_AttrName, value,
-					      sizeof(value))) == xattrlen) {
-#endif
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected getxattr(%s) rc (%d vs %d), errno %d\n",
-						    szFuncName, 0, PMR_AttrName,
-						    rc, xattrlen, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private read mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 17)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private read mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private write mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 18)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = PAGE_SIZE;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_PRIVATE, fd,
-			      PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private write mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private exec mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 19)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = PAGE_SIZE;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_PRIVATE, fd,
-			      PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private exec mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private read/write mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 20)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_PRIVATE, fd, 0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private r/w mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared read mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 21)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared read mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared write mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 22)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = PAGE_SIZE;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED, fd,
-			      PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared write mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared exec mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 23)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = PAGE_SIZE;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_SHARED, fd,
-			      PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared exec mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared read/write mmap overlapping region
-	 * EXPECTED: rc = -1, errno = EBUSY
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 24)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_SHARED, fd, 0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared r/w mmap overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private read mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 25)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = PAGE_SIZE;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd,
-			      PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private read mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private write mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 26)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private write mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private exec mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 27)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_PRIVATE, fd,
-			      0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private exec mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - private r/w mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 28)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_PRIVATE, fd, 2 * PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(private r/w mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared read mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 29)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = PAGE_SIZE;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_WRITE;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd,
-			      PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared read mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared write mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 30)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared write mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared exec mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 31)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_SHARED, fd,
-			      0)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared exec mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - shared r/w mmap not overlapping region
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 32)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[2];
-		dm_boolean_t exactflag;
-		void *memmap;
-
-		/* Variation set up */
-#ifdef MULTIPLE_REGIONS
-		nelem = 2;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-		regbuf[1].rg_offset = PAGE_SIZE;
-		regbuf[1].rg_size = PAGE_SIZE / 2;
-		regbuf[1].rg_flags = DM_REGION_WRITE;
-#else
-		nelem = 1;
-		regbuf[0].rg_offset = 0;
-		regbuf[0].rg_size = PAGE_SIZE / 2;
-		regbuf[0].rg_flags = DM_REGION_READ;
-#endif
-
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		} else
-		    if ((memmap =
-			 mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
-			      MAP_SHARED, fd, 2 * PAGE_SIZE)) == MAP_FAILED) {
-			close(fd);
-			remove(DummyFile);
-			dm_handle_free(hanp, hlen);
-		}
-		if (rc == -1 || fd == -1 || memmap == MAP_FAILED) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(shared r/w mmap not overlap region)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			munmap(memmap, PAGE_SIZE);
-			rc = close(fd);
-			rc |= remove(DummyFile);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_set_region - persistent, Part I
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(SET_REGION_BASE + 33)) {
-		int fd;
-		void *hanp;
-		size_t hlen;
-		u_int nelem;
-		dm_region_t regbuf[PMR_NUM_REGIONS];
-		dm_boolean_t exactflag;
-		char value[ATTR_LISTLEN];
-
-		/* Variation set up */
-		nelem = PMR_NUM_REGIONS;
-		memcpy(regbuf, dm_PMR_regbuf, nelem * sizeof(dm_region_t));
-		sprintf(command, "cp %s %s", DUMMY_FILE, DummyFile);
-		if ((rc = system(command)) == -1) {
-			/* No clean up */
-		} else
-		    if ((fd =
-			 open(DummyFile, O_RDWR | O_CREAT,
-			      DUMMY_FILE_RW_MODE)) == -1) {
-			remove(DummyFile);
-		} else if ((rc = dm_fd_to_handle(fd, &hanp, &hlen)) == -1) {
-			close(fd);
-			remove(DummyFile);
-		}
-		if (rc == -1 || fd == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(persistent, Part I)\n",
-				    szFuncName);
-			rc = dm_set_region(sid, hanp, hlen, DM_NO_TOKEN, nelem,
-					   regbuf, &exactflag);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "exactflag = %d\n",
-					    exactflag);
-				if ((rc =
-				     getxattr(DummyFile, PMR_AttrName, value,
-					      sizeof(value))) >=
-				    (PMR_NUM_REGIONS * sizeof(dm_region_t))) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = 0\n",
-						    szFuncName);
-					DMVAR_PASS();
-
-					printf
-					    ("********************************************************\n");
-					printf
-					    ("* PLEASE REBOOT AND RUN pmr_post TO COMPLETE VARIATION *\n");
-					printf
-					    ("********************************************************\n");
-
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected getxattr(%s) rc (%d vs %d), errno %d\n",
-						    szFuncName, 0, PMR_AttrName,
-						    rc,
-						    PMR_NUM_REGIONS *
-						    sizeof(dm_region_t), errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = close(fd);
-			/* DO NOT REMOVE DummyFile, IT IS NEEDED BY pmr_post */
-			/*rc |= remove(DummyFile); */
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(hanp, hlen);
-		}
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	remove(DUMMY_FILE);
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set bMounted and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			/* SPECIAL CASE: need to set bMounted and response */
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			DMLOG_PRINT(DMLVL_ERR, "Message is unexpected!\n");
-			response = DM_RESP_ABORT;
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/right.c b/testcases/kernel/fs/dmapi/right.c
deleted file mode 100644
index 1604f015a..000000000
--- a/testcases/kernel/fs/dmapi/right.c
+++ /dev/null
@@ -1,2059 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: right.c
- *
- * VARIATIONS	: 63
- *
- * API'S TESTED	: dm_request_right
- * 		  dm_release_right
- * 		  dm_query_right
- * 		  dm_upgrade_right
- * 		  dm_downgrade_right
- */
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char command[4096];
-char *mountPt;
-char *deviceNm;
-char DummyFile[FILENAME_MAX];
-char DummySubdir[FILENAME_MAX];
-int fd_f;
-int runTestOnCreate;
-
-void *Thread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *varstr;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummyFile, "%s/%s", mountPt, DUMMY_FILE);
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		remove(DummyFile);
-		rmdir(DummySubdir);
-	}
-
-	fd_f = open(DummyFile, O_RDWR | O_CREAT, DUMMY_FILE_RW_MODE);
-	if (fd_f == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "open failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	/* This is what kicks off the test case, variations done in thread */
-	runTestOnCreate = 1;
-	rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-	runTestOnCreate = 0;
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "mkdir failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	rc = rmdir(DummySubdir);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "rmdir failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	rc = close(fd_f);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "close failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	rc = remove(DummyFile);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "remove failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void DoTest(dm_token_t token, void *hanp, size_t hlen)
-{
-
-	char *szFuncName;
-	int rc;
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI rights tests\n");
-
-	szFuncName = "dm_request_right";
-
-	/*
-	 * TEST    : dm_request_right - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 1)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_request_right(INVALID_ADDR, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 2)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_request_right(sid, (void *)INVALID_ADDR, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 3)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n", szFuncName);
-		rc = dm_request_right(sid, hanp, INVALID_ADDR, token, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 4)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_request_right(sid, hanp, hlen, INVALID_ADDR, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - invalid right
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 *
-	 * This variation uncovered XFS BUG #29 (0 returned instead of -1 and
-	 * errno EINVAL)
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid right)\n", szFuncName);
-		rc = dm_request_right(sid, hanp, hlen, token, 0, INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_NO_TOKEN
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 6)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_TOKEN)\n", szFuncName);
-		rc = dm_request_right(sid, hanp, hlen, DM_NO_TOKEN, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_SHARED from DM_RIGHT_NULL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 7)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG,
-			    "%s(DM_RIGHT_NULL -> DM_RIGHT_SHARED)\n",
-			    szFuncName);
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		rc = dm_release_right(sid, hanp, hlen, token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_EXCL from DM_RIGHT_NULL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 8)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_NULL -> DM_RIGHT_EXCL)\n",
-			    szFuncName);
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		rc = dm_release_right(sid, hanp, hlen, token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_SHARED from DM_RIGHT_SHARED
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 9)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_RIGHT_SHARED -> DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_request_right(sid, hanp, hlen, token, 0,
-					      DM_RIGHT_SHARED);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_EXCL from DM_RIGHT_SHARED,
-	 *              DM_RR_WAIT clear
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 10)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_RIGHT_SHARED -> DM_RIGHT_EXCL, DM_RR_WAIT clear)\n",
-				    szFuncName);
-			rc = dm_request_right(sid, hanp, hlen, token, 0,
-					      DM_RIGHT_EXCL);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_EXCL from DM_RIGHT_SHARED,
-	 *              DM_RR_WAIT set
-	 * EXPECTED: rc = -1, errno = EACCES
-	 *
-	 * This variation uncovered XFS BUG #30 (0 returned instead of -1 and
-	 * errno EACCES)
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 11)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_RIGHT_SHARED -> DM_RIGHT_EXCL, DM_RR_WAIT set)\n",
-				    szFuncName);
-			rc = dm_request_right(sid, hanp, hlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EACCES);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_EXCL from DM_RIGHT_EXCL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 12)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_RIGHT_EXCL -> DM_RIGHT_EXCL)\n",
-				    szFuncName);
-			rc = dm_request_right(sid, hanp, hlen, token, 0,
-					      DM_RIGHT_SHARED);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_RIGHT_SHARED from DM_RIGHT_EXCL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 13)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(DM_RIGHT_EXCL -> DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_request_right(sid, hanp, hlen, token, 0,
-					      DM_RIGHT_SHARED);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 14)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_request_right(DM_NO_SESSION, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 15)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_request_right(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      token, 0, DM_RIGHT_SHARED);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_request_right - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 16)) {
-		void *fhanp;
-		size_t fhlen;
-
-		/* Variation set up */
-		rc = dm_fd_to_handle(fd_f, &fhanp, &fhlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_request_right(sid, fhanp, fhlen, token, 0,
-					      DM_RIGHT_SHARED);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fhanp, fhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_request_right - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(REQUEST_RIGHT_BASE + 17)) {
-		void *fshanp;
-		size_t fshlen;
-
-		/* Variation set up */
-		rc = dm_path_to_fshandle(DummyFile, &fshanp, &fshlen);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_request_right(sid, fshanp, fshlen, token, 0,
-					      DM_RIGHT_SHARED);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fshanp, fshlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	szFuncName = "dm_release_right";
-
-	/*
-	 * TEST    : dm_release_right - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 1)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_release_right(INVALID_ADDR, hanp, hlen, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 2)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_release_right(sid, (void *)INVALID_ADDR, hlen, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 3)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n", szFuncName);
-		rc = dm_release_right(sid, hanp, INVALID_ADDR, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 4)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_release_right(sid, hanp, hlen, INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - DM_NO_TOKEN
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_TOKEN)\n", szFuncName);
-		rc = dm_release_right(sid, hanp, hlen, DM_NO_TOKEN);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - DM_RIGHT_NULL
-	 * EXPECTED: rc = -1, errno = EACCES
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 6)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_NULL)\n", szFuncName);
-		rc = dm_release_right(sid, hanp, hlen, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EACCES);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - DM_RIGHT_SHARED
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 7)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_release_right(sid, hanp, hlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_release_right - DM_RIGHT_EXCL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 8)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_EXCL)\n",
-				    szFuncName);
-			rc = dm_release_right(sid, hanp, hlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_release_right - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 9)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_release_right(DM_NO_SESSION, hanp, hlen, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 10)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_release_right(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN,
-				      token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_release_right - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 11)) {
-		void *fhanp;
-		size_t fhlen;
-
-		/* Variation set up */
-		if ((rc == dm_fd_to_handle(fd_f, &fhanp, &fhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fhanp, fhlen, token, 0,
-					  DM_RIGHT_SHARED)) == -1) {
-			dm_handle_free(fhanp, fhlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_release_right(sid, fhanp, fhlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_release_right - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(RELEASE_RIGHT_BASE + 12)) {
-		void *fshanp;
-		size_t fshlen;
-
-		/* Variation set up */
-		if ((rc == dm_path_to_fshandle(DummyFile, &fshanp, &fshlen)) ==
-		    -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fshanp, fshlen, token, 0,
-					  DM_RIGHT_SHARED)) == -1) {
-			dm_handle_free(fshanp, fshlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_release_right(sid, fshanp, fshlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	szFuncName = "dm_query_right";
-
-	/*
-	 * TEST    : dm_query_right - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 1)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_query_right(INVALID_ADDR, hanp, hlen, token, &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 2)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n", szFuncName);
-		rc = dm_query_right(sid, (void *)INVALID_ADDR, hlen, token,
-				    &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 3)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n", szFuncName);
-		rc = dm_query_right(sid, hanp, INVALID_ADDR, token, &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 4)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n", szFuncName);
-		rc = dm_query_right(sid, hanp, hlen, INVALID_ADDR, &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - invalid rightp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rightp)\n", szFuncName);
-		rc = dm_query_right(sid, hanp, hlen, token,
-				    (dm_right_t *) INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - DM_NO_TOKEN
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 6)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_TOKEN)\n", szFuncName);
-		rc = dm_query_right(sid, hanp, hlen, DM_NO_TOKEN, &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - DM_RIGHT_SHARED
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 7)) {
-		dm_right_t right;
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_query_right(sid, hanp, hlen, token, &right);
-			if (rc == 0) {
-				if (right == DM_RIGHT_SHARED) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected right (%d vs %d)\n",
-						    szFuncName, 0, right,
-						    DM_RIGHT_SHARED);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_right - DM_RIGHT_EXCL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 8)) {
-		dm_right_t right;
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_query_right(sid, hanp, hlen, token, &right);
-			if (rc == 0) {
-				if (right == DM_RIGHT_EXCL) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected right (%d vs %d)\n",
-						    szFuncName, 0, right,
-						    DM_RIGHT_EXCL);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_right - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 9)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_query_right(DM_NO_SESSION, hanp, hlen, token, &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 10)) {
-		dm_right_t right;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n", szFuncName);
-		rc = dm_query_right(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, token,
-				    &right);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_right - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 11)) {
-		void *fhanp;
-		size_t fhlen;
-		dm_right_t right;
-
-		/* Variation set up */
-		if ((rc = dm_fd_to_handle(fd_f, &fhanp, &fhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fhanp, fhlen, token, 0,
-					  DM_RIGHT_SHARED)) == -1) {
-			dm_handle_free(fhanp, fhlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_query_right(sid, fhanp, fhlen, token, &right);
-			if (rc == 0) {
-				if (right == DM_RIGHT_SHARED) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected right (%d vs %d)\n",
-						    szFuncName, 0, right,
-						    DM_RIGHT_SHARED);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fhanp, fhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_right - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(QUERY_RIGHT_BASE + 12)) {
-		void *fshanp;
-		size_t fshlen;
-		dm_right_t right;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_path_to_fshandle(DummyFile, &fshanp, &fshlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fshanp, fshlen, token, 0,
-					  DM_RIGHT_SHARED)) == -1) {
-			dm_handle_free(fshanp, fshlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_query_right(sid, fshanp, fshlen, token, &right);
-			if (rc == 0) {
-				if (right == DM_RIGHT_SHARED) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected right (%d vs %d)\n",
-						    szFuncName, 0, right,
-						    DM_RIGHT_SHARED);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fshanp, fshlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	szFuncName = "dm_upgrade_right";
-
-	/*
-	 * TEST    : dm_upgrade_right - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 1)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(INVALID_ADDR, hanp, hlen, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 2)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, (void *)INVALID_ADDR, hlen,
-					      token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 3)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, hanp, INVALID_ADDR, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 4)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, hanp, hlen, INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - DM_RIGHT_NULL
-	 * EXPECTED: rc = -1, errno = EPERM
-	 *
-	 * This variation uncovered XFS BUG #31 (EACCES returned instead of
-	 * EPERM)
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_NULL)\n", szFuncName);
-		rc = dm_upgrade_right(sid, hanp, hlen, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EPERM);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - DM_RIGHT_SHARED
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 6)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, hanp, hlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - DM_RIGHT_EXCL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 7)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_EXCL)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, hanp, hlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 8)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(DM_NO_SESSION, hanp, hlen, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 9)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(global handle)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, DM_GLOBAL_HANP,
-					      DM_GLOBAL_HLEN, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 10)) {
-		void *fhanp;
-		size_t fhlen;
-
-		/* Variation set up */
-		if ((rc = dm_fd_to_handle(fd_f, &fhanp, &fhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fhanp, fhlen, token, 0,
-					  DM_RIGHT_SHARED)) == -1) {
-			dm_handle_free(fhanp, fhlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_upgrade_right(sid, fhanp, fhlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fhanp, fhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_upgrade_right - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(UPGRADE_RIGHT_BASE + 11)) {
-		void *fshanp;
-		size_t fshlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_path_to_fshandle(DummyFile, &fshanp, &fshlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fshanp, fshlen, token, 0,
-					  DM_RIGHT_SHARED)) == -1) {
-			dm_handle_free(fshanp, fshlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_upgrade_right(sid, fshanp, fshlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fshanp, fshlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-	szFuncName = "dm_downgrade_right";
-
-	/*
-	 * TEST    : dm_downgrade_right - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 1)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(INVALID_ADDR, hanp, hlen,
-						token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - invalid hanp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 2)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hanp)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, (void *)INVALID_ADDR, hlen,
-						token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - invalid hlen
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 3)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid hlen)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, hanp, INVALID_ADDR, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - invalid token
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 4)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid token)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, hanp, hlen, INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - DM_RIGHT_NULL
-	 * EXPECTED: rc = -1, errno = EPERM
-	 *
-	 * This variation uncovered XFS BUG #32 (EACCES returned instead of
-	 * EPERM)
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 5)) {
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_NULL)\n", szFuncName);
-		rc = dm_downgrade_right(sid, hanp, hlen, token);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EPERM);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - DM_RIGHT_SHARED
-	 * EXPECTED: rc = -1, errno = EPERM
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 6)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_SHARED)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, hanp, hlen, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EPERM);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - DM_RIGHT_EXCL
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 7)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0, DM_RIGHT_EXCL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_RIGHT_EXCL)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, hanp, hlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 8)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(DM_NO_SESSION, hanp, hlen,
-						token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - global handle
-	 * EXPECTED: rc = -1, errno = EBADF
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 9)) {
-
-		/* Variation set up */
-		rc = dm_request_right(sid, hanp, hlen, token, 0,
-				      DM_RIGHT_SHARED);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, DM_GLOBAL_HANP,
-						DM_GLOBAL_HLEN, token);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBADF);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - file handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 10)) {
-		void *fhanp;
-		size_t fhlen;
-
-		/* Variation set up */
-		if ((rc = dm_fd_to_handle(fd_f, &fhanp, &fhlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fhanp, fhlen, token, 0,
-					  DM_RIGHT_EXCL)) == -1) {
-			dm_handle_free(fhanp, fhlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(file handle)\n",
-				    szFuncName);
-			rc = dm_downgrade_right(sid, fhanp, fhlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fhanp, fhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fhanp, fhlen);
-		}
-	}
-
-	/*
-	 * TEST    : dm_downgrade_right - fs handle
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(DOWNGRADE_RIGHT_BASE + 11)) {
-		void *fshanp;
-		size_t fshlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_path_to_fshandle(DummyFile, &fshanp, &fshlen)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_request_right(sid, fshanp, fshlen, token, 0,
-					  DM_RIGHT_EXCL)) == -1) {
-			dm_handle_free(fshanp, fshlen);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(fs handle)\n", szFuncName);
-			rc = dm_downgrade_right(sid, fshanp, fshlen, token);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_release_right(sid, fshanp, fshlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			dm_handle_free(fshanp, fshlen);
-		}
-	}
-
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *lhanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t lhlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    lhanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", lhlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(lhanp, lhlen);
-
-			rc = dm_request_right(sid, lhanp, lhlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_CREATE, events);
-			rc = dm_set_disp(sid, lhanp, lhlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, lhanp, lhlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, lhanp, lhlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_CREATE) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			void *hanp = DM_GET_VALUE(nse, ne_handle1, void *);
-			size_t hlen = DM_GET_LEN(nse, ne_handle1);
-
-			if (runTestOnCreate) {
-				DoTest(token, hanp, hlen);
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			switch (type) {
-			case DM_EVENT_PREUNMOUNT:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
diff --git a/testcases/kernel/fs/dmapi/runtest_off.sh b/testcases/kernel/fs/dmapi/runtest_off.sh
deleted file mode 100755
index 95d506c40..000000000
--- a/testcases/kernel/fs/dmapi/runtest_off.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-# bsh
-#
-#   Copyright (c) International Business Machines  Corp., 2004
-#
-#   This program is free software;  you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY;  without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
-#   the GNU General Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License
-#   along with this program;  if not, write to the Free Software
-#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-#
-
-#
-# This script, and hence the invoked test cases, need to be run from a
-# directory that is NOT on the DMAPI-enabled partition (/dmtest below) being
-# tested; also, the DMAPI-enabled partition must be a disk (/dev/hda7 below)
-# preformatted for JFS via mkfs.fs
-#
-./event_sn -loglevel 4 -termlevel 4 -logname event_sn.log -mtpt /dmtest -device /dev/hda7
-./event_sd -loglevel 4 -termlevel 4 -logname event_sd.log -mtpt /dmtest -device /dev/hda7
-./event_an -loglevel 4 -termlevel 4 -logname event_an.log -mtpt /dmtest -device /dev/hda7
-# For true results, run pmr_pre, reboot and run pmr_post to test persistent
-# managed regions across reboots; however, the tests will work when run in
-# succession as below
-./pmr_pre -loglevel 4 -termlevel 4 -logname pmr_pre.log -mtpt /dmtest -device /dev/hda7
-./pmr_post -loglevel 4 -termlevel 4 -logname pmr_post.log -mtpt /dmtest -device /dev/hda7
-./event_am -loglevel 4 -termlevel 4 -logname event_am.log -mtpt /dmtest -device /dev/hda7
-./invis -loglevel 4 -termlevel 4 -logname invis.log -mtpt /dmtest -device /dev/hda7
-./event_us -loglevel 4 -termlevel 4 -logname event_us.log -mtpt /dmtest -device /dev/hda7
-./disp -loglevel 4 -termlevel 4 -logname disp.log -mtpt /dmtest -device /dev/hda7
-./objref -loglevel 4 -termlevel 4 -logname objref.log -mtpt /dmtest -device /dev/hda7
-./mount -loglevel 4 -termlevel 4 -logname mount.log -mtpt /dmtest -device /dev/hda7
-./token -loglevel 4 -termlevel 4 -logname token.log -mtpt /dmtest -device /dev/hda7
-./right -loglevel 4 -termlevel 4 -logname right.log -mtpt /dmtest -device /dev/hda7
-./mmap -loglevel 4 -termlevel 4 -logname mmap.log -mtpt /dmtest -device /dev/hda7
diff --git a/testcases/kernel/fs/dmapi/runtest_on.sh b/testcases/kernel/fs/dmapi/runtest_on.sh
deleted file mode 100755
index 7fb3e55e3..000000000
--- a/testcases/kernel/fs/dmapi/runtest_on.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-# bsh
-#
-#   Copyright (c) International Business Machines  Corp., 2004
-#
-#   This program is free software;  you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY;  without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
-#   the GNU General Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License
-#   along with this program;  if not, write to the Free Software
-#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-#
-
-#
-# This script, and hence the invoked test cases, need to be run from the
-# root directory of the DMAPI-enabled partition (/dmtest below) being tested
-#
-./session -loglevel 4 -termlevel 4 -logname session.log
-./handle -loglevel 4 -termlevel 4 -logname handle.log -mtpt /dmtest
-./hole -loglevel 4 -termlevel 4 -logname hole.log
-./attr -loglevel 4 -termlevel 4 -logname attr.log
-./config -loglevel 4 -termlevel 4 -logname config.log
-./event -loglevel 4 -termlevel 4 -logname event.log
diff --git a/testcases/kernel/fs/dmapi/session.c b/testcases/kernel/fs/dmapi/session.c
deleted file mode 100644
index dd57160bb..000000000
--- a/testcases/kernel/fs/dmapi/session.c
+++ /dev/null
@@ -1,1362 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: session.c
- *
- * VARIATIONS	: 35
- *
- * API'S TESTED	: dm_create_session
- * 		  dm_destroy_session
- * 		  dm_getall_sessions
- * 		  dm_query_session
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include "dm_test.h"
-
-#define NUM_SESSIONS 8
-
-char dmMsgBuf[4096];
-
-void LogSessions(dm_sessid_t * sid, u_int nelem)
-{
-	int i;
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Sessions:\n");
-	for (i = 0; i < nelem; i++) {
-		DMLOG_PRINT(DMLVL_DEBUG, "  element %d: %d\n", i, sid[i]);
-	}
-}
-
-int main(int argc, char **argv)
-{
-
-	char *szSessionInfo = "dm_test session info";
-	char *szFuncName;
-	char *varstr;
-	int i;
-	int rc;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else {
-		int nexist;
-		rc = dm_getall_sessions(0, NULL, &nexist);
-
-		if (rc == -1 && errno == E2BIG) {
-			dm_sessid_t *psid;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "%d sessions already exist\n",
-				    nexist);
-
-			if ((psid = malloc(nexist * sizeof(dm_sessid_t))) != NULL) {
-				if ((rc =
-				     dm_getall_sessions(nexist, psid,
-							&nexist)) == 0) {
-					for (rc = 0, i = 0; i < nexist; i++) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "destroying session %d\n",
-							    psid[i]);
-						rc |=
-						    dm_destroy_session(psid[i]);
-					}
-
-					if (rc == -1) {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "dm_destroy_session failed, unable to destroy existing sessions\n");
-						DM_EXIT();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "dm_getall_sessions failed, unable to destroy existing sessions\n");
-					DM_EXIT();
-				}
-
-				free(psid);
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "malloc failed, unable to destroy existing sessions\n");
-				DM_EXIT();
-			}
-		}
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI session tests\n");
-
-	szFuncName = "dm_create_session";
-
-	/*
-	 * TEST    : dm_create_session - invalid oldsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 1)) {
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid oldsid)\n", szFuncName);
-		rc = dm_create_session(INVALID_ADDR, szSessionInfo, &newsid);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_session - NULL sessinfop
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 2)) {
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL sessinfop)\n", szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, NULL, &newsid);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_session - invalid sessinfop
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 *
-	 * This variation uncovered XFS BUG #2 (0 return code from strnlen_user
-	 * ignored, which indicated fault)
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 3)) {
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sessinfop)\n", szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, (char *)INVALID_ADDR,
-				       &newsid);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_session - NULL newsidp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 4)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL newsidp)\n", szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, NULL);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_session - invalid newsidp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 5)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid newsidp)\n", szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       (dm_sessid_t *) INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_session - DM_NO_SESSION oldsid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 6)) {
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION oldsid)\n",
-			    szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "newsid = %d\n", newsid);
-		}
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		rc = dm_destroy_session(newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : dm_create_session - valid oldsid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 7)) {
-		dm_sessid_t newsid, oldsid;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			oldsid = newsid;
-
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid oldsid)\n",
-				    szFuncName);
-			rc = dm_create_session(oldsid, szSessionInfo, &newsid);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "newsid = %d\n",
-					    newsid);
-			}
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_create_session - invalidated oldsid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 8)) {
-		dm_sessid_t newsid, oldsid, delsid;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_session(oldsid =
-					   newsid, szSessionInfo,
-					   &newsid)) == -1) {
-			dm_destroy_session(oldsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			delsid = newsid;
-
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated oldsid)\n",
-				    szFuncName);
-			rc = dm_create_session(oldsid, szSessionInfo, &newsid);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(delsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_create_session - maximum sessinfo
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 9)) {
-		dm_sessid_t newsid;
-		char *szBig =
-		    "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345";
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(max sessionfo)\n", szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, szBig, &newsid);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "newsid = %d\n", newsid);
-		}
-		DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-		/* Variation clean up */
-		rc = dm_destroy_session(newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-		}
-	}
-
-	/*
-	 * TEST    : dm_create_session - sessinfo too big
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 *
-	 * This variation uncovered XFS BUG #1 (sessinfo simply truncated, API
-	 * passed)
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 10)) {
-		dm_sessid_t newsid;
-		char *szTooBig =
-		    "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456";
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(sessinfo too big)\n", szFuncName);
-		rc = dm_create_session(DM_NO_SESSION, szTooBig, &newsid);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, E2BIG);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_create_session - multiple sessions with same sessinfo
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(CREATE_SESSION_BASE + 11)) {
-		dm_sessid_t newsid1, newsid2;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid1);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(same sessinfo)\n",
-				    szFuncName);
-			rc = dm_create_session(DM_NO_SESSION, szSessionInfo,
-					       &newsid2);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "1st newsid = %d, 2nd newsid = %d\n",
-					    newsid1, newsid2);
-				if (newsid1 != newsid2) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "%s passed with expected rc = %d\n",
-						    szFuncName, 0);
-					DMVAR_PASS();
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but session IDs same\n",
-						    szFuncName, 0);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid1);
-			rc |= dm_destroy_session(newsid2);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	szFuncName = "dm_destroy_session";
-
-	/*
-	 * TEST    : dm_destroy_session - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(DESTROY_SESSION_BASE + 1)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_destroy_session(DM_NO_SESSION);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_destroy_session - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(DESTROY_SESSION_BASE + 2)) {
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_destroy_session(INVALID_ADDR);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_destroy_session - invalidated sid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(DESTROY_SESSION_BASE + 3)) {
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) != -1) {
-			rc = dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated sid)\n",
-				    szFuncName);
-			rc = dm_destroy_session(newsid);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_destroy_session - valid sid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(DESTROY_SESSION_BASE + 4)) {
-		dm_sessid_t newsid;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid sid)\n", szFuncName);
-			rc = dm_destroy_session(newsid);
-			DMVAR_ENDPASSEXP(szFuncName, 0, rc);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_destroy_session - sid with oustanding events
-	 * EXPECTED: rc = -1, erno = EBUSY
-	 */
-	if (DMVAR_EXEC(DESTROY_SESSION_BASE + 5)) {
-		dm_sessid_t newsid;
-		char buf[MSG_DATALEN];
-		size_t rlen;
-
-		/* Variation set up */
-		memcpy(buf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		rc |= dm_send_msg(newsid, DM_MSGTYPE_ASYNC, MSG_DATALEN, buf);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid sid)\n", szFuncName);
-			rc = dm_destroy_session(newsid);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EBUSY);
-
-			/* Variation clean up */
-			rc = dm_get_events(newsid, 1, 0, sizeof(dmMsgBuf),
-					   dmMsgBuf, &rlen);
-			rc |= dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	szFuncName = "dm_getall_sessions";
-
-	/*
-	 * TEST    : dm_getall_sessions - NULL sidbufp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 1)) {
-		dm_sessid_t newsid;
-		int nelem;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL sidbufp)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(1, NULL, &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - invalid sidbufp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 2)) {
-		dm_sessid_t newsid;
-		int nelem;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sidbufp)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(1, (dm_sessid_t *) INVALID_ADDR,
-						&nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - NULL nelemp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 3)) {
-		dm_sessid_t newsid, sidArray[1];
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL nelemp)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(1, sidArray, NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - invalid nelemp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 4)) {
-		dm_sessid_t newsid, sidArray[1];
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelemp)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(1, sidArray,
-						(u_int *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - zero nelem, zero sessions
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 5)) {
-		dm_sessid_t sidArray[1];
-		int nelem;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(zero nelem, zero sessions)\n",
-			    szFuncName);
-		rc = dm_getall_sessions(0, sidArray, &nelem);
-		if (rc == 0) {
-			DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-			if (nelem == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "%s passed with expected rc = %d\n",
-					    szFuncName, 0);
-				DMVAR_PASS();
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-					    szFuncName, 0, nelem, 0);
-				DMVAR_FAIL();
-			}
-		} else {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "%s failed with unexpected rc = %d (errno = %d)\n",
-				    szFuncName, rc, errno);
-			DMVAR_FAIL();
-		}
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - zero nelem, one session
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 6)) {
-		dm_sessid_t newsid, sidArray[1];
-		int nelem;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(zero nelem, one session)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(0, sidArray, &nelem);
-
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-						    nelem);
-					if (nelem == 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d\n",
-							    szFuncName, -1,
-							    E2BIG);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected nelem (%d vs %d)\n",
-							    szFuncName, -1,
-							    E2BIG, nelem, 1);
-						DMVAR_PASS();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, -1, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - one nelem, one session
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 7)) {
-		dm_sessid_t newsid, sidArray[1];
-		int nelem;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one nelem, one session)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(1, sidArray, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-
-				if (nelem == 1) {
-					LogSessions(sidArray, nelem);
-
-					if (newsid == sidArray[0]) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and nelem = %d but unexpected session ID (%d vs %d)\n",
-							    szFuncName, 0,
-							    nelem, newsid,
-							    sidArray[0]);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - two nelem, one session
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 8)) {
-		dm_sessid_t newsid, sidArray[2];
-		int nelem;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(two nelem, one session)\n",
-				    szFuncName);
-			rc = dm_getall_sessions(2, sidArray, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-
-				if (nelem == 1) {
-					LogSessions(sidArray, nelem);
-
-					if (newsid == sidArray[0]) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and nelem = %d but unexpected session ID (%d vs %d)\n",
-							    szFuncName, 0,
-							    nelem, newsid,
-							    sidArray[0]);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_sessions - ten nelem, eight sessions
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_SESSIONS_BASE + 9)) {
-		dm_sessid_t sidExpected[NUM_SESSIONS], sidArray[10];
-		int nelem;
-
-		/* Variation set up */
-		for (i = 0, rc = 0; i < NUM_SESSIONS && rc == 0; i++) {
-			rc = dm_create_session(DM_NO_SESSION, szSessionInfo,
-					       &sidExpected[i]);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			for (i--; i >= 0; i--) {
-				dm_destroy_session(sidExpected[i]);
-			}
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(%d nelem, %d sessions)\n",
-				    szFuncName,
-				    sizeof(sidArray) / sizeof(dm_sessid_t),
-				    NUM_SESSIONS);
-			rc = dm_getall_sessions(sizeof(sidArray) /
-						sizeof(dm_sessid_t), sidArray,
-						&nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-
-				if (nelem == NUM_SESSIONS) {
-					LogSessions(sidArray, nelem);
-
-					if (memcmp
-					    (sidArray, sidExpected,
-					     NUM_SESSIONS *
-					     sizeof(dm_sessid_t)) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and nelem = %d but unexpected session ID(s)\n",
-							    szFuncName, 0,
-							    nelem);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem,
-						    NUM_SESSIONS);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			for (i = 0, rc = 0; i < NUM_SESSIONS; i++) {
-				rc |= dm_destroy_session(sidExpected[i]);
-			}
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	szFuncName = "dm_query_session";
-
-	/*
-	 * TEST    : dm_query_session - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 1)) {
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION sid)\n", szFuncName);
-		rc = dm_query_session(DM_NO_SESSION, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_session - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 2)) {
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-
-		/* Variation */
-		DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n", szFuncName);
-		rc = dm_query_session(INVALID_ADDR, sizeof(buf), buf, &rlen);
-		DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-		/* Variation clean up */
-	}
-
-	/*
-	 * TEST    : dm_query_session - invalidated sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 3)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-		if ((rc =
-		     dm_create_session(DM_NO_SESSION, szSessionInfo,
-				       &newsid)) != -1) {
-			rc = dm_destroy_session(newsid);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalidated sid)\n",
-				    szFuncName);
-			rc = dm_query_session(newsid, sizeof(buf), buf, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - NULL bufp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 4)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL bufp)\n", szFuncName);
-			rc = dm_query_session(newsid, sizeof(buf), NULL, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - invalid bufp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 5)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid bufp)\n",
-				    szFuncName);
-			rc = dm_query_session(newsid, sizeof(buf),
-					      (void *)INVALID_ADDR, &rlen);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - NULL rlenp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 6)) {
-		dm_sessid_t newsid;
-		char buf[64];
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(NULL rlenp)\n",
-				    szFuncName);
-			rc = dm_query_session(newsid, sizeof(buf), buf, NULL);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - invalid rlenp
-	 * EXPECTED: rc = -1, errno EFAULT
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 7)) {
-		dm_sessid_t newsid;
-		char buf[64];
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid rlenp)\n",
-				    szFuncName);
-			rc = dm_query_session(newsid, sizeof(buf), buf,
-					      (size_t *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - zero buflen
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 8)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(buflen zero)\n",
-				    szFuncName);
-			rc = dm_query_session(newsid, 0, buf, &rlen);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n",
-						    rlen);
-
-					if (rlen == strlen(szSessionInfo) + 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d\n",
-							    szFuncName, -1,
-							    E2BIG);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected rlen (%d vs %d)\n",
-							    szFuncName, -1,
-							    E2BIG, rlen,
-							    strlen
-							    (szSessionInfo) +
-							    1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, -1, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - valid
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 9)) {
-		dm_sessid_t newsid;
-		char buf[64];
-		size_t rlen;
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(valid)\n", szFuncName,
-				    sizeof(buf));
-			rc = dm_query_session(newsid, sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-
-				if (rlen == strlen(szSessionInfo) + 1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buf = \"%s\"\n", buf);
-
-					if (strcmp(buf, szSessionInfo) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and rlen = %d but unexpected session info (\"%s\" vs \"%s\")\n",
-							    szFuncName, 0, rlen,
-							    buf, szSessionInfo);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen (%d vs %d)\n",
-						    szFuncName, 0, rlen,
-						    strlen(szSessionInfo) + 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_query_session - maximum sessionfo
-	 *           sessioninfo
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(QUERY_SESSION_BASE + 10)) {
-		dm_sessid_t newsid;
-		char buf[512];
-		size_t rlen;
-		char *szBig =
-		    "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345";
-
-		/* Variation set up */
-		rc = dm_create_session(DM_NO_SESSION, szBig, &newsid);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(max sessinfo)\n",
-				    szFuncName, sizeof(buf));
-			rc = dm_query_session(newsid, sizeof(buf), buf, &rlen);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "rlen = %d\n", rlen);
-
-				if (rlen == DM_SESSION_INFO_LEN) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "buf = \"%s\"\n", buf);
-
-					if (strncmp
-					    (buf, szBig,
-					     DM_SESSION_INFO_LEN - 1) == 0) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and rlen = %d but unexpected session info (\"%s\" vs \"%s\")\n",
-							    szFuncName, 0, rlen,
-							    buf, szSessionInfo);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected rlen (%d vs %d)\n",
-						    szFuncName, 0, rlen,
-						    DM_SESSION_INFO_LEN);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_destroy_session(newsid);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-
-}
diff --git a/testcases/kernel/fs/dmapi/token.c b/testcases/kernel/fs/dmapi/token.c
deleted file mode 100644
index dd877cb12..000000000
--- a/testcases/kernel/fs/dmapi/token.c
+++ /dev/null
@@ -1,845 +0,0 @@
-/*
- *   Copyright (c) International Business Machines  Corp., 2004
- *
- *   This program is free software;  you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- *   the GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program;  if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * TEST CASE	: token.c
- *
- * VARIATIONS	: 9
- *
- * API'S TESTED	: dm_getall_tokens
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <pthread.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include "dm_test.h"
-
-#define TOKBUF_NUM 10
-#define TOKBUF_LEN (TOKBUF_NUM * sizeof(dm_token_t))
-
-pthread_t tid;
-dm_sessid_t sid;
-char dmMsgBuf[4096];
-char *mountPt;
-char *deviceNm;
-char DummySubdir[FILENAME_MAX];
-dm_token_t createToken;
-
-void *Thread(void *);
-void *TokenThread(void *);
-
-int main(int argc, char **argv)
-{
-
-	char *szFuncName;
-	char *varstr;
-	int rc;
-	char *szSessionInfo = "dm_test session info";
-	dm_eventset_t events;
-
-	DMOPT_PARSE(argc, argv);
-	DMLOG_START();
-
-	DMEV_ZERO(events);
-	DMEV_SET(DM_EVENT_MOUNT, events);
-
-	/* CANNOT DO ANYTHING WITHOUT SUCCESSFUL INITIALIZATION!!! */
-	if ((rc = dm_init_service(&varstr)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_init_service failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else if ((rc = dm_create_session(DM_NO_SESSION, szSessionInfo, &sid))
-		   == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_create_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		DM_EXIT();
-	} else
-	    if ((rc =
-		 dm_set_disp(sid, DM_GLOBAL_HANP, DM_GLOBAL_HLEN, DM_NO_TOKEN,
-			     &events, DM_EVENT_MAX)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_set_disp failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = pthread_create(&tid, NULL, Thread, NULL)) != 0) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "pthread_create failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else if ((rc = dmimpl_mount(&mountPt, &deviceNm)) == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dmimpl_mount failed! (rc = %d, errno = %d)\n", rc,
-			    errno);
-		dm_destroy_session(sid);
-		DM_EXIT();
-	} else {
-		sprintf(DummySubdir, "%s/%s", mountPt, DUMMY_SUBDIR);
-
-		rmdir(DummySubdir);
-	}
-
-	DMLOG_PRINT(DMLVL_DEBUG, "Starting DMAPI tokens tests\n");
-
-	szFuncName = "dm_getall_tokens";
-
-	/*
-	 * TEST    : dm_getall_tokens - invalid sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 1)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, msgbuf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid sid)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(INVALID_ADDR, TOKBUF_NUM, buf,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - invalid nelem
-	 * EXPECTED: rc = -1, errno = E2BIG
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 2)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, msgbuf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelem)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, 0, buf, &nelem);
-			if (rc == -1) {
-				if (errno == E2BIG) {
-					DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n",
-						    nelem);
-					if (nelem == 1) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d and expected errno = %d\n",
-							    szFuncName, -1,
-							    E2BIG);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d and expected errno = %d but unexpected nelem (%d vs %d)\n",
-							    szFuncName, -1,
-							    E2BIG, nelem, 1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected errno = %d\n",
-						    szFuncName, -1, errno);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d\n",
-					    szFuncName, rc);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - invalid tokenbufp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 3)) {
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, msgbuf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid tokenbufp)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, TOKBUF_NUM,
-					      (dm_token_t *) INVALID_ADDR,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - invalid nelemp
-	 * EXPECTED: rc = -1, errno = EFAULT
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 4)) {
-		dm_token_t buf[TOKBUF_NUM];
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, msgbuf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(invalid nelemp)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, TOKBUF_NUM, buf,
-					      (u_int *) INVALID_ADDR);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EFAULT);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - one userevent token
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 5)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, msgbuf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one userevent token)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, TOKBUF_NUM, buf, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == 1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "token 0: %d\n", buf[0]);
-					if (token == buf[0]) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected token (%d vs %d)\n",
-							    szFuncName, 0,
-							    token, buf[0]);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - two userevent tokens
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 6)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token1, token2;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		if ((rc =
-		     dm_create_userevent(sid, MSG_DATALEN, msgbuf,
-					 &token1)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 dm_create_userevent(sid, MSG_DATALEN, msgbuf,
-					     &token2)) == -1) {
-			dm_respond_event(sid, token1, DM_RESP_CONTINUE, 0, 0,
-					 NULL);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(two userevent tokens)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, TOKBUF_NUM, buf, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == 2) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "token 0: %d\n", buf[0]);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "token 1: %d\n", buf[1]);
-					if (token1 == buf[0]
-					    || token1 == buf[1]) {
-						if (token2 == buf[0]
-						    || token2 == buf[1]) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s passed with expected rc = %d\n",
-								    szFuncName,
-								    0);
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s failed with expected rc = %d but token = %d not in buf\n",
-								    szFuncName,
-								    0, token2);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but token = %d not in buf\n",
-							    szFuncName, 0,
-							    token1);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token2, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			rc |=
-			    dm_respond_event(sid, token1, DM_RESP_CONTINUE, 0,
-					     0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - one event token
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 7)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		pthread_t tidToken;
-
-		/* Variation set up */
-		createToken = 0;
-		rc = pthread_create(&tidToken, NULL, TokenThread, NULL);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to set up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			/* Wait for DM_EVENT_CREATE event to set token */
-			while (createToken == 0) {
-				EVENT_DELIVERY_DELAY;
-			}
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(one event token)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, TOKBUF_NUM, buf, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == 1) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "token 0: %d\n", buf[0]);
-					if (buf[0] == createToken) {
-						DMLOG_PRINT(DMLVL_DEBUG,
-							    "%s passed with expected rc = %d\n",
-							    szFuncName, 0);
-						DMVAR_PASS();
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but unexpected token (%d vs %d)\n",
-							    szFuncName, 0,
-							    buf[0],
-							    createToken);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			pthread_join(tidToken, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - one event token, one userevent token
-	 * EXPECTED: rc = 0
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 8)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-		pthread_t tidToken;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		createToken = 0;
-		if ((rc =
-		     dm_create_userevent(sid, MSG_DATALEN, msgbuf,
-					 &token)) == -1) {
-			/* No clean up */
-		} else
-		    if ((rc =
-			 pthread_create(&tidToken, NULL, TokenThread,
-					NULL)) == -1) {
-			dm_respond_event(sid, token, DM_RESP_CONTINUE, 0, 0,
-					 NULL);
-		}
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			/* Wait for DM_EVENT_CREATE event to set token */
-			while (createToken == 0) {
-				EVENT_DELIVERY_DELAY;
-			}
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "%s(one event token, one userevent token)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(sid, TOKBUF_NUM, buf, &nelem);
-			if (rc == 0) {
-				DMLOG_PRINT(DMLVL_DEBUG, "nelem = %d\n", nelem);
-				if (nelem == 2) {
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "token 0: %d\n", buf[0]);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "token 1: %d\n", buf[1]);
-					if (token == buf[0] || token == buf[1]) {
-						if (createToken == buf[0]
-						    || createToken == buf[1]) {
-							DMLOG_PRINT(DMLVL_DEBUG,
-								    "%s passed with expected rc = %d\n",
-								    szFuncName,
-								    0);
-							DMVAR_PASS();
-						} else {
-							DMLOG_PRINT(DMLVL_ERR,
-								    "%s failed with expected rc = %d but token = %d not in buf\n",
-								    szFuncName,
-								    0,
-								    createToken);
-							DMVAR_FAIL();
-						}
-					} else {
-						DMLOG_PRINT(DMLVL_ERR,
-							    "%s failed with expected rc = %d but token = %d not in buf\n",
-							    szFuncName, 0,
-							    token);
-						DMVAR_FAIL();
-					}
-				} else {
-					DMLOG_PRINT(DMLVL_ERR,
-						    "%s failed with expected rc = %d but unexpected nelem (%d vs %d)\n",
-						    szFuncName, 0, nelem, 1);
-					DMVAR_FAIL();
-				}
-			} else {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "%s failed with unexpected rc = %d (errno = %d)\n",
-					    szFuncName, rc, errno);
-				DMVAR_FAIL();
-			}
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-			pthread_join(tidToken, NULL);
-		}
-	}
-
-	/*
-	 * TEST    : dm_getall_tokens - DM_NO_SESSION sid
-	 * EXPECTED: rc = -1, errno = EINVAL
-	 */
-	if (DMVAR_EXEC(GETALL_TOKENS_BASE + 9)) {
-		dm_token_t buf[TOKBUF_NUM];
-		u_int nelem;
-		char msgbuf[MSG_DATALEN];
-		dm_token_t token;
-
-		/* Variation set up */
-		memcpy(msgbuf, MSG_DATA, MSG_DATALEN);
-		rc = dm_create_userevent(sid, MSG_DATALEN, msgbuf, &token);
-		if (rc == -1) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Unable to clean up variation! (errno = %d)\n",
-				    errno);
-			DMVAR_SKIP();
-		} else {
-			/* Variation */
-			DMLOG_PRINT(DMLVL_DEBUG, "%s(DM_NO_SESSION, sid)\n",
-				    szFuncName);
-			rc = dm_getall_tokens(DM_NO_SESSION, TOKBUF_NUM, buf,
-					      &nelem);
-			DMVAR_ENDFAILEXP(szFuncName, -1, rc, EINVAL);
-
-			/* Variation clean up */
-			rc = dm_respond_event(sid, token, DM_RESP_CONTINUE, 0,
-					      0, NULL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_DEBUG,
-					    "Unable to clean up variation! (errno = %d)\n",
-					    errno);
-			}
-		}
-	}
-
-	rc = umount(mountPt);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR, "umount failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	pthread_join(tid, NULL);
-
-	rc = dm_destroy_session(sid);
-	if (rc == -1) {
-		DMLOG_PRINT(DMLVL_ERR,
-			    "dm_destroy_session failed! (rc = %d, errno = %d)\n",
-			    rc, errno);
-	}
-
-	DMLOG_STOP();
-
-	tst_exit();
-}
-
-void *Thread(void *parm)
-{
-	int rc;
-	size_t dmMsgBufLen;
-	dm_eventmsg_t *dmMsg;
-	int bMounted = DM_FALSE;
-	dm_eventtype_t type;
-	dm_token_t token;
-	dm_eventset_t events;
-	dm_response_t response;
-
-	do {
-		/* Loop until message received (wait could be interrupted) */
-		do {
-			DMLOG_PRINT(DMLVL_DEBUG, "Waiting for event...\n");
-			dmMsgBufLen = 0;
-
-			rc = dm_get_events(sid, 1, DM_EV_WAIT, sizeof(dmMsgBuf),
-					   dmMsgBuf, &dmMsgBufLen);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "... dm_get_events returned %d (errno %d)\n",
-				    rc, errno);
-		} while ((rc == -1) && (errno == EINTR) && (dmMsgBufLen == 0));
-
-		if (rc) {
-			DMLOG_PRINT(DMLVL_ERR,
-				    "dm_get_events failed with rc = %d, errno = %d\n",
-				    rc, errno);
-			dm_destroy_session(sid);
-			DM_EXIT();
-		} else {
-			dmMsg = (dm_eventmsg_t *) dmMsgBuf;
-			token = dmMsg->ev_token;
-			type = dmMsg->ev_type;
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Received message %d\n", type);
-		}
-
-		if (type == DM_EVENT_MOUNT) {
-			/* SPECIAL CASE: need to set disposition, events and response */
-			dm_mount_event_t *me =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_mount_event_t *);
-			void *hanp = DM_GET_VALUE(me, me_handle1, void *);
-			size_t hlen = DM_GET_LEN(me, me_handle1);
-
-			DMLOG_PRINT(DMLVL_DEBUG, "Message is DM_EVENT_MOUNT\n");
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n", me->me_mode);
-			DMLOG_PRINT(DMLVL_DEBUG, "  File system handle: %p\n",
-				    hanp);
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  File system handle length: %d\n", hlen);
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint handle: %p\n",
-				    DM_GET_VALUE(me, me_handle2, void *));
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "  Mountpoint handle length: %d\n",
-				    DM_GET_LEN(me, me_handle2));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Mountpoint path: %s\n",
-				    DM_GET_VALUE(me, me_name1, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Media designator: %s\n",
-				    DM_GET_VALUE(me, me_name2, char *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle: %p\n",
-				    DM_GET_VALUE(me, me_roothandle, void *));
-			DMLOG_PRINT(DMLVL_DEBUG, "  Root handle length: %d\n",
-				    DM_GET_LEN(me, me_roothandle));
-
-			bMounted = dm_handle_is_valid(hanp, hlen);
-
-			rc = dm_request_right(sid, hanp, hlen, token,
-					      DM_RR_WAIT, DM_RIGHT_EXCL);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			DMEV_ZERO(events);
-			DMEV_SET(DM_EVENT_PREUNMOUNT, events);
-			DMEV_SET(DM_EVENT_UNMOUNT, events);
-			DMEV_SET(DM_EVENT_CREATE, events);
-			rc = dm_set_disp(sid, hanp, hlen, token, &events,
-					 DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_disp failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_set_eventlist(sid, hanp, hlen, token, &events,
-					      DM_EVENT_MAX);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_set_eventlist failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			rc = dm_release_right(sid, hanp, hlen, token);
-			if (rc == -1) {
-				DMLOG_PRINT(DMLVL_ERR,
-					    "dm_request_right failed! (rc = %d, errno = %d)\n",
-					    rc, errno);
-				dm_destroy_session(sid);
-				DM_EXIT();
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else if (type == DM_EVENT_UNMOUNT) {
-			dm_namesp_event_t *nse =
-			    DM_GET_VALUE(dmMsg, ev_data, dm_namesp_event_t *);
-			if (nse->ne_retcode == 0) {
-				bMounted = DM_FALSE;
-			}
-
-			response = DM_RESP_CONTINUE;
-		} else {
-			switch (type) {
-			case DM_EVENT_PREUNMOUNT:
-				response = DM_RESP_CONTINUE;
-				break;
-
-			case DM_EVENT_CREATE:
-				{
-					dm_namesp_event_t *nse =
-					    DM_GET_VALUE(dmMsg, ev_data,
-							 dm_namesp_event_t *);
-
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "Message is DM_EVENT_CREATE\n");
-					DMLOG_PRINT(DMLVL_DEBUG, "  Mode: %x\n",
-						    nse->ne_mode);
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle: %p\n",
-						    DM_GET_VALUE(nse,
-								 ne_handle1,
-								 void *));
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Parent handle length: %d\n",
-						    DM_GET_LEN(nse,
-							       ne_handle1));
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Entry name: %s\n",
-						    DM_GET_VALUE(nse, ne_name1,
-								 char *));
-
-					createToken = token;
-					DMLOG_PRINT(DMLVL_DEBUG,
-						    "  Token: %d\n",
-						    createToken);
-
-					/* Wait for main thread to call dm_getall_tokens */
-					sleep(3);
-
-					response = DM_RESP_CONTINUE;
-					break;
-				}
-
-			default:
-				{
-					DMLOG_PRINT(DMLVL_ERR,
-						    "Message is unexpected!\n");
-					response = DM_RESP_ABORT;
-					break;
-				}
-			}
-		}
-
-		if (response != DM_RESP_INVALID) {
-			DMLOG_PRINT(DMLVL_DEBUG,
-				    "Responding to message %d with %d\n", type,
-				    response);
-			rc = dm_respond_event(sid, token, response,
-					      response ==
-					      DM_RESP_ABORT ? ABORT_ERRNO : 0,
-					      0, NULL);
-		}
-	} while (bMounted);
-
-	pthread_exit(0);
-}
-
-void *TokenThread(void *parm)
-{
-	int rc = mkdir(DummySubdir, DUMMY_DIR_RW_MODE);
-
-	if (rc != -1) {
-		rmdir(DummySubdir);
-	}
-
-	pthread_exit(0);
-}
-- 
2.13.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2017-05-24 12:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-24 12:27 [LTP] [COMMITTED] [PATCH] testcases: Remove dmapi Cyril Hrubis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.