Re: reinstate path not working

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks a lot for the inputs. Sorry for the delay in updating (Got struck with other issues)

Here is the cli_add_map function with the suggested changes and it seems to work fine. Please have a look and suggest your inputs.

int
cli_add_map (void * v, char ** reply, int * len, void * data)
{
        struct vectors * vecs = (struct vectors *)data;
        char * param = get_keyparam(v, MAP);
        int major, minor;
        char dev_path[PATH_SIZE];
        char *alias;
        int rc;
        char *refwwid;
        param = convert_dev(param, 0);
        condlog(2, "%s: add map (operator)", param);

if (filter_wwid(conf->blist_wwid, conf->elist_wwid, param, NULL)>0)       {
                *reply = strdup("blacklisted\n");
                *len = strlen(*reply) + 1;
                condlog(2, "%s: map blacklisted", param);
                return 0;
 }

mapname:
        minor = dm_get_minor(param);
        if (minor < 0) {
                condlog(2, "%s: not a device mapper table", param);
                //return 0;
        }
        major = dm_get_major(param);
        if (major < 0) {
                condlog(2, "%s: not a device mapper table", param);
                //return 0;
        }
        sprintf(dev_path,"dm-%d", minor);
        alias = dm_mapname(major, minor);
        if (!alias) {
                condlog(2, "%s: mapname not found for %d:%d",
                        param, major, minor);
                rc = get_refwwid(param, DEV_DEVMAP, vecs->pathvec, &refwwid);
                if (refwwid) {
                        condlog(2, "%s: add map (operator)", refwwid);
                        if(coalesce_paths(vecs, NULL, refwwid, 0))
                              
  condlog(2, "%s: coalesce-paths failed", param);
                       dm_lib_release();
                }
                goto mapname;

                //return 0;
        }
        rc = ev_add_map(dev_path, alias, vecs);
        FREE(alias);
        FREE(refwwid);
        return rc;
}


Regards,
Tejaswini


On Fri, Jul 10, 2015 at 9:36 PM, Benjamin Marzinski <bmarzins@xxxxxxxxxx> wrote:
On Wed, Jul 08, 2015 at 05:31:26PM +0530, Tejaswini Poluri wrote:
>    Thanks a lot. 
>    Can you guide me how to push upstream for the approval. Which branch
>    should I push to? Any list of testcases I should perform before I could
>    push?

All you do is post it to dm-devel.  I think it's easier for Christophe
to pull the patches in, if you post them directly in the email. "git
format-patch" and "git send-email" make this a lot faster.

Please do whatever testing you feel is appropriate before posting.

About the patches specifically: In cli_add_map(), wouldn't it make more
sense to only do the coalesce_paths() if dm_mapname() fails. If it
succeeds you clearly already have an existing map, so you don't need to
create one.

-Ben

