switch (mess->m_type) {
case DEV_OPEN:
- reply_mess.m_type = DEV_REVIVE;
+ reply_mess.m_type = DEV_OPEN_REPL;
reply_mess.REP_ENDPT = mess->USER_ENDPT;
reply_mess.REP_STATUS = r;
break;
r = (*dp->dmap_io)(dp->dmap_driver, &dev_mess);
if (r != OK) return(r);
+ if (op == DEV_OPEN && dp->dmap_style == STYLE_DEVA) {
+ fp->fp_task = dp->dmap_driver;
+ worker_wait(dp->dmap_driver);
+ }
+
if (is_bdev)
return(dev_mess.BDEV_STATUS);
else
SANITYCHECK;
get_work(); /* sets who and call_nr */
+ if (call_nr == DEV_OPEN_REPL) /* XXX: hack to make DEV_OPEN_REPL */
+ call_nr = DEV_REVIVE; /* work on synchronous VFS */
+
if (call_nr == DEV_REVIVE)
{
endpoint_t endpt;