[dm-devel] reinstate path not working
Tejaswini Poluri
tejaswinipoluri3 at gmail.com
Tue Jun 30 05:52:37 UTC 2015
Thanks Ben. So should I push the code to the upstream and get an approval?
Regards,
Tejaswini
On Tue, Jun 30, 2015 at 12:50 AM, Benjamin Marzinski <bmarzins at redhat.com>
wrote:
> On Fri, Jun 26, 2015 at 12:21:48PM +0530, Tejaswini Poluri wrote:
> > Yes I agree that having the same code in both cli_add_map() and
> ev_add_map
> > is not necessary. Hence I would suggest removing get_refwwid() code
> from
> > ev_add_map as it is not being used by anyone.
> >
> > ev_add_map(param, NULL, vecs) would create the multipath device by
> using
> > the get_refwwid() code and but all the functions above it like
> > (dm_get_minor, dm_get_major and dm_mapname) would fail and it wouldn't
> > enter any of the other code in ev_add_map like
> > 1.dm_map_present,
> > 2.add_map_without_path
> > 3. sync_map_state
> > which are responsible for registering the map and displaying it.
> >
> > So, I think moving the below code from ev_add_map to cli_add_map
> should be
> > a good idea right.
> >
> > r = get_refwwid(dev, DEV_DEVMAP, vecs->pathvec,&refwwid);
> > >
> > > if (refwwid) {
> > > r = coalesce_paths(vecs, NULL, refwwid,0);
> > > dm_lib_release();
> > > }
> > What do u think?
>
> I agree. We aren't using the code in ev_add_map, so it's presence there
> is simply confusing.
>
> -Ben
>
> >
> > Regards,
> > Tejaswini
> > On Fri, Jun 26, 2015 at 4:32 AM, Benjamin Marzinski
> > <[1]bmarzins at redhat.com> wrote:
> >
> > On Tue, Jun 23, 2015 at 03:48:26PM +0530, Tejaswini Poluri wrote:
> > > Hi Ben,
> > >
> > > This is regarding the add map issue I have been discussing.
> Posting
> > the
> > > issue again to remind.
> > >
> > > Case 1 : remove and add map.
> > > root at x86-generic-64:~# multipathd -k'show maps'
> > > name sysfs uuid
> > > dmpath0 dm-0 1IET_00010001
> > > root at x86-generic-64:~# multipathd -k'remove map dmpath0'
> > > ok
> > > root at x86-generic-64:~# multipathd -k'show maps'
> > > root at x86-generic-64:~# multipathd -k'add map dmpath0'
> > > ok
> > > root at x86-generic-64:~# multipathd -k'show maps'
> > > root at x86-generic-64:~#
> > > Once a map is removed, we are able to add it only using
> #multipath
> > > command and not using multipathd tools.
> > >
> > > I have fixed the problem with two approaches. I would like you
> to
> > review
> > > the same.
> > > Patch1 : By making 'remove map dmpath0' to remove only the map
> and
> > not the
> > > device. I have added extra functions discard_map and
> dm_remove_map
> > so as
> > > to not interfere with the existing code.
> > >
> > > Patch 2: The approach you have suggested.By getting wwid from
> the
> > mapname
> > > and doing coalesce_paths. I have just moved the following code
> in
> > > ev_add_map to cli_add_map.
> >
> > This is the general idea we'd like to go with. However, looking at
> the
> > latest upstream code, I don't think you should pull code in from
> > ev_add_map() to cli_add_map() like your patch does. cli_add_map()
> > already calls ev_add_map(), and ev_add_map() is certainly able to
> add
> > the map if it doesn't already exist.
> >
> > You would just need to call it with
> >
> > ev_add_map(param, NULL, vecs);
> >
> > and ev_add_map() will happily create you a new multipath device.
> All
> > you need to do is make sure that all the functions that ev_add_map()
> > calls with alias can accept a NULL value there.
> >
> > This might not be the best way to go about this, however. It turns
> out
> > that right now, even though ev_add_map() technically has the
> ability to
> > create new maps, nothing currently uses it, and it really doesn't
> make
> > sense for it to be there. Instead of just copying that code, you
> could
> > pull the map creation code out of ev_add_map() and add it to
> > cli_add_map(), for those situations where the requested device
> doesn't
> > already exist.
> >
> > But having the code in both cli_add_map() and ev_add_map() when one
> > already calls the other doesn't seem necessary.
> >
> > -Ben
> >
> > >
> > > r = get_refwwid(dev, DEV_DEVMAP, vecs->pathvec,&refwwid);
> > >
> > > if (refwwid) {
> > > r = coalesce_paths(vecs, NULL, refwwid,0);
> > > dm_lib_release();
> > > }
> > >
> > > changed dev to param.
> > >
> > > I have tested the same in all 3 versions -0.4.8, 0.4.9 and
> 0.5.0.
> > It would
> > > be great if you can review the same so that it doesn't cause
> any
> > extra
> > > side effects.
> > > I guess Patch2 is the way u have suggested me in the previous
> mail.
> > Please
> > > review it and share your views.
> > > Regards,
> > > Tejaswini
> > > On Fri, Jun 12, 2015 at 2:21 AM, Benjamin Marzinski
> > > <[1][2]bmarzins at redhat.com> wrote:
> > >
> > > On Wed, Jun 10, 2015 at 11:46:51AM +0530, Tejaswini Poluri
> wrote:
> > > >
> > > > > We are testing multipathd tools with all the
> possible
> > options
> > > and the
> > > > > following fails.
> > > > >
> > > > > Case 1 : remove and add map.
> > > > > root at x86-generic-64:~# multipathd -k'show maps'
> > > > > name sysfs uuid
> > > > > dmpath0 dm-0 1IET_00010001
> > > > > root at x86-generic-64:~# multipathd -k'remove map
> > dmpath0'
> > > > > ok
> > > > > root at x86-generic-64:~# multipathd -k'show maps'
> > > > > root at x86-generic-64:~# multipathd -k'add map
> dmpath0'
> > > > > ok
> > > > > root at x86-generic-64:~# multipathd -k'show maps'
> > > > > root at x86-generic-64:~#
> > > > > Once a map is removed, we are able to add it only
> using
> > > #multipath
> > > > > command and not using multipathd tools.
> > > >
> > > > It is working the way it was designed, but possibly it
> would
> > make
> > > sense
> > > > to change the design.
> > > >
> > > > You have mentioned that it would make sense to change
> the
> > design to
> > > add
> > > > map. Are there plans to change the design ?
> > > > I am trying to understand the code flow to change the
> > design. Can
> > > you
> > > > guide me if we should stop removing the device from in
> the
> > remove
> > > map code
> > > > flow or start adding the device and the map in the add
> map
> > code
> > > flow.
> > > >
> > > > have tried to understand the remove map code flow of
> > multipathd in
> > > 0.4.8
> > > > code.
> > >
> > > I think that we want multipath to actually remove the map
> > (instead of
> > > just not monitoring it) when you call "remove map <map>". We
> just
> > want
> > > "add map <map>" to try to create the map if it doesn't
> exist. To
> > do
> > > that, you would need to first firgure out what WWID is
> associated
> > with
> > > <map>. Presumably, <map> could either be an alias, wwid, or
> even
> > the
> > > name of a path in the map. Once you found the map, you would
> have
> > to
> > > call the code to create the map.
> > >
> > > Also, to answer your IRC question, no the 0.4.8 code is not
> still
> > being
> > > developed upstream. All upstream patches only go against the
> > current
> > > head. There are no other upstream branches.
> > >
> > > -Ben
> > > >
> > > > ev_remove_map (char * devname, struct vectors * vecs)
> > > >
> > > > flush_map(mpp, vecs);
> > > >
> > > > dm_flush_map(mpp->alias,
> > DEFAULT_TARGET);
> > > >
> > > > if
> > (!dm_map_present(mapname))
> > > >
> > > > return 0;
> > > >
> > > > if (dm_type(mapname, type) <= 0)
> > > >
> > > > return 1;
> > > >
> > > > if (dm_remove_partmaps(mapname))
> > > >
> > > > return 1;
> > > >
> > > > if (dm_get_opencount(mapname)) {
> > > >
> > > > condlog(2, "%s: map in use", mapname);
> > > >
> > > > return 1;
> > > >
> > > > }
> > > >
> > > > r = dm_simplecmd(DM_DEVICE_REMOVE, mapname);
> > > >
> > > > if (r) {
> > > >
> > > > condlog(4, "multipath map %s removed",
> > mapname);
> > > >
> > > > return 0;
> > > >
> > > > }
> > > >
> > > >
> > > >
> > > > orphan_paths(vecs->pathvec,
> mpp);
> > > >
> > > > remove_map(mpp, vecs,
> > stop_waiter_thread,
> > > 1);
> > > >
> > > > Is removing this below line, the right step to stop
> removing
> > the
> > > device ?
> > > > r = dm_simplecmd(DM_DEVICE_REMOVE, mapname);
> > > >
> > > > Regards,
> > > >
> > > > Tejaswini
> > > >
> > > > On Mon, Jun 8, 2015 at 11:15 AM, Tejaswini Poluri
> > > > <[1][2][3]tejaswinipoluri3 at gmail.com> wrote:
> > > >
> > > > Thanks a lot Ben for the quick and detailed reply. I
> have
> > been
> > > > struggling to understand and conclude the issues with
> > multipath
> > > as I am
> > > > the only one working from my team. Your inputs help
> me a
> > lot.
> > > Thanks
> > > > again.
> > > > Regards,
> > > > Tejaswini
> > > > On Sat, Jun 6, 2015 at 3:36 AM, Benjamin Marzinski
> > > > <[2][3][4]bmarzins at redhat.com> wrote:
> > > >
> > > > On Fri, Jun 05, 2015 at 02:31:20PM +0530, Tejaswini
> > Poluri
> > > wrote:
> > > > > Hii Ben,
> > > > >
> > > > > We are testing multipathd tools with all the
> > possible
> > > options and
> > > > the
> > > > > following fails.
> > > > >
> > > > > Case 1 : remove and add map.
> > > > > root at x86-generic-64:~# multipathd -k'show
> maps'
> > > > > name sysfs uuid
> > > > > dmpath0 dm-0 1IET_00010001
> > > > > root at x86-generic-64:~# multipathd -k'remove
> map
> > dmpath0'
> > > > > ok
> > > > > root at x86-generic-64:~# multipathd -k'show
> maps'
> > > > > root at x86-generic-64:~# multipathd -k'add map
> > dmpath0'
> > > > > ok
> > > > > root at x86-generic-64:~# multipathd -k'show
> maps'
> > > > > root at x86-generic-64:~#
> > > > > Once a map is removed, we are able to add it
> only
> > using
> > > > #multipath
> > > > > command and not using multipathd tools.
> > > >
> > > > It is working the way it was designed, but possibly
> it
> > would
> > > make
> > > > sense
> > > > to change the design. The "remove map" command, not
> > only stops
> > > > multipathd from monitoring the multipath device,
> but it
> > removes
> > > it
> > > > from
> > > > the system as well. The "add map" command makes
> > multipath
> > > monitor an
> > > > already existing multipath device that in wasn't
> > previously
> > > > monitoring.
> > > > These commands do this for historical reasons.
> > multipathd
> > > wasn't
> > > > originally in charge of creating multipath devices,
> > multipath
> > > was.
> > > > Once
> > > > it had created the device, it ran
> > > >
> > > > multipathd -k"add map <MAP>"
> > > >
> > > > to make multipathd start monitoring it. However
> things
> > haven't
> > > worked
> > > > this way since RHEL4, so possibly "add map" should
> > actually
> > > create the
> > > > device if it doesn't currently exist.
> > > > > Case 2 : Active paths test case
> > > > > # while true ; do sleep 3 ; multipathd
> -k'remove
> > path sdb'
> > > ;
> > > > multipathd
> > > > > -k'add path sdb' ; multipathd -k'show maps
> status'
> > ; done
> > > > > ok
> > > > > ok
> > > > > name failback queueing paths dm-st
> > > > > dmpath0 - - 1 active // It should be 2.
> > > >
> > > > This is simply a timing issue. What you are seeing
> it
> > the
> > > number of
> > > > active paths. These are paths that the kernel can
> use.
> > The
> > > "add path"
> > > > command doesn't update the kernel state. This
> happens
> > later in
> > > > response
> > > > to the kernel reloading the device table. So, in a
> > second or
> > > two, this
> > > > will say 2, as expected.
> > > >
> > > > > We would like to know if the test cases are
> valid
> > and if
> > > these
> > > > are bugs or
> > > > > any design issues.
> > > > >
> > > > > Case 3 : Fail path and reinstate path
> > > > > root at x86-generic-64:~# multipathd -k"fail path
> > sdc";
> > > multipathd
> > > > > -k'reinstate path sdc'; multipathd -k"show
> paths";
> > > > > > [ 3962.708523] device-mapper: multipath:
> > Failing path
> > > 8:32.
> > > > > > ok
> > > > > > ok
> > > > > > hcil dev dev_t pri dm_st chk_st
> > next_check
> > > > > > 4:0:0:1 sdc 8:32 1 [active][faulty]
> > ..........
> > > 1/20
> > > > <==CHECK
> > > > > > 5:0:0:1 sdd 8:48 1 [active][ready]
> > XX........
> > > 4/20
> > > > > sdc path becomes [active][ready] only after the
> > polling
> > > interval
> > > > but not
> > > > > immediately after the reinstate path command.
> > > > > You have answered that this is a design issue.
> But
> > we have
> > > heard
> > > > from our
> > > > > test team that the same test case works in
> RHEL6.
> > Did you
> > > observe
> > > > it?
> > > > > I am also finding that the test cases fail
> because
> > we are
> > > trying
> > > > to do
> > > > > multiple commands at one shot. Please share
> your
> > thoughts
> > > so
> > > > that it
> > > > > could help me in debugging the issues further.
> > > > >
> > > >
> > > > It's totally possible that the checker state is
> > immediately
> > > updated in
> > > > RHEL6. Like I said before, what it currently does,
> > although
> > > correct,
> > > > is confusing, and perhaps we need a different
> checker
> > state for
> > > paths
> > > > where the "fail path" command has been used.
> > > >
> > > > -Ben
> > > > > Regards,
> > > > > Tejaswini
> > > > > On Tue, May 19, 2015 at 5:37 PM, Tejaswini
> Poluri
> > > > > <[1][3][4][5]tejaswinipoluri3 at gmail.com>
> wrote:
> > > > >
> > > > > Thanks a lot Ben. I will look into it more.
> > > > > On Mon, May 18, 2015 at 9:57 PM, Benjamin
> > Marzinski
> > > > > <[2][4][5][6]bmarzins at redhat.com> wrote:
> > > > >
> > > > > On Mon, May 18, 2015 at 02:09:27PM +0530,
> > Tejaswini
> > > Poluri
> > > > wrote:
> > > > > > Hii,
> > > > > > We are trying to test multipath setup
> in
> > our
> > > target and
> > > > tried the
> > > > > various
> > > > > > commands of multipathd demaon and we
> find
> > the
> > > following
> > > > error:
> > > > > > root at x86-generic-64:~# multipathd
> -k"fail
> > path
> > > sdc";
> > > > multipathd
> > > > > > -k'reinstate path
> > > > > > sdc'; multipathd -k"show paths";
> > > > > > [ 3962.708523] device-mapper:
> multipath:
> > Failing
> > > > path 8:32.
> > > > > > ok
> > > > > > ok
> > > > > > hcil dev dev_t pri dm_st chk_st
> > next_check
> > > > > > 4:0:0:1 sdc 8:32 1 [active][faulty]
> > ..........
> > > 1/20
> > > > <<<===
> > > > > CHECK
> > > > > > 5:0:0:1 sdd 8:48 1 [active][ready]
> > XX........
> > > 4/20
> > > > > > sdc path becomes [active][ready] only
> > after the
> > > polling
> > > > interval
> > > > > but not
> > > > > > immediately after the reinstate path
> > command.
> > > > > > I am observing this in latest
> multipath
> > tools in
> > > ubuntu
> > > > machine
> > > > > as well.
> > > > > > Please let me know if its a known
> issue or
> > if I
> > > am doing
> > > > > something wrong.
> > > > > > Regards.
> > > > > > Tejaswini
> > > > >
> > > > > the reinstate command is supposed to
> reinstate
> > the
> > > device
> > > > with the
> > > > > kernel, and it does that. The checker state
> > doesn't
> > > change
> > > > until the
> > > > > next time that the path is checked. I
> agree
> > that it's
> > > odd
> > > > that the
> > > > > check state switches to faulty as soon as
> you
> > fail the
> > > path,
> > > > but it
> > > > > doesn't switch back until the next check
> after
> > you
> > > reinistate
> > > > it.
> > > > >
> > > > > The issue is that multipathd needs to
> override
> > the
> > > checker
> > > > output,
> > > > > so that a failed path won't be immeditately
> > > reinstated. Once
> > > > the
> > > > > path comes back, multipathd wants to
> record the
> > switch
> > > in the
> > > > checker
> > > > > thread, so that it can refresh path
> information
> > what
> > > wasn't
> > > > > automatically done when the path was
> > reinstated.
> > > However, it
> > > > may make
> > > > > more sense to have a different checker
> state
> > for when
> > > the
> > > > device is
> > > > > in the failed state, so that it's obvious
> that
> > the
> > > checker
> > > > state is
> > > > > being overruled.
> > > > >
> > > > > -Ben
> > > > >
> > > > > > --
> > > > > > dm-devel mailing list
> > > > > > [3][5][6][7]dm-devel at redhat.com
> > > > > >
> > > [4][6][7][8]https://www.redhat.com/mailman/listinfo/dm-devel
> > > > >
> > > > > --
> > > > > dm-devel mailing list
> > > > > [5][7][8][9]dm-devel at redhat.com
> > > > >
> > > [6][8][9][10]
> https://www.redhat.com/mailman/listinfo/dm-devel
> > > > >
> > > > > References
> > > > >
> > > > > Visible links
> > > > > 1. mailto:[9][10][11]
> tejaswinipoluri3 at gmail.com
> > > > > 2. mailto:[10][11][12]bmarzins at redhat.com
> > > > > 3. mailto:[11][12][13]dm-devel at redhat.com
> > > > > 4.
> > > [12][13][14]https://www.redhat.com/mailman/listinfo/dm-devel
> > > > > 5. mailto:[13][14][15]dm-devel at redhat.com
> > > > > 6.
> > > [14][15][16]https://www.redhat.com/mailman/listinfo/dm-devel
> > > >
> > > > References
> > > >
> > > > Visible links
> > > > 1. mailto:[16][17]tejaswinipoluri3 at gmail.com
> > > > 2. mailto:[17][18]bmarzins at redhat.com
> > > > 3. mailto:[18][19]tejaswinipoluri3 at gmail.com
> > > > 4. mailto:[19][20]bmarzins at redhat.com
> > > > 5. mailto:[20][21]dm-devel at redhat.com
> > > > 6. [21][22]
> https://www.redhat.com/mailman/listinfo/dm-devel
> > > > 7. mailto:[22][23]dm-devel at redhat.com
> > > > 8. [23][24]
> https://www.redhat.com/mailman/listinfo/dm-devel
> > > > 9. mailto:[24][25]tejaswinipoluri3 at gmail.com
> > > > 10. mailto:[25][26]bmarzins at redhat.com
> > > > 11. mailto:[26][27]dm-devel at redhat.com
> > > > 12. [27][28]
> https://www.redhat.com/mailman/listinfo/dm-devel
> > > > 13. mailto:[28][29]dm-devel at redhat.com
> > > > 14. [29][30]
> https://www.redhat.com/mailman/listinfo/dm-devel
> > >
> > > References
> > >
> > > Visible links
> > > 1. mailto:[31]bmarzins at redhat.com
> > > 2. mailto:[32]tejaswinipoluri3 at gmail.com
> > > 3. mailto:[33]bmarzins at redhat.com
> > > 4. mailto:[34]tejaswinipoluri3 at gmail.com
> > > 5. mailto:[35]bmarzins at redhat.com
> > > 6. mailto:[36]dm-devel at redhat.com
> > > 7. [37]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 8. mailto:[38]dm-devel at redhat.com
> > > 9. [39]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 10. mailto:[40]tejaswinipoluri3 at gmail.com
> > > 11. mailto:[41]bmarzins at redhat.com
> > > 12. mailto:[42]dm-devel at redhat.com
> > > 13. [43]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 14. mailto:[44]dm-devel at redhat.com
> > > 15. [45]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 16. mailto:[46]tejaswinipoluri3 at gmail.com
> > > 17. mailto:[47]bmarzins at redhat.com
> > > 18. mailto:[48]tejaswinipoluri3 at gmail.com
> > > 19. mailto:[49]bmarzins at redhat.com
> > > 20. mailto:[50]dm-devel at redhat.com
> > > 21. [51]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 22. mailto:[52]dm-devel at redhat.com
> > > 23. [53]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 24. mailto:[54]tejaswinipoluri3 at gmail.com
> > > 25. mailto:[55]bmarzins at redhat.com
> > > 26. mailto:[56]dm-devel at redhat.com
> > > 27. [57]https://www.redhat.com/mailman/listinfo/dm-devel
> > > 28. mailto:[58]dm-devel at redhat.com
> > > 29. [59]https://www.redhat.com/mailman/listinfo/dm-devel
> >
> > References
> >
> > Visible links
> > 1. mailto:bmarzins at redhat.com
> > 2. mailto:bmarzins at redhat.com
> > 3. mailto:tejaswinipoluri3 at gmail.com
> > 4. mailto:bmarzins at redhat.com
> > 5. mailto:tejaswinipoluri3 at gmail.com
> > 6. mailto:bmarzins at redhat.com
> > 7. mailto:dm-devel at redhat.com
> > 8. https://www.redhat.com/mailman/listinfo/dm-devel
> > 9. mailto:dm-devel at redhat.com
> > 10. https://www.redhat.com/mailman/listinfo/dm-devel
> > 11. mailto:tejaswinipoluri3 at gmail.com
> > 12. mailto:bmarzins at redhat.com
> > 13. mailto:dm-devel at redhat.com
> > 14. https://www.redhat.com/mailman/listinfo/dm-devel
> > 15. mailto:dm-devel at redhat.com
> > 16. https://www.redhat.com/mailman/listinfo/dm-devel
> > 17. mailto:tejaswinipoluri3 at gmail.com
> > 18. mailto:bmarzins at redhat.com
> > 19. mailto:tejaswinipoluri3 at gmail.com
> > 20. mailto:bmarzins at redhat.com
> > 21. mailto:dm-devel at redhat.com
> > 22. https://www.redhat.com/mailman/listinfo/dm-devel
> > 23. mailto:dm-devel at redhat.com
> > 24. https://www.redhat.com/mailman/listinfo/dm-devel
> > 25. mailto:tejaswinipoluri3 at gmail.com
> > 26. mailto:bmarzins at redhat.com
> > 27. mailto:dm-devel at redhat.com
> > 28. https://www.redhat.com/mailman/listinfo/dm-devel
> > 29. mailto:dm-devel at redhat.com
> > 30. https://www.redhat.com/mailman/listinfo/dm-devel
> > 31. mailto:bmarzins at redhat.com
> > 32. mailto:tejaswinipoluri3 at gmail.com
> > 33. mailto:bmarzins at redhat.com
> > 34. mailto:tejaswinipoluri3 at gmail.com
> > 35. mailto:bmarzins at redhat.com
> > 36. mailto:dm-devel at redhat.com
> > 37. https://www.redhat.com/mailman/listinfo/dm-devel
> > 38. mailto:dm-devel at redhat.com
> > 39. https://www.redhat.com/mailman/listinfo/dm-devel
> > 40. mailto:tejaswinipoluri3 at gmail.com
> > 41. mailto:bmarzins at redhat.com
> > 42. mailto:dm-devel at redhat.com
> > 43. https://www.redhat.com/mailman/listinfo/dm-devel
> > 44. mailto:dm-devel at redhat.com
> > 45. https://www.redhat.com/mailman/listinfo/dm-devel
> > 46. mailto:tejaswinipoluri3 at gmail.com
> > 47. mailto:bmarzins at redhat.com
> > 48. mailto:tejaswinipoluri3 at gmail.com
> > 49. mailto:bmarzins at redhat.com
> > 50. mailto:dm-devel at redhat.com
> > 51. https://www.redhat.com/mailman/listinfo/dm-devel
> > 52. mailto:dm-devel at redhat.com
> > 53. https://www.redhat.com/mailman/listinfo/dm-devel
> > 54. mailto:tejaswinipoluri3 at gmail.com
> > 55. mailto:bmarzins at redhat.com
> > 56. mailto:dm-devel at redhat.com
> > 57. https://www.redhat.com/mailman/listinfo/dm-devel
> > 58. mailto:dm-devel at redhat.com
> > 59. https://www.redhat.com/mailman/listinfo/dm-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20150630/735d6ca7/attachment.htm>
More information about the dm-devel
mailing list