>    I have created the following two patches. PFA 
>    Regards,
>    Tejaswini
>    On Mon, Jul 6, 2015 at 11:15 PM, Benjamin Marzinski
>    <[1]bmarzins@xxxxxxxxxx> wrote:
>
>      On Tue, Jun 30, 2015 at 11:22:37AM +0530, Tejaswini Poluri wrote:
>      >    Thanks Ben. So should I push the code to the upstream and get an
>      approval?
>      >    Regards,
>
>      Yes. Thanks!
>
>      -Ben
>      >    Tejaswini
>      >    On Tue, Jun 30, 2015 at 12:50 AM, Benjamin Marzinski
>      >    <[1][2]bmarzins@xxxxxxxxxx> 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][2][3]bmarzins@xxxxxxxxxx> 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@x86-generic-64:~# multipathd -k'show maps'
>      >      >      >    name    sysfs uuid
>      >      >      >    dmpath0 dm-0  1IET_00010001
>      >      >      >    root@x86-generic-64:~# multipathd -k'remove map
>      dmpath0'
>      >      >      >    ok
>      >      >      >    root@x86-generic-64:~# multipathd -k'show maps'
>      >      >      >    root@x86-generic-64:~# multipathd -k'add map dmpath0'
>      >      >      >    ok
>      >      >      >    root@x86-generic-64:~# multipathd -k'show maps'
>      >      >      >    root@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][3][4]bmarzins@xxxxxxxxxx> 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@x86-generic-64:~# multipathd -k'show
>      maps'
>      >      >      >      >    >    name    sysfs uuid
>      >      >      >      >    >    dmpath0 dm-0  1IET_00010001
>      >      >      >      >    >    root@x86-generic-64:~# multipathd
>      -k'remove map
>      >      >      dmpath0'
>      >      >      >      >    >    ok
>      >      >      >      >    >    root@x86-generic-64:~# multipathd -k'show
>      maps'
>      >      >      >      >    >    root@x86-generic-64:~# multipathd -k'add
>      map
>      >      dmpath0'
>      >      >      >      >    >    ok
>      >      >      >      >    >    root@x86-generic-64:~# multipathd -k'show
>      maps'
>      >      >      >      >    >    root@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][4][5]tejaswinipoluri3@xxxxxxxxx>
>      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][5][6]bmarzins@xxxxxxxxxx> 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@x86-generic-64:~# multipathd
>      -k'show
>      >      maps'
>      >      >      >      >        >    name    sysfs uuid
>      >      >      >      >        >    dmpath0 dm-0  1IET_00010001
>      >      >      >      >        >    root@x86-generic-64:~# multipathd
>      -k'remove
>      >      map
>      >      >      dmpath0'
>      >      >      >      >        >    ok
>      >      >      >      >        >    root@x86-generic-64:~# multipathd
>      -k'show
>      >      maps'
>      >      >      >      >        >    root@x86-generic-64:~# multipathd
>      -k'add map
>      >      >      dmpath0'
>      >      >      >      >        >    ok
>      >      >      >      >        >    root@x86-generic-64:~# multipathd
>      -k'show
>      >      maps'
>      >      >      >      >        >    root@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@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][6][7]tejaswinipoluri3@xxxxxxxxx>
>      >      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][7][8]bmarzins@xxxxxxxxxx>
>      >      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@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][8][9]dm-devel@xxxxxxxxxx
>      >      >      >      >        >        >
>      >      >      >     
>      >     
>      [4][6][7][8][9][10]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >        >
>      >      >      >      >        >        --
>      >      >      >      >        >        dm-devel mailing list
>      >      >      >      >        >       
>      [5][7][8][9][10][11]dm-devel@xxxxxxxxxx
>      >      >      >      >        >       
>      >      >      >     
>      >     
>      [6][8][9][10][11][12]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >        >
>      >      >      >      >        > References
>      >      >      >      >        >
>      >      >      >      >        >    Visible links
>      >      >      >      >        >    1.
>      >      mailto:[9][10][11][12][13]tejaswinipoluri3@xxxxxxxxx
>      >      >      >      >        >    2.
>      >      mailto:[10][11][12][13][14]bmarzins@xxxxxxxxxx
>      >      >      >      >        >    3.
>      >      mailto:[11][12][13][14][15]dm-devel@xxxxxxxxxx
>      >      >      >      >        >    4.
>      >      >      >     
>      >     
>      [12][13][14][15][16]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >        >    5.
>      >      mailto:[13][14][15][16][17]dm-devel@xxxxxxxxxx
>      >      >      >      >        >    6.
>      >      >      >     
>      >     
>      [14][15][16][17][18]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >
>      >      >      >      > References
>      >      >      >      >
>      >      >      >      >    Visible links
>      >      >      >      >    1.
>      mailto:[16][17][18][19]tejaswinipoluri3@xxxxxxxxx
>      >      >      >      >    2. mailto:[17][18][19][20]bmarzins@xxxxxxxxxx
>      >      >      >      >    3.
>      mailto:[18][19][20][21]tejaswinipoluri3@xxxxxxxxx
>      >      >      >      >    4. mailto:[19][20][21][22]bmarzins@xxxxxxxxxx
>      >      >      >      >    5. mailto:[20][21][22][23]dm-devel@xxxxxxxxxx
>      >      >      >      >    6.
>      >      [21][22][23][24]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >    7. mailto:[22][23][24][25]dm-devel@xxxxxxxxxx
>      >      >      >      >    8.
>      >      [23][24][25][26]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >    9.
>      mailto:[24][25][26][27]tejaswinipoluri3@xxxxxxxxx
>      >      >      >      >   10. mailto:[25][26][27][28]bmarzins@xxxxxxxxxx
>      >      >      >      >   11. mailto:[26][27][28][29]dm-devel@xxxxxxxxxx
>      >      >      >      >   12.
>      >      [27][28][29][30]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >      >   13. mailto:[28][29][30][31]dm-devel@xxxxxxxxxx
>      >      >      >      >   14.
>      >      [29][30][31][32]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >
>      >      >      > References
>      >      >      >
>      >      >      >    Visible links
>      >      >      >    1. mailto:[31][32][33]bmarzins@xxxxxxxxxx
>      >      >      >    2. mailto:[32][33][34]tejaswinipoluri3@xxxxxxxxx
>      >      >      >    3. mailto:[33][34][35]bmarzins@xxxxxxxxxx
>      >      >      >    4. mailto:[34][35][36]tejaswinipoluri3@xxxxxxxxx
>      >      >      >    5. mailto:[35][36][37]bmarzins@xxxxxxxxxx
>      >      >      >    6. mailto:[36][37][38]dm-devel@xxxxxxxxxx
>      >      >      >    7.
>      [37][38][39]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >    8. mailto:[38][39][40]dm-devel@xxxxxxxxxx
>      >      >      >    9.
>      [39][40][41]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >   10. mailto:[40][41][42]tejaswinipoluri3@xxxxxxxxx
>      >      >      >   11. mailto:[41][42][43]bmarzins@xxxxxxxxxx
>      >      >      >   12. mailto:[42][43][44]dm-devel@xxxxxxxxxx
>      >      >      >   13.
>      [43][44][45]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >   14. mailto:[44][45][46]dm-devel@xxxxxxxxxx
>      >      >      >   15.
>      [45][46][47]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >   16. mailto:[46][47][48]tejaswinipoluri3@xxxxxxxxx
>      >      >      >   17. mailto:[47][48][49]bmarzins@xxxxxxxxxx
>      >      >      >   18. mailto:[48][49][50]tejaswinipoluri3@xxxxxxxxx
>      >      >      >   19. mailto:[49][50][51]bmarzins@xxxxxxxxxx
>      >      >      >   20. mailto:[50][51][52]dm-devel@xxxxxxxxxx
>      >      >      >   21.
>      [51][52][53]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >   22. mailto:[52][53][54]dm-devel@xxxxxxxxxx
>      >      >      >   23.
>      [53][54][55]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >   24. mailto:[54][55][56]tejaswinipoluri3@xxxxxxxxx
>      >      >      >   25. mailto:[55][56][57]bmarzins@xxxxxxxxxx
>      >      >      >   26. mailto:[56][57][58]dm-devel@xxxxxxxxxx
>      >      >      >   27.
>      [57][58][59]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >      >   28. mailto:[58][59][60]dm-devel@xxxxxxxxxx
>      >      >      >   29.
>      [59][60][61]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >
>      >      > References
>      >      >
>      >      >    Visible links
>      >      >    1. mailto:[61][62]bmarzins@xxxxxxxxxx
>      >      >    2. mailto:[62][63]bmarzins@xxxxxxxxxx
>      >      >    3. mailto:[63][64]tejaswinipoluri3@xxxxxxxxx
>      >      >    4. mailto:[64][65]bmarzins@xxxxxxxxxx
>      >      >    5. mailto:[65][66]tejaswinipoluri3@xxxxxxxxx
>      >      >    6. mailto:[66][67]bmarzins@xxxxxxxxxx
>      >      >    7. mailto:[67][68]dm-devel@xxxxxxxxxx
>      >      >    8. [68][69]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >    9. mailto:[69][70]dm-devel@xxxxxxxxxx
>      >      >   10. [70][71]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   11. mailto:[71][72]tejaswinipoluri3@xxxxxxxxx
>      >      >   12. mailto:[72][73]bmarzins@xxxxxxxxxx
>      >      >   13. mailto:[73][74]dm-devel@xxxxxxxxxx
>      >      >   14. [74][75]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   15. mailto:[75][76]dm-devel@xxxxxxxxxx
>      >      >   16. [76][77]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   17. mailto:[77][78]tejaswinipoluri3@xxxxxxxxx
>      >      >   18. mailto:[78][79]bmarzins@xxxxxxxxxx
>      >      >   19. mailto:[79][80]tejaswinipoluri3@xxxxxxxxx
>      >      >   20. mailto:[80][81]bmarzins@xxxxxxxxxx
>      >      >   21. mailto:[81][82]dm-devel@xxxxxxxxxx
>      >      >   22. [82][83]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   23. mailto:[83][84]dm-devel@xxxxxxxxxx
>      >      >   24. [84][85]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   25. mailto:[85][86]tejaswinipoluri3@xxxxxxxxx
>      >      >   26. mailto:[86][87]bmarzins@xxxxxxxxxx
>      >      >   27. mailto:[87][88]dm-devel@xxxxxxxxxx
>      >      >   28. [88][89]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   29. mailto:[89][90]dm-devel@xxxxxxxxxx
>      >      >   30. [90][91]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   31. mailto:[91][92]bmarzins@xxxxxxxxxx
>      >      >   32. mailto:[92][93]tejaswinipoluri3@xxxxxxxxx
>      >      >   33. mailto:[93][94]bmarzins@xxxxxxxxxx
>      >      >   34. mailto:[94][95]tejaswinipoluri3@xxxxxxxxx
>      >      >   35. mailto:[95][96]bmarzins@xxxxxxxxxx
>      >      >   36. mailto:[96][97]dm-devel@xxxxxxxxxx
>      >      >   37. [97][98]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   38. mailto:[98][99]dm-devel@xxxxxxxxxx
>      >      >   39. [99][100]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   40. mailto:[100][101]tejaswinipoluri3@xxxxxxxxx
>      >      >   41. mailto:[101][102]bmarzins@xxxxxxxxxx
>      >      >   42. mailto:[102][103]dm-devel@xxxxxxxxxx
>      >      >   43.
>      [103][104]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   44. mailto:[104][105]dm-devel@xxxxxxxxxx
>      >      >   45.
>      [105][106]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   46. mailto:[106][107]tejaswinipoluri3@xxxxxxxxx
>      >      >   47. mailto:[107][108]bmarzins@xxxxxxxxxx
>      >      >   48. mailto:[108][109]tejaswinipoluri3@xxxxxxxxx
>      >      >   49. mailto:[109][110]bmarzins@xxxxxxxxxx
>      >      >   50. mailto:[110][111]dm-devel@xxxxxxxxxx
>      >      >   51.
>      [111][112]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   52. mailto:[112][113]dm-devel@xxxxxxxxxx
>      >      >   53.
>      [113][114]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   54. mailto:[114][115]tejaswinipoluri3@xxxxxxxxx
>      >      >   55. mailto:[115][116]bmarzins@xxxxxxxxxx
>      >      >   56. mailto:[116][117]dm-devel@xxxxxxxxxx
>      >      >   57.
>      [117][118]https://www.redhat.com/mailman/listinfo/dm-devel
>      >      >   58. mailto:[118][119]dm-devel@xxxxxxxxxx
>      >      >   59.
>      [119][120]https://www.redhat.com/mailman/listinfo/dm-devel
>      >
>      > References
>      >
>      >    Visible links
>      >    1. mailto:[121]bmarzins@xxxxxxxxxx
>      >    2. mailto:[122]bmarzins@xxxxxxxxxx
>      >    3. mailto:[123]bmarzins@xxxxxxxxxx
>      >    4. mailto:[124]tejaswinipoluri3@xxxxxxxxx
>      >    5. mailto:[125]bmarzins@xxxxxxxxxx
>      >    6. mailto:[126]tejaswinipoluri3@xxxxxxxxx
>      >    7. mailto:[127]bmarzins@xxxxxxxxxx
>      >    8. mailto:[128]dm-devel@xxxxxxxxxx
>      >    9. [129]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   10. mailto:[130]dm-devel@xxxxxxxxxx
>      >   11. [131]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   12. mailto:[132]tejaswinipoluri3@xxxxxxxxx
>      >   13. mailto:[133]bmarzins@xxxxxxxxxx
>      >   14. mailto:[134]dm-devel@xxxxxxxxxx
>      >   15. [135]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   16. mailto:[136]dm-devel@xxxxxxxxxx
>      >   17. [137]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   18. mailto:[138]tejaswinipoluri3@xxxxxxxxx
>      >   19. mailto:[139]bmarzins@xxxxxxxxxx
>      >   20. mailto:[140]tejaswinipoluri3@xxxxxxxxx
>      >   21. mailto:[141]bmarzins@xxxxxxxxxx
>      >   22. mailto:[142]dm-devel@xxxxxxxxxx
>      >   23. [143]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   24. mailto:[144]dm-devel@xxxxxxxxxx
>      >   25. [145]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   26. mailto:[146]tejaswinipoluri3@xxxxxxxxx
>      >   27. mailto:[147]bmarzins@xxxxxxxxxx
>      >   28. mailto:[148]dm-devel@xxxxxxxxxx
>      >   29. [149]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   30. mailto:[150]dm-devel@xxxxxxxxxx
>      >   31. [151]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   32. mailto:[152]bmarzins@xxxxxxxxxx
>      >   33. mailto:[153]tejaswinipoluri3@xxxxxxxxx
>      >   34. mailto:[154]bmarzins@xxxxxxxxxx
>      >   35. mailto:[155]tejaswinipoluri3@xxxxxxxxx
>      >   36. mailto:[156]bmarzins@xxxxxxxxxx
>      >   37. mailto:[157]dm-devel@xxxxxxxxxx
>      >   38. [158]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   39. mailto:[159]dm-devel@xxxxxxxxxx
>      >   40. [160]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   41. mailto:[161]tejaswinipoluri3@xxxxxxxxx
>      >   42. mailto:[162]bmarzins@xxxxxxxxxx
>      >   43. mailto:[163]dm-devel@xxxxxxxxxx
>      >   44. [164]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   45. mailto:[165]dm-devel@xxxxxxxxxx
>      >   46. [166]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   47. mailto:[167]tejaswinipoluri3@xxxxxxxxx
>      >   48. mailto:[168]bmarzins@xxxxxxxxxx
>      >   49. mailto:[169]tejaswinipoluri3@xxxxxxxxx
>      >   50. mailto:[170]bmarzins@xxxxxxxxxx
>      >   51. mailto:[171]dm-devel@xxxxxxxxxx
>      >   52. [172]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   53. mailto:[173]dm-devel@xxxxxxxxxx
>      >   54. [174]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   55. mailto:[175]tejaswinipoluri3@xxxxxxxxx
>      >   56. mailto:[176]bmarzins@xxxxxxxxxx
>      >   57. mailto:[177]dm-devel@xxxxxxxxxx
>      >   58. [178]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   59. mailto:[179]dm-devel@xxxxxxxxxx
>      >   60. [180]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   61. mailto:[181]bmarzins@xxxxxxxxxx
>      >   62. mailto:[182]bmarzins@xxxxxxxxxx
>      >   63. mailto:[183]tejaswinipoluri3@xxxxxxxxx
>      >   64. mailto:[184]bmarzins@xxxxxxxxxx
>      >   65. mailto:[185]tejaswinipoluri3@xxxxxxxxx
>      >   66. mailto:[186]bmarzins@xxxxxxxxxx
>      >   67. mailto:[187]dm-devel@xxxxxxxxxx
>      >   68. [188]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   69. mailto:[189]dm-devel@xxxxxxxxxx
>      >   70. [190]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   71. mailto:[191]tejaswinipoluri3@xxxxxxxxx
>      >   72. mailto:[192]bmarzins@xxxxxxxxxx
>      >   73. mailto:[193]dm-devel@xxxxxxxxxx
>      >   74. [194]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   75. mailto:[195]dm-devel@xxxxxxxxxx
>      >   76. [196]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   77. mailto:[197]tejaswinipoluri3@xxxxxxxxx
>      >   78. mailto:[198]bmarzins@xxxxxxxxxx
>      >   79. mailto:[199]tejaswinipoluri3@xxxxxxxxx
>      >   80. mailto:[200]bmarzins@xxxxxxxxxx
>      >   81. mailto:[201]dm-devel@xxxxxxxxxx
>      >   82. [202]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   83. mailto:[203]dm-devel@xxxxxxxxxx
>      >   84. [204]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   85. mailto:[205]tejaswinipoluri3@xxxxxxxxx
>      >   86. mailto:[206]bmarzins@xxxxxxxxxx
>      >   87. mailto:[207]dm-devel@xxxxxxxxxx
>      >   88. [208]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   89. mailto:[209]dm-devel@xxxxxxxxxx
>      >   90. [210]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   91. mailto:[211]bmarzins@xxxxxxxxxx
>      >   92. mailto:[212]tejaswinipoluri3@xxxxxxxxx
>      >   93. mailto:[213]bmarzins@xxxxxxxxxx
>      >   94. mailto:[214]tejaswinipoluri3@xxxxxxxxx
>      >   95. mailto:[215]bmarzins@xxxxxxxxxx
>      >   96. mailto:[216]dm-devel@xxxxxxxxxx
>      >   97. [217]https://www.redhat.com/mailman/listinfo/dm-devel
>      >   98. mailto:[218]dm-devel@xxxxxxxxxx
>      >   99. [219]https://www.redhat.com/mailman/listinfo/dm-devel
>      >  100. mailto:[220]tejaswinipoluri3@xxxxxxxxx
>      >  101. mailto:[221]bmarzins@xxxxxxxxxx
>      >  102. mailto:[222]dm-devel@xxxxxxxxxx
>      >  103. [223]https://www.redhat.com/mailman/listinfo/dm-devel
>      >  104. mailto:[224]dm-devel@xxxxxxxxxx
>      >  105. [225]https://www.redhat.com/mailman/listinfo/dm-devel
>      >  106. mailto:[226]tejaswinipoluri3@xxxxxxxxx
>      >  107. mailto:[227]bmarzins@xxxxxxxxxx
>      >  108. mailto:[228]tejaswinipoluri3@xxxxxxxxx
>      >  109. mailto:[229]bmarzins@xxxxxxxxxx
>      >  110. mailto:[230]dm-devel@xxxxxxxxxx
>      >  111. [231]https://www.redhat.com/mailman/listinfo/dm-devel
>      >  112. mailto:[232]dm-devel@xxxxxxxxxx
>      >  113. [233]https://www.redhat.com/mailman/listinfo/dm-devel
>      >  114. mailto:[234]tejaswinipoluri3@xxxxxxxxx
>      >  115. mailto:[235]bmarzins@xxxxxxxxxx
>      >  116. mailto:[236]dm-devel@xxxxxxxxxx
>      >  117. [237]https://www.redhat.com/mailman/listinfo/dm-devel
>      >  118. mailto:[238]dm-devel@xxxxxxxxxx
>      >  119. [239]https://www.redhat.com/mailman/listinfo/dm-devel
>
> References
>
>    Visible links
>    1. mailto:bmarzins@xxxxxxxxxx
>    2. mailto:bmarzins@xxxxxxxxxx
>    3. mailto:bmarzins@xxxxxxxxxx
>    4. mailto:bmarzins@xxxxxxxxxx
>    5. mailto:tejaswinipoluri3@xxxxxxxxx
>    6. mailto:bmarzins@xxxxxxxxxx
>    7. mailto:tejaswinipoluri3@xxxxxxxxx
>    8. mailto:bmarzins@xxxxxxxxxx
>    9. mailto:dm-devel@xxxxxxxxxx
>   10. https://www.redhat.com/mailman/listinfo/dm-devel
>   11. mailto:dm-devel@xxxxxxxxxx
>   12. https://www.redhat.com/mailman/listinfo/dm-devel
>   13. mailto:tejaswinipoluri3@xxxxxxxxx
>   14. mailto:bmarzins@xxxxxxxxxx
>   15. mailto:dm-devel@xxxxxxxxxx
>   16. https://www.redhat.com/mailman/listinfo/dm-devel
>   17. mailto:dm-devel@xxxxxxxxxx
>   18. https://www.redhat.com/mailman/listinfo/dm-devel
>   19. mailto:tejaswinipoluri3@xxxxxxxxx
>   20. mailto:bmarzins@xxxxxxxxxx
>   21. mailto:tejaswinipoluri3@xxxxxxxxx
>   22. mailto:bmarzins@xxxxxxxxxx
>   23. mailto:dm-devel@xxxxxxxxxx
>   24. https://www.redhat.com/mailman/listinfo/dm-devel
>   25. mailto:dm-devel@xxxxxxxxxx
>   26. https://www.redhat.com/mailman/listinfo/dm-devel
>   27. mailto:tejaswinipoluri3@xxxxxxxxx
>   28. mailto:bmarzins@xxxxxxxxxx
>   29. mailto:dm-devel@xxxxxxxxxx
>   30. https://www.redhat.com/mailman/listinfo/dm-devel
>   31. mailto:dm-devel@xxxxxxxxxx
>   32. https://www.redhat.com/mailman/listinfo/dm-devel
>   33. mailto:bmarzins@xxxxxxxxxx
>   34. mailto:tejaswinipoluri3@xxxxxxxxx
>   35. mailto:bmarzins@xxxxxxxxxx
>   36. mailto:tejaswinipoluri3@xxxxxxxxx
>   37. mailto:bmarzins@xxxxxxxxxx
>   38. mailto:dm-devel@xxxxxxxxxx
>   39. https://www.redhat.com/mailman/listinfo/dm-devel
>   40. mailto:dm-devel@xxxxxxxxxx
>   41. https://www.redhat.com/mailman/listinfo/dm-devel
>   42. mailto:tejaswinipoluri3@xxxxxxxxx
>   43. mailto:bmarzins@xxxxxxxxxx
>   44. mailto:dm-devel@xxxxxxxxxx
>   45. https://www.redhat.com/mailman/listinfo/dm-devel
>   46. mailto:dm-devel@xxxxxxxxxx
>   47. https://www.redhat.com/mailman/listinfo/dm-devel
>   48. mailto:tejaswinipoluri3@xxxxxxxxx
>   49. mailto:bmarzins@xxxxxxxxxx
>   50. mailto:tejaswinipoluri3@xxxxxxxxx
>   51. mailto:bmarzins@xxxxxxxxxx
>   52. mailto:dm-devel@xxxxxxxxxx
>   53. https://www.redhat.com/mailman/listinfo/dm-devel
>   54. mailto:dm-devel@xxxxxxxxxx
>   55. https://www.redhat.com/mailman/listinfo/dm-devel
>   56. mailto:tejaswinipoluri3@xxxxxxxxx
>   57. mailto:bmarzins@xxxxxxxxxx
>   58. mailto:dm-devel@xxxxxxxxxx
>   59. https://www.redhat.com/mailman/listinfo/dm-devel
>   60. mailto:dm-devel@xxxxxxxxxx
>   61. https://www.redhat.com/mailman/listinfo/dm-devel
>   62. mailto:bmarzins@xxxxxxxxxx
>   63. mailto:bmarzins@xxxxxxxxxx
>   64. mailto:tejaswinipoluri3@xxxxxxxxx
>   65. mailto:bmarzins@xxxxxxxxxx
>   66. mailto:tejaswinipoluri3@xxxxxxxxx
>   67. mailto:bmarzins@xxxxxxxxxx
>   68. mailto:dm-devel@xxxxxxxxxx
>   69. https://www.redhat.com/mailman/listinfo/dm-devel
>   70. mailto:dm-devel@xxxxxxxxxx
>   71. https://www.redhat.com/mailman/listinfo/dm-devel
>   72. mailto:tejaswinipoluri3@xxxxxxxxx
>   73. mailto:bmarzins@xxxxxxxxxx
>   74. mailto:dm-devel@xxxxxxxxxx
>   75. https://www.redhat.com/mailman/listinfo/dm-devel
>   76. mailto:dm-devel@xxxxxxxxxx
>   77. https://www.redhat.com/mailman/listinfo/dm-devel
>   78. mailto:tejaswinipoluri3@xxxxxxxxx
>   79. mailto:bmarzins@xxxxxxxxxx
>   80. mailto:tejaswinipoluri3@xxxxxxxxx
>   81. mailto:bmarzins@xxxxxxxxxx
>   82. mailto:dm-devel@xxxxxxxxxx
>   83. https://www.redhat.com/mailman/listinfo/dm-devel
>   84. mailto:dm-devel@xxxxxxxxxx
>   85. https://www.redhat.com/mailman/listinfo/dm-devel
>   86. mailto:tejaswinipoluri3@xxxxxxxxx
>   87. mailto:bmarzins@xxxxxxxxxx
>   88. mailto:dm-devel@xxxxxxxxxx
>   89. https://www.redhat.com/mailman/listinfo/dm-devel
>   90. mailto:dm-devel@xxxxxxxxxx
>   91. https://www.redhat.com/mailman/listinfo/dm-devel
>   92. mailto:bmarzins@xxxxxxxxxx
>   93. mailto:tejaswinipoluri3@xxxxxxxxx
>   94. mailto:bmarzins@xxxxxxxxxx
>   95. mailto:tejaswinipoluri3@xxxxxxxxx
>   96. mailto:bmarzins@xxxxxxxxxx
>   97. mailto:dm-devel@xxxxxxxxxx
>   98. https://www.redhat.com/mailman/listinfo/dm-devel
>   99. mailto:dm-devel@xxxxxxxxxx
>  100. https://www.redhat.com/mailman/listinfo/dm-devel
>  101. mailto:tejaswinipoluri3@xxxxxxxxx
>  102. mailto:bmarzins@xxxxxxxxxx
>  103. mailto:dm-devel@xxxxxxxxxx
>  104. https://www.redhat.com/mailman/listinfo/dm-devel
>  105. mailto:dm-devel@xxxxxxxxxx
>  106. https://www.redhat.com/mailman/listinfo/dm-devel
>  107. mailto:tejaswinipoluri3@xxxxxxxxx
>  108. mailto:bmarzins@xxxxxxxxxx
>  109. mailto:tejaswinipoluri3@xxxxxxxxx
>  110. mailto:bmarzins@xxxxxxxxxx
>  111. mailto:dm-devel@xxxxxxxxxx
>  112. https://www.redhat.com/mailman/listinfo/dm-devel
>  113. mailto:dm-devel@xxxxxxxxxx
>  114. https://www.redhat.com/mailman/listinfo/dm-devel
>  115. mailto:tejaswinipoluri3@xxxxxxxxx
>  116. mailto:bmarzins@xxxxxxxxxx
>  117. mailto:dm-devel@xxxxxxxxxx
>  118. https://www.redhat.com/mailman/listinfo/dm-devel
>  119. mailto:dm-devel@xxxxxxxxxx
>  120. https://www.redhat.com/mailman/listinfo/dm-devel
>  121. mailto:bmarzins@xxxxxxxxxx
>  122. mailto:bmarzins@xxxxxxxxxx
>  123. mailto:bmarzins@xxxxxxxxxx
>  124. mailto:tejaswinipoluri3@xxxxxxxxx
>  125. mailto:bmarzins@xxxxxxxxxx
>  126. mailto:tejaswinipoluri3@xxxxxxxxx
>  127. mailto:bmarzins@xxxxxxxxxx
>  128. mailto:dm-devel@xxxxxxxxxx
>  129. https://www.redhat.com/mailman/listinfo/dm-devel
>  130. mailto:dm-devel@xxxxxxxxxx
>  131. https://www.redhat.com/mailman/listinfo/dm-devel
>  132. mailto:tejaswinipoluri3@xxxxxxxxx
>  133. mailto:bmarzins@xxxxxxxxxx
>  134. mailto:dm-devel@xxxxxxxxxx
>  135. https://www.redhat.com/mailman/listinfo/dm-devel
>  136. mailto:dm-devel@xxxxxxxxxx
>  137. https://www.redhat.com/mailman/listinfo/dm-devel
>  138. mailto:tejaswinipoluri3@xxxxxxxxx
>  139. mailto:bmarzins@xxxxxxxxxx
>  140. mailto:tejaswinipoluri3@xxxxxxxxx
>  141. mailto:bmarzins@xxxxxxxxxx
>  142. mailto:dm-devel@xxxxxxxxxx
>  143. https://www.redhat.com/mailman/listinfo/dm-devel
>  144. mailto:dm-devel@xxxxxxxxxx
>  145. https://www.redhat.com/mailman/listinfo/dm-devel
>  146. mailto:tejaswinipoluri3@xxxxxxxxx
>  147. mailto:bmarzins@xxxxxxxxxx
>  148. mailto:dm-devel@xxxxxxxxxx
>  149. https://www.redhat.com/mailman/listinfo/dm-devel
>  150. mailto:dm-devel@xxxxxxxxxx
>  151. https://www.redhat.com/mailman/listinfo/dm-devel
>  152. mailto:bmarzins@xxxxxxxxxx
>  153. mailto:tejaswinipoluri3@xxxxxxxxx
>  154. mailto:bmarzins@xxxxxxxxxx
>  155. mailto:tejaswinipoluri3@xxxxxxxxx
>  156. mailto:bmarzins@xxxxxxxxxx
>  157. mailto:dm-devel@xxxxxxxxxx
>  158. https://www.redhat.com/mailman/listinfo/dm-devel
>  159. mailto:dm-devel@xxxxxxxxxx
>  160. https://www.redhat.com/mailman/listinfo/dm-devel
>  161. mailto:tejaswinipoluri3@xxxxxxxxx
>  162. mailto:bmarzins@xxxxxxxxxx
>  163. mailto:dm-devel@xxxxxxxxxx
>  164. https://www.redhat.com/mailman/listinfo/dm-devel
>  165. mailto:dm-devel@xxxxxxxxxx
>  166. https://www.redhat.com/mailman/listinfo/dm-devel
>  167. mailto:tejaswinipoluri3@xxxxxxxxx
>  168. mailto:bmarzins@xxxxxxxxxx
>  169. mailto:tejaswinipoluri3@xxxxxxxxx
>  170. mailto:bmarzins@xxxxxxxxxx
>  171. mailto:dm-devel@xxxxxxxxxx
>  172. https://www.redhat.com/mailman/listinfo/dm-devel
>  173. mailto:dm-devel@xxxxxxxxxx
>  174. https://www.redhat.com/mailman/listinfo/dm-devel
>  175. mailto:tejaswinipoluri3@xxxxxxxxx
>  176. mailto:bmarzins@xxxxxxxxxx
>  177. mailto:dm-devel@xxxxxxxxxx
>  178. https://www.redhat.com/mailman/listinfo/dm-devel
>  179. mailto:dm-devel@xxxxxxxxxx
>  180. https://www.redhat.com/mailman/listinfo/dm-devel
>  181. mailto:bmarzins@xxxxxxxxxx
>  182. mailto:bmarzins@xxxxxxxxxx
>  183. mailto:tejaswinipoluri3@xxxxxxxxx
>  184. mailto:bmarzins@xxxxxxxxxx
>  185. mailto:tejaswinipoluri3@xxxxxxxxx
>  186. mailto:bmarzins@xxxxxxxxxx
>  187. mailto:dm-devel@xxxxxxxxxx
>  188. https://www.redhat.com/mailman/listinfo/dm-devel
>  189. mailto:dm-devel@xxxxxxxxxx
>  190. https://www.redhat.com/mailman/listinfo/dm-devel
>  191. mailto:tejaswinipoluri3@xxxxxxxxx
>  192. mailto:bmarzins@xxxxxxxxxx
>  193. mailto:dm-devel@xxxxxxxxxx
>  194. https://www.redhat.com/mailman/listinfo/dm-devel
>  195. mailto:dm-devel@xxxxxxxxxx
>  196. https://www.redhat.com/mailman/listinfo/dm-devel
>  197. mailto:tejaswinipoluri3@xxxxxxxxx
>  198. mailto:bmarzins@xxxxxxxxxx
>  199. mailto:tejaswinipoluri3@xxxxxxxxx
>  200. mailto:bmarzins@xxxxxxxxxx
>  201. mailto:dm-devel@xxxxxxxxxx
>  202. https://www.redhat.com/mailman/listinfo/dm-devel
>  203. mailto:dm-devel@xxxxxxxxxx
>  204. https://www.redhat.com/mailman/listinfo/dm-devel
>  205. mailto:tejaswinipoluri3@xxxxxxxxx
>  206. mailto:bmarzins@xxxxxxxxxx
>  207. mailto:dm-devel@xxxxxxxxxx
>  208. https://www.redhat.com/mailman/listinfo/dm-devel
>  209. mailto:dm-devel@xxxxxxxxxx
>  210. https://www.redhat.com/mailman/listinfo/dm-devel
>  211. mailto:bmarzins@xxxxxxxxxx
>  212. mailto:tejaswinipoluri3@xxxxxxxxx
>  213. mailto:bmarzins@xxxxxxxxxx
>  214. mailto:tejaswinipoluri3@xxxxxxxxx
>  215. mailto:bmarzins@xxxxxxxxxx
>  216. mailto:dm-devel@xxxxxxxxxx
>  217. https://www.redhat.com/mailman/listinfo/dm-devel
>  218. mailto:dm-devel@xxxxxxxxxx
>  219. https://www.redhat.com/mailman/listinfo/dm-devel
>  220. mailto:tejaswinipoluri3@xxxxxxxxx
>  221. mailto:bmarzins@xxxxxxxxxx
>  222. mailto:dm-devel@xxxxxxxxxx
>  223. https://www.redhat.com/mailman/listinfo/dm-devel
>  224. mailto:dm-devel@xxxxxxxxxx
>  225. https://www.redhat.com/mailman/listinfo/dm-devel
>  226. mailto:tejaswinipoluri3@xxxxxxxxx
>  227. mailto:bmarzins@xxxxxxxxxx
>  228. mailto:tejaswinipoluri3@xxxxxxxxx
>  229. mailto:bmarzins@xxxxxxxxxx
>  230. mailto:dm-devel@xxxxxxxxxx
>  231. https://www.redhat.com/mailman/listinfo/dm-devel
>  232. mailto:dm-devel@xxxxxxxxxx
>  233. https://www.redhat.com/mailman/listinfo/dm-devel
>  234. mailto:tejaswinipoluri3@xxxxxxxxx
>  235. mailto:bmarzins@xxxxxxxxxx
>  236. mailto:dm-devel@xxxxxxxxxx
>  237. https://www.redhat.com/mailman/listinfo/dm-devel
>  238. mailto:dm-devel@xxxxxxxxxx
>  239. https://www.redhat.com/mailman/listinfo/dm-devel

