[dm-devel] Doubt regarding dm-raid1

Malahal Naineni malahal at us.ibm.com
Fri Jan 28 19:38:41 UTC 2011


nishant mungse [nishantmungse at gmail.com] wrote:
>    Hi Malahal
> 
>     Thanks for reply. I am not able to understand what  this
>     "INIT_WORK(&ms->kmirrord_work, do_mirror)" function does. It  is written
>     in mirror_ctr of dm-raid1. What i think is whenever a bio comes dm_mirror
>     will be called if that is case then why this is written in mirror_ctr.

INIT_WORK just initializes the work structure. When it is queued by calling
queue_work() (e.g. from wakeup_mirrord) the actual function do_mirror() gets
called. It is called in a different thread context though!

The following article is a bit outdated, but it gives what a work queue
is and its API:

http://lwn.net/Articles/23634/

Hope that helps,
Malahal.




More information about the dm-devel mailing list