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

RPC size compatibility code

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • Lustre 2.8.0
    • None
    • 3
    • 16692

    Description

      From Lustre code comments:

      For interoperability with 1.8 and 2.0 clients/servers. The RPC verification code allows larger RPC buffers, but not smaller buffers. Until we no longer need to keep compatibility with older servers/clients we can only check that the buffer size is at least as large as obd_connect_data_v1. That is not in itself harmful, since the chance of just corrupting this field is low. See JIRA LU-16 for details.

      In Lustre 2.8, tag 2.7.53 and above, this RPC size compatibility is no longer maintained. If we want to maintain the RPC size compatibility, the following code should be modified else it should be removed:

      In file lustre/ptlrpc/layout.c, the definition of the RMF_CONNECT_DATA struct contains:

      #if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 7, 53, 0)
      		    sizeof(struct obd_connect_data),
      #else
      /* For interoperability with 1.8 and 2.0 clients/servers.
      * The RPC verification code allows larger RPC buffers, but not
      * smaller buffers.  Until we no longer need to keep compatibility
      * with older servers/clients we can only check that the buffer
      * size is at least as large as obd_connect_data_v1.  That is not
      * not in itself harmful, since the chance of just corrupting this
      * field is low.  See JIRA LU-16 for details. */
      		    sizeof(struct obd_connect_data_v1),
      #endif
      

      Attachments

        Issue Links

          Activity

            People

              utopiabound Nathaniel Clark
              jamesanunez James Nunez (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: