If block size is zero, use normal file operations to do I/O. This eliminates a divide by zero fault. Obtained from FreeBSD (davidxu)