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

Drop llog_cookie usage from RPC on wire data

Details

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

    Description

      Originally, obdo::o_lcookie is for destroy with unlink cookie from MDS, it is obsolete in 2.8. And then, it is reused by the OSP to save on memory allocations as following comment:

              /*
               * this is a trick: to save on memory allocations we put cookie
               * into the request, but don't set corresponded flag in o_valid
               * so that OST doesn't interpret this cookie. once the request
               * is committed on OST we take cookie from the request and cancel
               */
      

      Currently, we needs more fields in the obdo structure to transfer more information from client to OST. The obdo::o_lcookie is good candidate. So we need adjust OSP logic to NOT use such field for non-onwire RPC data usage.

      Attachments

        Activity

          [LU-8050] Drop llog_cookie usage from RPC on wire data
          yong.fan nasf (Inactive) made changes -
          Fix Version/s New: Lustre 2.10.0 [ 12204 ]
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
          yong.fan nasf (Inactive) made changes -
          Description Original: Originally, obdo::o_lcookie is for destroy with unlink cookie from MDS, it is obsolete in 2.8. And then, it is reused by the OSP to save on memory allocations as following comment:
          {noformat}
                  /*
                   * this is a trick: to save on memory allocations we put cookie
                   * into the request, but don't set corresponded flag in o_valid
                   * so that OST doesn't interpret this cookie. once the request
                   * is committed on OST we take cookie from the request and cancel
                   */
          {noformat}

          Current, we needs more fields in the obdo structure to transfer more information from client to OST. The obdo::o_lcookie is good candidate. So we need adjust OSP logic to NOT use such field for non-onwire RPC data usage.
          New: Originally, obdo::o_lcookie is for destroy with unlink cookie from MDS, it is obsolete in 2.8. And then, it is reused by the OSP to save on memory allocations as following comment:
          {noformat}
                  /*
                   * this is a trick: to save on memory allocations we put cookie
                   * into the request, but don't set corresponded flag in o_valid
                   * so that OST doesn't interpret this cookie. once the request
                   * is committed on OST we take cookie from the request and cancel
                   */
          {noformat}

          Currently, we needs more fields in the obdo structure to transfer more information from client to OST. The obdo::o_lcookie is good candidate. So we need adjust OSP logic to NOT use such field for non-onwire RPC data usage.
          yong.fan nasf (Inactive) made changes -
          Description Original: Originally, abide::o_lcookie is for destroy with unlink cookie from MDS, it is obsolete in 2.8. And then, it is reused by the OSP to save on memory allocations as following comment:
          {noformat}
                  /*
                   * this is a trick: to save on memory allocations we put cookie
                   * into the request, but don't set corresponded flag in o_valid
                   * so that OST doesn't interpret this cookie. once the request
                   * is committed on OST we take cookie from the request and cancel
                   */
          {noformat}

          Current, we needs more fields in the obdo structure to transfer more information from client to OST. The obdo::o_lcookie is good candidate. So we need adjust OSP logic to NOT use such field for non-onwire RPC data usage.
          New: Originally, obdo::o_lcookie is for destroy with unlink cookie from MDS, it is obsolete in 2.8. And then, it is reused by the OSP to save on memory allocations as following comment:
          {noformat}
                  /*
                   * this is a trick: to save on memory allocations we put cookie
                   * into the request, but don't set corresponded flag in o_valid
                   * so that OST doesn't interpret this cookie. once the request
                   * is committed on OST we take cookie from the request and cancel
                   */
          {noformat}

          Current, we needs more fields in the obdo structure to transfer more information from client to OST. The obdo::o_lcookie is good candidate. So we need adjust OSP logic to NOT use such field for non-onwire RPC data usage.
          yong.fan nasf (Inactive) made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          yong.fan nasf (Inactive) created issue -

          People

            yong.fan nasf (Inactive)
            yong.fan nasf (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: