Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-8829

'default' Secure RPC rule display issue

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.9.0
    • Lustre 2.9.0
    • None
    • 3
    • 9223372036854775807

    Description

      Adding a default secure RPC rule followed by a rule for a specific network changes how the initial default rule is displayed when viewed with 'lctl get_param mgs.*.live.testfs'

      ==
      mgs# lctl conf_param testfs.srpc.flavor.default=skpi
      mgs# lctl get_param mgs.*.live.testfs
      ...
      Secure RPC Config Rules:
      testfs.srpc.flavor.default=skpi

      mgs# lctl conf_param testfs.srpc.flavor.tcp=ska
      mgs# lctl get_param mgs.*.live.testfs
      ...
      Secure RPC Config Rules:
      testfs.srpc.flavor.tcp=ska
      testfs.srpc.flavor.tcp=skpi
      ==

      Notice how the initial testfs.srpc.flavor.default=skpi rule now appears as testfs.srpc.flavor.tcp=skpi.

      Below is the llog_reader dump of testfs-sptlrpc:
      mgs# llog_reader testfs-sptlrpc
      rec #1 type=10620000 len=224 offset 8192
      rec #2 type=10620000 len=104 offset 8416
      rec #3 type=10620000 len=224 offset 8520
      rec #4 type=10620000 len=224 offset 8744
      rec #5 type=10620000 len=96 offset 8968
      rec #6 type=10620000 len=224 offset 9064
      Header size : 8192
      Time : Fri Nov 11 12:57:59 2016
      Number of records: 6
      Target uuid : config_uuid
      -----------------------
      #01 (224)marker 62 (flags=0x01, v2.8.60.0) testfs 'srpc.flavor.default' Fri Nov 11 12:57:59 2016-
      #02 (104)sptlrpc_conf 0:testfs 1:srpc.flavor.default=skpi
      #03 (224)END marker 62 (flags=0x02, v2.8.60.0) testfs 'srpc.flavor.default' Fri Nov 11 12:57:59 2016-
      #04 (224)marker 63 (flags=0x01, v2.8.60.0) testfs 'srpc.flavor.tcp' Fri Nov 11 13:50:03 2016-
      #05 (096)sptlrpc_conf 0:testfs 1:srpc.flavor.tcp=ska
      #06 (224)END marker 63 (flags=0x02, v2.8.60.0) testfs 'srpc.flavor.tcp' Fri Nov 11 13:50:03 2016-

      Attachments

        Activity

          [LU-8829] 'default' Secure RPC rule display issue
          pjones Peter Jones made changes -
          Fix Version/s New: Lustre 2.9.0 [ 11891 ]
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
          pjones Peter Jones added a comment -

          Landed for 2.9

          pjones Peter Jones added a comment - Landed for 2.9

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/23756/
          Subject: LU-8829 mgs: fix default secure RPC rule display
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 207245382e8b8713f42c013a114aa55d3208b65f

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/23756/ Subject: LU-8829 mgs: fix default secure RPC rule display Project: fs/lustre-release Branch: master Current Patch Set: Commit: 207245382e8b8713f42c013a114aa55d3208b65f
          jhammond John Hammond made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          jhammond John Hammond made changes -
          Assignee Original: WC Triage [ wc-triage ] New: John Hammond [ jhammond ]

          John L. Hammond (john.hammond@intel.com) uploaded a new patch: http://review.whamcloud.com/23756
          Subject: LU-8829 mgs: fix default secure RPC rule display
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: e811fa9733e7127da1d1ae4d2d9babea3b8677c4

          gerrit Gerrit Updater added a comment - John L. Hammond (john.hammond@intel.com) uploaded a new patch: http://review.whamcloud.com/23756 Subject: LU-8829 mgs: fix default secure RPC rule display Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: e811fa9733e7127da1d1ae4d2d9babea3b8677c4
          jhammond John Hammond added a comment -
          ommit 907a321c9b9e2cd5f5ccf488cc516ba05dee0ad8
          Author: Dmitry Eremin <dmitry.eremin@intel.com>
          Date:   Thu Dec 25 15:12:02 2014 +0300
          
              LU-6070 libcfs: provide separate buffers for libcfs_*2str()
              
              Provide duplicates with separate buffers for libcfs_*2str() functions.
              
              Replace libcfs_nid2str() with libcfs_nid2str_r() function in critical
              places.
              
              Provide buffer size for nf_addr2str functions.
              
              Use __u32 as nf_type always
              
              Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
              Change-Id: I7505271954745d1b1e288ef4e09a7f52bd970536
              Reviewed-on: http://review.whamcloud.com/13185
              Tested-by: Jenkins
              Reviewed-by: John L. Hammond <john.hammond@intel.com>
              Tested-by: Maloo <hpdd-maloo@intel.com>
              Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
          
          diff --git a/lustre/mgs/lproc_mgs.c b/lustre/mgs/lproc_mgs.c
          index 8ae52ea..2e4adf4 100644
          --- a/lustre/mgs/lproc_mgs.c
          +++ b/lustre/mgs/lproc_mgs.c
          @@ -90,16 +90,14 @@ static void seq_show_srpc_rules(struct seq_file *seq, const char *tgtname,
                   struct sptlrpc_rule    *r;
                   char                    dirbuf[10];
                   char                    flvrbuf[40];
          -        char                   *net;
          +       char                    net[LNET_NIDSTR_SIZE] = "default";
                   int                     i;
           
                   for (i = 0; i < rset->srs_nrule; i++) {
                           r = &rset->srs_rules[i];
           
          -                if (r->sr_netid == LNET_NIDNET(LNET_NID_ANY))
          -                        net = "default";
          -                else
          -                        net = libcfs_net2str(r->sr_netid);
          +               if (r->sr_netid != LNET_NIDNET(LNET_NID_ANY))
          +                       libcfs_net2str_r(r->sr_netid, net, sizeof(net));
           
                           if (r->sr_from == LUSTRE_SP_ANY && r->sr_to == LUSTRE_SP_ANY)
                                   dirbuf[0] = '\0';
          
          jhammond John Hammond added a comment - ommit 907a321c9b9e2cd5f5ccf488cc516ba05dee0ad8 Author: Dmitry Eremin <dmitry.eremin@intel.com> Date: Thu Dec 25 15:12:02 2014 +0300 LU-6070 libcfs: provide separate buffers for libcfs_*2str() Provide duplicates with separate buffers for libcfs_*2str() functions. Replace libcfs_nid2str() with libcfs_nid2str_r() function in critical places. Provide buffer size for nf_addr2str functions. Use __u32 as nf_type always Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com> Change-Id: I7505271954745d1b1e288ef4e09a7f52bd970536 Reviewed-on: http://review.whamcloud.com/13185 Tested-by: Jenkins Reviewed-by: John L. Hammond <john.hammond@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> diff --git a/lustre/mgs/lproc_mgs.c b/lustre/mgs/lproc_mgs.c index 8ae52ea..2e4adf4 100644 --- a/lustre/mgs/lproc_mgs.c +++ b/lustre/mgs/lproc_mgs.c @@ -90,16 +90,14 @@ static void seq_show_srpc_rules(struct seq_file *seq, const char *tgtname, struct sptlrpc_rule *r; char dirbuf[10]; char flvrbuf[40]; - char *net; + char net[LNET_NIDSTR_SIZE] = "default"; int i; for (i = 0; i < rset->srs_nrule; i++) { r = &rset->srs_rules[i]; - if (r->sr_netid == LNET_NIDNET(LNET_NID_ANY)) - net = "default"; - else - net = libcfs_net2str(r->sr_netid); + if (r->sr_netid != LNET_NIDNET(LNET_NID_ANY)) + libcfs_net2str_r(r->sr_netid, net, sizeof(net)); if (r->sr_from == LUSTRE_SP_ANY && r->sr_to == LUSTRE_SP_ANY) dirbuf[0] = '\0';
          nblavend Nathan Lavender (Inactive) created issue -

          People

            jhammond John Hammond
            nblavend Nathan Lavender (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: