On Fri, Jun 08 2001, Louis Lam wrote:
> I'm quite new to kernel development, please advice....
> Got some questions about Loop and PPDD Devices.
> *For 2.2 kernels, there are loop-specific modifications in ll_rw_block.c, in
> make_request(), where the max_req is divided by two. Comments read: loop
> uses two requests, 1 for loop and the other for real device.
> Q1. How is it exactly using two requests?
FS generates request, received by loop. loop reads/writes the buffer on
the real device, that uses another request.
> Q2. Requests are made to the loop device and when will it generate another
> request to the real device?
> Q3. Does the loop device have its own request queue? Or is it using the same
> request queue as the actual device it is associated with?
No -- in 2.4 it does, all queues have their own request freelist.
However the way that loop works in 2.4, it doesn't allocate/use any
requests at all.
> Q4. What is the relationship between loop device driver and the actual disc
> driver? How/When is data actually written/read from the disk?
Well data is read/written to loop, which then generates a matching
request for the target device.
> Q4. Where can I gather more information on the principles behind the how
> loop devices work? Any particular person who might be able to help?
The source is right there, under your nose.
> *I'm Using ppdd to encrypt my swap data, it is very similar to the loop
> device. Currently as suggested by the instructions, I'm using a swap file in
> an encrypted partition. I'm trying to port it to the 2.2.14-5.0(Redhat 6.2
> Kernel)and noticed that when I try to run something like "make -j 3" , there
> are errors in decryption. This did not happen on a standard 2.2.13 kernel.
> Sometimes it deadlocks as well(quite intermittent, but usually when I just
> changed the swap space to the encrypted file).
> Q6: What should I be looking for in order to port it to that kernel?
> Understand there are changes to buffer.c and various other files related to
> block I/O, and possibly some to memory management as well.
Just dive in, learn as you go along. Or look at loop + crypto patches.
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Jun 15 2001 - 21:00:09 EST