> commit 79ab9090d3fbcdb5844478419135d1390cf548c2
> Author: Tejaswini <tejaswinipoluri3@xxxxxxxxx>
> Date:   Wed Jul 8 15:08:56 2015 +0530
>
>     multipathd: Fixing add map functionality
>
>     Add map feature of multipathd tools fails as the device
>     is also been completely removed along with removing the map
>     in the remove map code. So when add map is called we are
>     creating the device again in kernel and doing add map
>     using the coloasce_paths code.
>
>     Signed-off-by: Tejaswini Poluri <tpoluri@xxxxxxxxxx>
>
> diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c
> index dc96c45..c54c767 100644
> --- a/multipathd/cli_handlers.c
> +++ b/multipathd/cli_handlers.c
> @@ -537,7 +537,7 @@ cli_add_map (void * v, char ** reply, int * len, void * data)
>       char dev_path[PATH_SIZE];
>       char *alias;
>       int rc;
> -
> +     char *refwwid;
>       param = convert_dev(param, 0);
>       condlog(2, "%s: add map (operator)", param);
>
> @@ -547,6 +547,14 @@ cli_add_map (void * v, char ** reply, int * len, void * data)
>               condlog(2, "%s: map blacklisted", param);
>               return 0;
>       }
> +     rc = get_refwwid(param, DEV_DEVMAP, vecs->pathvec, &refwwid);
> +
> +        if (refwwid) {
> +                condlog(2, "%s: add map (operator)", refwwid);
> +                if(coalesce_paths(vecs, NULL, refwwid, 0))
> +                     condlog(2, "%s: coalesce-paths failed", param);
> +                dm_lib_release();
> +        }
>       minor = dm_get_minor(param);
>       if (minor < 0) {
>               condlog(2, "%s: not a device mapper table", param);
> @@ -566,6 +574,7 @@ cli_add_map (void * v, char ** reply, int * len, void * data)
>       }
>       rc = ev_add_map(dev_path, alias, vecs);
>       FREE(alias);
> +     FREE(refwwid);
>       return rc;
>  }
>

> commit 910b4a82ec483b48eaf8b24eb3d7829273c690ed
> Author: Tejaswini <tejaswinipoluri3@xxxxxxxxx>
> Date:   Wed Jul 8 17:18:03 2015 +0530
>
>     multipathd: Disabled code that is not being used.
>
>     This part of the code is moved to cli_add_map and
>     disabled here as it is not used by any function call
>     here.
>
>     Signed-off-by: Tejaswini <tejaswinipoluri3@xxxxxxxxx>
>
> diff --git a/multipathd/main.c b/multipathd/main.c
> index f876258..060237c 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -329,6 +329,8 @@ ev_add_map (char * dev, char * alias, struct vectors * vecs)
>                       return 1;
>               }
>       }
> +#if 0 /*Disabled as the code is not being used by anyone.
> +     TODO:confirm that no feature requires this code*/
>       r = get_refwwid(dev, DEV_DEVMAP, vecs->pathvec, &refwwid);
>
>       if (refwwid) {
> @@ -344,6 +346,7 @@ ev_add_map (char * dev, char * alias, struct vectors * vecs)
>               condlog(0, "%s: uev_add_map %s failed", alias, dev);
>
>       FREE(refwwid);
> +#endif
>       return r;
>  }
>


--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux