On Fri, Jun 08 2001, Louis Lam wrote:
> Hi,
> 
> 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?

Yes

> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to