[lkml]   [2000]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectquestions about block device access
Hello, I am writing a block device driver to redirect all I/O requests to a 
remote hard disk at another node. The remote hd seems "attached" locally. The
process accessing the driver (i.e. the client) has to communicate with a
remote server process through sockets.

However, I found that if these two processes are running at the same node,
i.e. the client sleeps in the request_fn of the virtual device, and waiting
for the local server to complete and return the I/O results, all the processes
seems dead (in uninterruptible sleeping mode), and the kernel dies eventually,
coz' even the bdflush will "hang".

I would like to ask whether there are any problems if one process is sleeping
in the request_fn, but waiting for another process to access the hard disk. In
this case, the first one won't return until the second process finished the
real I/O. Note that the fake block device and the real hard disk are two
separate block devices in my implementation.

I am not very familiar with FS and buffer cache, may be somebody have time to
help this kernel-newbee... Thanks in advance!

-- Roy

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:56    [W:0.043 / U:1.432 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site