Index: sys/compat/linux/linux_file.h =================================================================== --- sys/compat/linux/linux_file.h +++ sys/compat/linux/linux_file.h @@ -76,7 +76,7 @@ #define LINUX_O_NONBLOCK 00004000 #define LINUX_O_NDELAY LINUX_O_NONBLOCK #define LINUX_O_SYNC 00010000 -#define LINUX_FASYNC 00020000 +#define LINUX_O_ASYNC 00020000 #define LINUX_O_DIRECT 00040000 /* Direct disk access hint */ #define LINUX_O_LARGEFILE 00100000 #define LINUX_O_DIRECTORY 00200000 /* Must be a directory */ Index: sys/compat/linux/linux_file.c =================================================================== --- sys/compat/linux/linux_file.c +++ sys/compat/linux/linux_file.c @@ -113,7 +113,7 @@ bsd_flags |= O_CLOEXEC; if (l_flags & LINUX_O_NONBLOCK) bsd_flags |= O_NONBLOCK; - if (l_flags & LINUX_FASYNC) + if (l_flags & LINUX_O_ASYNC) bsd_flags |= O_ASYNC; if (l_flags & LINUX_O_CREAT) bsd_flags |= O_CREAT; @@ -135,6 +135,8 @@ if (error != 0) { if (error == EMLINK) error = ELOOP; + if (error == ENXIO) + printf("%s: bingo, ENXIO, path %s\n", __func__, path); goto done; } if (p->p_flag & P_CONTROLT) @@ -1286,7 +1288,7 @@ if (result & O_FSYNC) td->td_retval[0] |= LINUX_O_SYNC; if (result & O_ASYNC) - td->td_retval[0] |= LINUX_FASYNC; + td->td_retval[0] |= LINUX_O_ASYNC; #ifdef LINUX_O_NOFOLLOW if (result & O_NOFOLLOW) td->td_retval[0] |= LINUX_O_NOFOLLOW; @@ -1305,7 +1307,7 @@ arg |= O_APPEND; if (args->arg & LINUX_O_SYNC) arg |= O_FSYNC; - if (args->arg & LINUX_FASYNC) + if (args->arg & LINUX_O_ASYNC) arg |= O_ASYNC; #ifdef LINUX_O_NOFOLLOW if (args->arg & LINUX_O_NOFOLLOW)