Hello Shakthi Kannan, Thanks for the reply . > driver. I could not understand why the "sbd_request " is called even > though > > i have given only one read call from user space file. > > Block device I/O transfer is done in blocks. > > > And also in the driver, in the function sbd_request() how does the > driver > > get the parameters like sector, current_nr_sectors and buffer. > > VFS <-> SCSI <-> Block device? > > > i could move > > furhter fastly. > > Fastly? IMHO, learning kernel development involves lot of patience. > > SK Is it necessary to use kernel_thread() in block drivers. In drivers/block loop.c i could see kernel_thread() being used but in floopy.c it is not used. When is this kernel_thread() function is supposed to be used ? In the sbd_device also the kernel_thread() is not used. Anyone please kindly clarify my doubts. Thanks in Advance -Rahul