+ if (!(flags & FCREAT) && stat64(realpath, &st) == -1) {
+ err = errno;
+ free(realpath);
+ return (err);
+ }
+ }
+
+ if (!(flags & FCREAT) && S_ISBLK(st.st_mode)) {
+#ifdef __linux__
+ flags |= O_DIRECT;
+#endif
+ /* We shouldn't be writing to block devices in userspace */
+ VERIFY(!(flags & FWRITE));