Hi, Whenever there is a open on the device the operations corresponding to your device are copied into the i-node at the VFS layer. Then any subsequent requests are routed to your routines directly using the requests. There is a open routine that you provide with your device that gets called when there is a open on your device. You can do any open-specific initializations here. I guess this will solve the problem. -Pradeep On Tue, 8 Jan 2002 mjoseph@hss.hns.com wrote: > Subject: doubt regarding :Waking up the request function for Block device > drivers?? > > *************************************************************************** > *************************************************************************** > **** > > > I was going through the code in linux/drivers/block/ll_rw_blk.c > and had a doubt which i though someone could answer > > In a block device , The kernel maintains a global list of requests in > blk_dev[MAX_BLKDEV]. The request handlers are initalized for a > particular device by > q->request_fn = rfn; > > > My question is how does the Kernel signal ("wake up") the appropriate > driver that > "now you have a request that you need to service" > -- -Pradeep ----------------------------------- Let us be the change, we wish to see in this world. --- Mahatma Gandhi ----------------------------------- Pradeep Jagannath pradeep@it.iitb.ernet.in http://www.it.iitb.ernet.in/~pradeep ----------------------------------- -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/