Add EXT2_FLAG_EXCLUSIVE to the ext2fs library.

This flag when specified to ext2fs_open or ext2fs_initialize indicates 
that the application wants the io_channel to be opened in exclusive mode.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

diff --git a/lib/ext2fs/initialize.c b/lib/ext2fs/initialize.c
index 83eea72..05ba8c8 100644
--- a/lib/ext2fs/initialize.c
+++ b/lib/ext2fs/initialize.c
@@ -104,6 +104,7 @@
 	dgrp_t		i;
 	blk_t		numblocks;
 	int		rsv_gdt;
+	int		io_flags;
 	char		*buf;
 
 	if (!param || !param->s_blocks_count)
@@ -120,7 +121,10 @@
 #ifdef WORDS_BIGENDIAN
 	fs->flags |= EXT2_FLAG_SWAP_BYTES;
 #endif
-	retval = manager->open(name, IO_FLAG_RW, &fs->io);
+	io_flags = IO_FLAG_RW;
+	if (flags & EXT2_FLAG_EXCLUSIVE)
+		io_flags |= IO_FLAG_EXCLUSIVE;
+	retval = manager->open(name, io_flags, &fs->io);
 	if (retval)
 		goto cleanup;
 	fs->image_io = fs->io;