[dm-devel] questions about device-mappers XXXX-map funtion()

Kevin Corry kevincorry at sbcglobal.net
Wed Sep 10 11:57:02 UTC 2003


On Sunday 07 September 2003 06:31, Jon Bendtsen wrote:
> Me and a friend are trying to built encryption into LVM2, and are
> currently in the process of making a dm-crypt mapping target.
> (it is also a university project).
>
> We copy a bio, not cloning. After this we encrypt the data in the bio,
> bio_data(), and use submit_bio() to store it at the disk. But the
> original bio are still written to disk, so we are looking for a way
> to cancel the writing of this original bio?

Jon,

What is your map function returning? If you return 1, then DM will assume you 
simply adjusted the bi_sector and bi_dev fields, and it will continue 
submitting the request to the lower-level device. If you return 0, DM assumes 
your target module is taking ownership of the bio, and does not perform any 
additional processing on that bio. In this case your code will be responsible 
for either submitting that bio, or eventually calling bio_endio() on the bio.

For an example of how this works, see dm-snapshot.c in the 2.4-kernel-version 
of DM.

-Kevin





More information about the dm-devel mailing list