/*===========================================================================*
* gen_io *
*===========================================================================*/
-PUBLIC int gen_io(task_nr, mess_ptr)
-endpoint_t task_nr; /* which task to call */
+PUBLIC int gen_io(driver_e, mess_ptr)
+endpoint_t driver_e; /* which endpoint to call */
message *mess_ptr; /* pointer to message for task */
{
/* All file system I/O ultimately comes down to I/O on major/minor device
proc_e = mess_ptr->USER_ENDPT;
- r = sendrec(task_nr, mess_ptr);
+ r = sendrec(driver_e, mess_ptr);
if (r == OK && mess_ptr->REP_STATUS == ERESTART) r = EDEADEPT;
if (r != OK) {
if (r == EDEADSRCDST || r == EDEADEPT) {
- printf("VFS: dead driver %d\n", task_nr);
- dmap_unmap_by_endpt(task_nr);
+ printf("VFS: dead driver %d\n", driver_e);
+ dmap_unmap_by_endpt(driver_e);
return(r);
} else if (r == ELOCKED) {
- printf("VFS: ELOCKED talking to %d\n", task_nr);
+ printf("VFS: ELOCKED talking to %d\n", driver_e);
return(r);
}
panic("call_task: can't send/receive: %d", r);
* dmap table is used in the first step.)
*/
unsuspend_by_endpt(exiter->fp_endpoint);
+ dmap_unmap_by_endpt(exiter->fp_endpoint);
/* Release root and working directories. */
if (exiter->fp_rd) { put_vnode(exiter->fp_rd); exiter->fp_rd = NULL; }
_PROTOTYPE( int dev_io, (int op, dev_t dev, endpoint_t proc_e, void *buf,
u64_t pos, size_t bytes, int flags, int suspend_reopen) );
_PROTOTYPE( int gen_opcl, (int op, dev_t dev, endpoint_t task_nr, int flags));
-_PROTOTYPE( int gen_io, (int task_nr, message *mess_ptr) );
+_PROTOTYPE( int gen_io, (endpoint_t driver_e, message *mess_ptr) );
_PROTOTYPE( int asyn_io, (int task_nr, message *mess_ptr) );
_PROTOTYPE( int no_dev, (int op, dev_t dev, int proc, int flags) );
_PROTOTYPE( int no_dev_io, (int, message *) );