Set deactivation

Phillip Susi psusi at cfl.rr.com
Tue Dec 2 19:43:28 UTC 2008


I'm trying to debug why dmraid won't deactivate this raid set and am 
very confused by the code I see.  Hopefully someone can shed some light 
on this.

change_set() calls deactivate_set() which calls dm_remove(), which calls 
run_task() in lib/activate/devmapper.c.  run_task() looks like this:

         if (ret &&
             DM_DEVICE_CREATE == type)
                 ret = dmraid_uuid(lc, rs, uuid, DM_UUID_LEN) &&
                       dm_task_set_uuid(dmt, uuid) &&
                       dm_task_run(dmt);

Now that looks to me like the only kind of task it will run is a create 
task, not a remove task, like the one it is being asked to do.  This 
code looks like it will never work, as if the removal code was never 
completed, yet I know that dmraid -an does work normally, so what gives?




More information about the Ataraid-list mailing list