[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