nishant mungse [nishantmungse@xxxxxxxxx] 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. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel