Many files:
  Checkin of e2fsprogs 1.10

diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
index 5083771..ef00902 100644
--- a/lib/ext2fs/unix_io.c
+++ b/lib/ext2fs/unix_io.c
@@ -94,6 +94,7 @@
 	io->block_size = 1024;
 	io->read_error = 0;
 	io->write_error = 0;
+	io->refcount = 1;
 
 	memset(data, 0, sizeof(struct unix_private_data));
 	data->magic = EXT2_ET_MAGIC_UNIX_IO_CHANNEL;
@@ -130,6 +131,9 @@
 	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
 	data = (struct unix_private_data *) channel->private_data;
 	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_UNIX_IO_CHANNEL);
+
+	if (--channel->refcount > 0)
+		return 0;
 	
 	if (close(data->dev) < 0)
 		retval = errno;