Fix windowsaio IO error handling and document device write access issue on Windows and FreeBSD.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/HOWTO b/HOWTO
index 6391b82..32e5d66 100644
--- a/HOWTO
+++ b/HOWTO
@@ -61,7 +61,7 @@
 
 	Num threads	How many threads or processes should we spread
 			this workload over.
-	
+
 The above are the basic parameters defined for a workload, in addition
 there's a multitude of parameters that modify other aspects of how this
 job behaves.
@@ -274,11 +274,14 @@
 		as the two working files, you would use
 		filename=/dev/sda:/dev/sdb. On Windows, disk devices are accessed
 		as \\.\PhysicalDrive0 for the first device, \\.\PhysicalDrive1
-		for the second etc.  If the wanted filename does need to 
-		include a colon, then escape that with a '\' character. 
-		For instance, if the filename is "/dev/dsk/foo@3,0:c", 
-		then you would use filename="/dev/dsk/foo@3,0\:c". 
-		'-' is a reserved name, meaning stdin or stdout. Which of the 
+		for the second etc.
+		Note: Windows and FreeBSD prevent write access to areas of the disk
+		containing in-use data (e.g. filesystems).
+		If the wanted filename does need to include a colon, then escape that
+ 		with a '\' character.
+		For instance, if the filename is "/dev/dsk/foo@3,0:c",
+		then you would use filename="/dev/dsk/foo@3,0\:c".
+		'-' is a reserved name, meaning stdin or stdout. Which of the
 		two depends on the read/write direction set.
 
 opendir=str	Tell fio to recursively add any file it can find in this
@@ -1086,7 +1089,7 @@
 		less than verify_backlog then not all blocks will be verified,
 		if verify_backlog_batch is larger than verify_backlog, some
 		blocks will be verified more than once.
-		
+
 stonewall
 wait_for_previous Wait for preceeding jobs in the job file to exit, before
 		starting this one. Can be used to insert serialization
@@ -1132,7 +1135,7 @@
 		for how to capture such logging data. For blktrace replay,
 		the file needs to be turned into a blkparse binary data
 		file first (blkparse <device> -o /dev/null -d file_for_fio.bin).
-		
+
 replay_no_stall=int When replaying I/O with read_iolog the default behavior
 		is to attempt to respect the time stamps within the log and
 		replay them with the appropriate delay between IOPS.  By
@@ -1295,12 +1298,12 @@
 		 may be symbol ('ENOSPC', 'ENOMEM') or integer.
 		 Example:
 			ignore_error=EAGAIN,ENOSPC:122
-		 This option will ignore EAGAIN from READ, and ENOSPC and 
-		 122(EDQUOT) from WRITE. 
+		 This option will ignore EAGAIN from READ, and ENOSPC and
+		 122(EDQUOT) from WRITE.
 
 error_dump=bool If set dump every error even if it is non fatal, true
 		by default. If disabled only fatal error will be dumped
-				 
+
 cgroup=str	Add job to this control group. If it doesn't exist, it will
 		be created. The system must have a mounted cgroup blkio
 		mount point for this to work. If your system doesn't have it
@@ -1382,7 +1385,7 @@
 [e4defrag] donorname=str
 	        File will be used as a block donor(swap extents between files)
 [e4defrag] inplace=int
-		Configure donor file blocks allocation strategy		
+		Configure donor file blocks allocation strategy
 		0(default): Preallocate donor's file on init
 		1 	  : allocate space immidietly inside defragment event,
 			    and free right after event
@@ -1570,8 +1573,8 @@
 			  Read merges, write merges,
 			  Read ticks, write ticks,
 			  Time spent in queue, disk utilization percentage
-	Additional Info (dependant on continue_on_error, default off): total # errors, first error code 
-	
+	Additional Info (dependant on continue_on_error, default off): total # errors, first error code
+
 	Additional Info (dependant on description being set): Text description
 
 Completion latency percentiles can be a grouping of up to 20 sets, so
@@ -1587,7 +1590,7 @@
 
 8.0 Trace file format
 ---------------------
-There are two trace file format that you can encounter. The older (v1) format 
+There are two trace file format that you can encounter. The older (v1) format
 is unsupported since version 1.20-rc3 (March 2008). It will still be described
 below in case that you get an old trace and want to understand it.
 
@@ -1624,7 +1627,7 @@
 The filename is given as an absolute path. The action can be one of these:
 
 add          Add the given filename to the trace
-open         Open the file with the given filename. The filename has to have 
+open         Open the file with the given filename. The filename has to have
              been added with the add action before.
 close        Close the file with the given filename. The file has to have been
              opened before.
@@ -1635,7 +1638,7 @@
 filename action offset length
 
 The filename is given as an absolute path, and has to have been added and opened
-before it can be used with this format. The offset and length are given in 
+before it can be used with this format. The offset and length are given in
 bytes. The action can be one of these:
 
 wait       Wait for 'offset' microseconds. Everything below 100 is discarded.