#include <linux/config.h>
#include <starlet.h>
#include <ddtdef.h>
#include <iodef.h>
#include <ipldef.h>
#include <ssdef.h>
#include <misc.h>
#include <irpdef.h>
#include <ucbdef.h>
#include <ccbdef.h>
#include <system_data_cells.h>
#include <queue.h>
#include <ipl.h>
#include <linux/linkage.h>
#include <linux/sched.h>
#include <exe_routines.h>
Go to the source code of this file.
Functions | |
asmlinkage int | exe_cancel (unsigned short int chan) |
cancel i/o on channel |
Definition in file syscancel.c.
asmlinkage int exe_cancel | ( | unsigned short int | chan | ) |
cancel i/o on channel
chan | i/o channel |
verifies channel legality - MISSING
handle affinity - MISSING
set ipl
pagefault ccb into memory
higher set ipl - MISSING
forklock - MISSING
scan irps
if pids and channels match
and if virtual clear - MISSING
remove irp from queue
clear buffer read bit - MISSING
SS__CANCEL status
check. beware movbuf
insert at postprocessing queue
iopost softint - MISSING
invoke driver cancel routine
unlock forklock - MISSING
relinquish affinity - MISSING
set ipl 0
no oustanding i/o ccb ioc 0, wind 0, return - MISSING
device mounted or foreign mount, return - MISSING
has process section, return - MISSING
NOTFCP set, return - MISSING
if no resources etc to allocate irp, return or sch_rwait - MISSING
irp with acpcontrol etc - MISSING
charge buffer quota - MISSING
release forklock and affinity - MISSING
invoke qioacppkt - MISSING
Definition at line 34 of file syscancel.c.
References _pcb, _ccb::ccb_l_ucb, com_post(), ctl_ga_ccb_table, ctl_gl_pcb, _ddt::ddt_l_cancel, IPL__ASTDEL, _irp::irp_l_ioqfl, _irp::irp_l_iost1, _irp::irp_l_pid, SS__NORMAL, _ucb::ucb_l_ddt, _ucb::ucb_l_ioqfl, and _ucb::ucb_l_irp.
Referenced by exe_dassgn().