block/raw-posix.c has this code:
#ifndef O_DIRECT
#define O_DIRECT O_DSYNC
#endif
From what I can tell, that would turn cache=none behavior into that of cache=writethrough. mjt in #kvm suggested an alternative worth considering:
(14:43:29) mjt: directio(fd,DIRECTIO_ON) -- maybe worth to add on solaris instead of O_DIRECT
(14:44:13) mjt: http://docs.oracle.com/cd/E19253-01/816-5168/6mbb3hr6l/index.html