)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"600f27e65cc99c35b90ec115c026832e05e372a5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Cyborg SPDK driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In a general, cyborg, as the hardware (like FPGA) and software"},{"line_number":10,"context_line":"(like DPDK, SPDK) acceleration framework, can help backend to"},{"line_number":11,"context_line":"improve performance. And SPDK driver can help cyborg to manage"},{"line_number":12,"context_line":"SPDK accelerator through calling the py-spdk[0]."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f515b1d_438fd522","line":9,"range":{"start_line":9,"start_character":14,"end_line":9,"end_character":20},"updated":"2017-10-06 15:39:06.000000000","message":"Cyborg","commit_id":"4b5135206c6b81d2ffebe5c6efe8cbb0efc9d4e5"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"600f27e65cc99c35b90ec115c026832e05e372a5","unresolved":false,"context_lines":[{"line_number":11,"context_line":"improve performance. And SPDK driver can help cyborg to manage"},{"line_number":12,"context_line":"SPDK accelerator through calling the py-spdk[0]."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Based upon the above reasoning, this patch accomplish two things:"},{"line_number":15,"context_line":"(1) When cinder uses ceph as its backend, the Cyborg SPDK driver"},{"line_number":16,"context_line":"can discover, list the SPDK accelerated backend."},{"line_number":17,"context_line":"(2) When cinder directly uses SPDK blobstore as its backend, the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f515b1d_83acad8c","line":14,"range":{"start_line":14,"start_character":43,"end_line":14,"end_character":53},"updated":"2017-10-06 15:39:06.000000000","message":"will accomplish","commit_id":"4b5135206c6b81d2ffebe5c6efe8cbb0efc9d4e5"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"600f27e65cc99c35b90ec115c026832e05e372a5","unresolved":false,"context_lines":[{"line_number":12,"context_line":"SPDK accelerator through calling the py-spdk[0]."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Based upon the above reasoning, this patch accomplish two things:"},{"line_number":15,"context_line":"(1) When cinder uses ceph as its backend, the Cyborg SPDK driver"},{"line_number":16,"context_line":"can discover, list the SPDK accelerated backend."},{"line_number":17,"context_line":"(2) When cinder directly uses SPDK blobstore as its backend, the"},{"line_number":18,"context_line":"Cyborg SPDK driver can discover, list, attach, detach and update"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f515b1d_e3b481d3","line":15,"range":{"start_line":15,"start_character":21,"end_line":15,"end_character":25},"updated":"2017-10-06 15:39:06.000000000","message":"Ceph","commit_id":"4b5135206c6b81d2ffebe5c6efe8cbb0efc9d4e5"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"600f27e65cc99c35b90ec115c026832e05e372a5","unresolved":false,"context_lines":[{"line_number":12,"context_line":"SPDK accelerator through calling the py-spdk[0]."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Based upon the above reasoning, this patch accomplish two things:"},{"line_number":15,"context_line":"(1) When cinder uses ceph as its backend, the Cyborg SPDK driver"},{"line_number":16,"context_line":"can discover, list the SPDK accelerated backend."},{"line_number":17,"context_line":"(2) When cinder directly uses SPDK blobstore as its backend, the"},{"line_number":18,"context_line":"Cyborg SPDK driver can discover, list, attach, detach and update"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f515b1d_23bbb9c4","line":15,"range":{"start_line":15,"start_character":9,"end_line":15,"end_character":15},"updated":"2017-10-06 15:39:06.000000000","message":"Cinder","commit_id":"4b5135206c6b81d2ffebe5c6efe8cbb0efc9d4e5"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"600f27e65cc99c35b90ec115c026832e05e372a5","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Based upon the above reasoning, this patch accomplish two things:"},{"line_number":15,"context_line":"(1) When cinder uses ceph as its backend, the Cyborg SPDK driver"},{"line_number":16,"context_line":"can discover, list the SPDK accelerated backend."},{"line_number":17,"context_line":"(2) When cinder directly uses SPDK blobstore as its backend, the"},{"line_number":18,"context_line":"Cyborg SPDK driver can discover, list, attach, detach and update"},{"line_number":19,"context_line":"the SPDK accelerated backend."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f515b1d_c3cbc550","line":16,"range":{"start_line":16,"start_character":28,"end_line":16,"end_character":39},"updated":"2017-10-06 15:39:06.000000000","message":"accelerator","commit_id":"4b5135206c6b81d2ffebe5c6efe8cbb0efc9d4e5"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"600f27e65cc99c35b90ec115c026832e05e372a5","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Based upon the above reasoning, this patch accomplish two things:"},{"line_number":15,"context_line":"(1) When cinder uses ceph as its backend, the Cyborg SPDK driver"},{"line_number":16,"context_line":"can discover, list the SPDK accelerated backend."},{"line_number":17,"context_line":"(2) When cinder directly uses SPDK blobstore as its backend, the"},{"line_number":18,"context_line":"Cyborg SPDK driver can discover, list, attach, detach and update"},{"line_number":19,"context_line":"the SPDK accelerated backend."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f515b1d_83c5cd3e","line":17,"range":{"start_line":17,"start_character":9,"end_line":17,"end_character":15},"updated":"2017-10-06 15:39:06.000000000","message":"Cinder","commit_id":"4b5135206c6b81d2ffebe5c6efe8cbb0efc9d4e5"}],"specs/queens/cyborg-spdk-driver-proposal.rst":[{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Cyborg, as the hardware (like FPGA) and software (like DPDK, SPDK)"},{"line_number":19,"context_line":"acceleration framework, can help backend to boost speed. SPDK as a"},{"line_number":20,"context_line":"high performance kit provides a user space, polled-mode, asynchronous,"},{"line_number":21,"context_line":"lockless NVMe driver for storage accelerating in the backend. So our goal"},{"line_number":22,"context_line":"is to add a SPDK driver for cyborg to manage SPDK accelerator, and further"},{"line_number":23,"context_line":"improve storage performance."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_23f52084","line":21,"range":{"start_line":21,"start_character":33,"end_line":21,"end_character":48},"updated":"2017-09-25 15:42:11.000000000","message":"acceleration on","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":19,"context_line":"acceleration framework, can help backend to boost speed. SPDK as a"},{"line_number":20,"context_line":"high performance kit provides a user space, polled-mode, asynchronous,"},{"line_number":21,"context_line":"lockless NVMe driver for storage accelerating in the backend. So our goal"},{"line_number":22,"context_line":"is to add a SPDK driver for cyborg to manage SPDK accelerator, and further"},{"line_number":23,"context_line":"improve storage performance."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c32bece8","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":34},"updated":"2017-09-25 15:42:11.000000000","message":"Cyborg","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":19,"context_line":"acceleration framework, can help backend to boost speed. SPDK as a"},{"line_number":20,"context_line":"high performance kit provides a user space, polled-mode, asynchronous,"},{"line_number":21,"context_line":"lockless NVMe driver for storage accelerating in the backend. So our goal"},{"line_number":22,"context_line":"is to add a SPDK driver for cyborg to manage SPDK accelerator, and further"},{"line_number":23,"context_line":"improve storage performance."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_6338b83c","line":22,"range":{"start_line":22,"start_character":50,"end_line":22,"end_character":61},"updated":"2017-09-25 15:42:11.000000000","message":"acceleration","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* When cinder uses ceph as its backend, we should be able to use the Cyborg"},{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_a317d0a3","line":28,"range":{"start_line":28,"start_character":19,"end_line":28,"end_character":23},"updated":"2017-09-25 15:42:11.000000000","message":"Ceph","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* When cinder uses ceph as its backend, we should be able to use the Cyborg"},{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_034904cf","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":13},"updated":"2017-09-25 15:42:11.000000000","message":"Cinder","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* When cinder uses ceph as its backend, we should be able to use the Cyborg"},{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."},{"line_number":32,"context_line":"Last but note least we should be able to update the latest and available"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_43281ce1","line":29,"range":{"start_line":29,"start_character":33,"end_line":29,"end_character":44},"updated":"2017-09-25 15:42:11.000000000","message":"accelerator","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* When cinder uses ceph as its backend, we should be able to use the Cyborg"},{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."},{"line_number":32,"context_line":"Last but note least we should be able to update the latest and available"},{"line_number":33,"context_line":"SPDK."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_03222401","line":30,"range":{"start_line":30,"start_character":15,"end_line":30,"end_character":18},"updated":"2017-09-25 15:42:11.000000000","message":"that have","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"* When cinder uses ceph as its backend, we should be able to use the Cyborg"},{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."},{"line_number":32,"context_line":"Last but note least we should be able to update the latest and available"},{"line_number":33,"context_line":"SPDK."},{"line_number":34,"context_line":"* When cinder directly uses SPDK blobstore as its backend, We should be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c362cc3e","line":31,"range":{"start_line":31,"start_character":36,"end_line":31,"end_character":76},"updated":"2017-09-25 15:42:11.000000000","message":"the user can also detach SPDK from the node.","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."},{"line_number":32,"context_line":"Last but note least we should be able to update the latest and available"},{"line_number":33,"context_line":"SPDK."},{"line_number":34,"context_line":"* When cinder directly uses SPDK blobstore as its backend, We should be"},{"line_number":35,"context_line":"able to accomplish the same life cycle management operations for SPDK as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_e34a68aa","line":32,"range":{"start_line":32,"start_character":9,"end_line":32,"end_character":13},"updated":"2017-09-25 15:42:11.000000000","message":"not","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerated backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes who installed the SPDK, and then attach (install) SPDK on"},{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."},{"line_number":32,"context_line":"Last but note least we should be able to update the latest and available"},{"line_number":33,"context_line":"SPDK."},{"line_number":34,"context_line":"* When cinder directly uses SPDK blobstore as its backend, We should be"},{"line_number":35,"context_line":"able to accomplish the same life cycle management operations for SPDK as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_43db7cec","line":32,"range":{"start_line":32,"start_character":20,"end_line":32,"end_character":22},"updated":"2017-09-25 15:42:11.000000000","message":"the user","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"that node. When the task completes, we can also detach (uninstall) the SPDK."},{"line_number":32,"context_line":"Last but note least we should be able to update the latest and available"},{"line_number":33,"context_line":"SPDK."},{"line_number":34,"context_line":"* When cinder directly uses SPDK blobstore as its backend, We should be"},{"line_number":35,"context_line":"able to accomplish the same life cycle management operations for SPDK as"},{"line_number":36,"context_line":"mentioned above."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_83d174d0","line":34,"range":{"start_line":34,"start_character":59,"end_line":34,"end_character":61},"updated":"2017-09-25 15:42:11.000000000","message":"the user","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"In general we want to develop the Cyborg SPDK driver that support"},{"line_number":42,"context_line":"discover/list/update/attach/detach operations for SPDK framework."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"SPDK framework"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_a3c110e7","line":41,"range":{"start_line":41,"start_character":58,"end_line":41,"end_character":65},"updated":"2017-09-25 15:42:11.000000000","message":"supports","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"In general we want to develop the Cyborg SPDK driver that support"},{"line_number":42,"context_line":"discover/list/update/attach/detach operations for SPDK framework."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"SPDK framework"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_c3be4c64","line":41,"range":{"start_line":41,"start_character":11,"end_line":41,"end_character":18},"updated":"2017-09-25 15:42:11.000000000","message":"the goal is","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"SPDK framework"},{"line_number":45,"context_line":"--------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The SPDK framework is consisted of following components:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"      +-----------userspace--------+  +--------------+"},{"line_number":50,"context_line":"      | +------+ +------+ +------+ | | +-----------+ |"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_23ad2031","line":47,"range":{"start_line":47,"start_character":19,"end_line":47,"end_character":31},"updated":"2017-09-25 15:42:11.000000000","message":"comprises","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"SPDK framework"},{"line_number":45,"context_line":"--------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The SPDK framework is consisted of following components:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"      +-----------userspace--------+  +--------------+"},{"line_number":50,"context_line":"      | +------+ +------+ +------+ | | +-----------+ |"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_03ac6432","line":47,"range":{"start_line":47,"start_character":35,"end_line":47,"end_character":44},"updated":"2017-09-25 15:42:11.000000000","message":"the following","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":150,"context_line":"Performance Impact"},{"line_number":151,"context_line":"------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Accelerate for storage."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Other deployer impact"},{"line_number":156,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_63eaf8ac","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":23},"updated":"2017-09-25 15:42:11.000000000","message":"Can you please elaborate on this?","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Developer impact"},{"line_number":161,"context_line":"----------------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Developers will need to make and install SPDK in the backend nodes."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Implementation"},{"line_number":166,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_a3bb50c2","line":163,"updated":"2017-09-25 15:42:11.000000000","message":"Did you mean deployer impact as a deployer will make and install SPDK on the backend?","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":174,"context_line":"Work Items"},{"line_number":175,"context_line":"----------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_2379a02e","line":177,"updated":"2017-09-25 15:42:11.000000000","message":"Please list the work items that need to be done to get this driver implemented.","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":188,"context_line":"Testing"},{"line_number":189,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"* Unit tests will be added to test Cyborg SPDK driver."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Documentation Impact"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_e3eb88d9","line":191,"updated":"2017-09-25 15:42:11.000000000","message":"There must be some functional testing part of the testing framework. Please add a section for that","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"f38c09293271c80c50793522686c68bae0524cb3","unresolved":false,"context_lines":[{"line_number":193,"context_line":"Documentation Impact"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"None"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"References"},{"line_number":199,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_e3994879","line":196,"range":{"start_line":196,"start_character":0,"end_line":196,"end_character":4},"updated":"2017-09-25 15:42:11.000000000","message":"There will be documentation impact as this will require docs being added as to how to support spdk driver","commit_id":"86fbe1eeb2185d91f00e06094d56f38f9ad5124a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"* When Cinder uses Ceph as its backend, we should be able to use the Cyborg"},{"line_number":29,"context_line":"SPDK driver to discover the SPDK accelerator backend, enumerate the list of"},{"line_number":30,"context_line":"the ceph nodes that have installed the SPDK, and then attach (install) SPDK"},{"line_number":31,"context_line":"on that node. When the task completes, the use can also detach the SPDK"},{"line_number":32,"context_line":"from the node."},{"line_number":33,"context_line":"Last but not least the user should be able to update the latest and"},{"line_number":34,"context_line":"available SPDK."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_adcc3a61","line":31,"range":{"start_line":31,"start_character":43,"end_line":31,"end_character":46},"updated":"2017-09-26 15:06:56.000000000","message":"user","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"| Block  |                   |"},{"line_number":83,"context_line":"+--------+-------------------+"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Each blob is allocated a non-contiguous set of pages. These pages forms"},{"line_number":86,"context_line":"a linked list."},{"line_number":87,"context_line":"In general, the blobstore adopts direct operation of bare device and"},{"line_number":88,"context_line":"avoids the filesystem, which improves efficiency."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_c322a552","line":85,"range":{"start_line":85,"start_character":60,"end_line":85,"end_character":71},"updated":"2017-09-26 15:06:56.000000000","message":"pages form","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":100,"context_line":"* After the node where SPDK will be running is attached, we can now send a"},{"line_number":101,"context_line":"request about the information of namespaces, and then create an I/O queue"},{"line_number":102,"context_line":"pair to submit read/write requests to a namespace."},{"line_number":103,"context_line":"* When ceph is used as the backend, as the latest ceph (such as Luminous)"},{"line_number":104,"context_line":"use the bluestore to be the storage engine, bluestore and blobstore are very"},{"line_number":105,"context_line":"similar things. We will not be able to use blobstore to accelerate ceph, but"},{"line_number":106,"context_line":"we can use Ioat and poller to boost speed for storage."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_43d47520","line":103,"range":{"start_line":103,"start_character":50,"end_line":103,"end_character":54},"updated":"2017-09-26 15:06:56.000000000","message":"Ceph","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":100,"context_line":"* After the node where SPDK will be running is attached, we can now send a"},{"line_number":101,"context_line":"request about the information of namespaces, and then create an I/O queue"},{"line_number":102,"context_line":"pair to submit read/write requests to a namespace."},{"line_number":103,"context_line":"* When ceph is used as the backend, as the latest ceph (such as Luminous)"},{"line_number":104,"context_line":"use the bluestore to be the storage engine, bluestore and blobstore are very"},{"line_number":105,"context_line":"similar things. We will not be able to use blobstore to accelerate ceph, but"},{"line_number":106,"context_line":"we can use Ioat and poller to boost speed for storage."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_831cad12","line":103,"range":{"start_line":103,"start_character":7,"end_line":103,"end_character":11},"updated":"2017-09-26 15:06:56.000000000","message":"Ceph","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":101,"context_line":"request about the information of namespaces, and then create an I/O queue"},{"line_number":102,"context_line":"pair to submit read/write requests to a namespace."},{"line_number":103,"context_line":"* When ceph is used as the backend, as the latest ceph (such as Luminous)"},{"line_number":104,"context_line":"use the bluestore to be the storage engine, bluestore and blobstore are very"},{"line_number":105,"context_line":"similar things. We will not be able to use blobstore to accelerate ceph, but"},{"line_number":106,"context_line":"we can use Ioat and poller to boost speed for storage."},{"line_number":107,"context_line":"* When spdk is used as the backend, we should be able to use blobstore to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_63ec11f3","line":104,"range":{"start_line":104,"start_character":44,"end_line":104,"end_character":53},"updated":"2017-09-26 15:06:56.000000000","message":"BlueStore","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":101,"context_line":"request about the information of namespaces, and then create an I/O queue"},{"line_number":102,"context_line":"pair to submit read/write requests to a namespace."},{"line_number":103,"context_line":"* When ceph is used as the backend, as the latest ceph (such as Luminous)"},{"line_number":104,"context_line":"use the bluestore to be the storage engine, bluestore and blobstore are very"},{"line_number":105,"context_line":"similar things. We will not be able to use blobstore to accelerate ceph, but"},{"line_number":106,"context_line":"we can use Ioat and poller to boost speed for storage."},{"line_number":107,"context_line":"* When spdk is used as the backend, we should be able to use blobstore to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_c3e74512","line":104,"range":{"start_line":104,"start_character":0,"end_line":104,"end_character":3},"updated":"2017-09-26 15:06:56.000000000","message":"uses the BlueStore","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"pair to submit read/write requests to a namespace."},{"line_number":103,"context_line":"* When ceph is used as the backend, as the latest ceph (such as Luminous)"},{"line_number":104,"context_line":"use the bluestore to be the storage engine, bluestore and blobstore are very"},{"line_number":105,"context_line":"similar things. We will not be able to use blobstore to accelerate ceph, but"},{"line_number":106,"context_line":"we can use Ioat and poller to boost speed for storage."},{"line_number":107,"context_line":"* When spdk is used as the backend, we should be able to use blobstore to"},{"line_number":108,"context_line":"improve performance."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_e3b921e9","line":105,"range":{"start_line":105,"start_character":67,"end_line":105,"end_character":71},"updated":"2017-09-26 15:06:56.000000000","message":"Ceph","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":104,"context_line":"use the bluestore to be the storage engine, bluestore and blobstore are very"},{"line_number":105,"context_line":"similar things. We will not be able to use blobstore to accelerate ceph, but"},{"line_number":106,"context_line":"we can use Ioat and poller to boost speed for storage."},{"line_number":107,"context_line":"* When spdk is used as the backend, we should be able to use blobstore to"},{"line_number":108,"context_line":"improve performance."},{"line_number":109,"context_line":"* Whenever user requests, we should be able to detach the SPDK device."},{"line_number":110,"context_line":"* Whenever user requests, we should be able to update SPDK to the latest and"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_a3cb2970","line":107,"range":{"start_line":107,"start_character":7,"end_line":107,"end_character":11},"updated":"2017-09-26 15:06:56.000000000","message":"SPDK","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Developer impact"},{"line_number":163,"context_line":"----------------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Developers can call SPDK from the nodes which have installed SPDK"},{"line_number":166,"context_line":"after the driver has been implemented."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Implementation"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_4390f543","line":166,"range":{"start_line":164,"start_character":0,"end_line":166,"end_character":38},"updated":"2017-09-26 15:06:56.000000000","message":"This doesn\u0027t seem like Developer impact. This should be in either Other deployer impact or Other end user impact.","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Work Items"},{"line_number":178,"context_line":"----------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"* Implement with the cyborg-spdk-driver in this spec."},{"line_number":181,"context_line":"* Proposal to SPDK about the py-spdk. The py-spdk is designed as"},{"line_number":182,"context_line":"a SPDK client which provides the python binding."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_e39c815e","line":180,"range":{"start_line":180,"start_character":12,"end_line":180,"end_character":16},"updated":"2017-09-26 15:06:56.000000000","message":"Remove \"with\"","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"----------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"* Implement with the cyborg-spdk-driver in this spec."},{"line_number":181,"context_line":"* Proposal to SPDK about the py-spdk. The py-spdk is designed as"},{"line_number":182,"context_line":"a SPDK client which provides the python binding."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_63d651f4","line":181,"range":{"start_line":181,"start_character":2,"end_line":181,"end_character":36},"updated":"2017-09-26 15:06:56.000000000","message":"Propose SPDK to py-spdk","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Unit tests will be added to test Cyborg SPDK driver."},{"line_number":197,"context_line":"* function tests will be added to test Cyborg SPDK driver."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Documentation Impact"},{"line_number":200,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_e3036172","line":197,"range":{"start_line":197,"start_character":2,"end_line":197,"end_character":10},"updated":"2017-09-26 15:06:56.000000000","message":"Functional","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":199,"context_line":"Documentation Impact"},{"line_number":200,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Document on Cyborg to the SPDK driver"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"References"},{"line_number":205,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_634411b8","line":202,"range":{"start_line":202,"start_character":0,"end_line":202,"end_character":37},"updated":"2017-09-26 15:06:56.000000000","message":"Document SPDK driver in the Cyborg project.","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"345e301c62dd170353c8be74460848726f4d8d0c","unresolved":false,"context_lines":[{"line_number":204,"context_line":"References"},{"line_number":205,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* Other Cyborg Specs"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"History"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_a3232905","line":207,"range":{"start_line":207,"start_character":2,"end_line":207,"end_character":20},"updated":"2017-09-26 15:06:56.000000000","message":"Please elaborate what other specs you mean","commit_id":"2cfd7ffbe3476a3ba8354747d1b03f9568de5452"},{"author":{"_account_id":22306,"name":"Justin Kilpatrick","email":"jkilpatr@redhat.com","username":"jkilpatr"},"change_message_id":"ec54b874c232bb92cc567b63f2ee458b9a9f4a95","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Problem description"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Cyborg, as the hardware (like FPGA) and software (like DPDK, SPDK)"},{"line_number":19,"context_line":"acceleration framework, can help backend to boost speed. SPDK as a"},{"line_number":20,"context_line":"high performance kit provides a user space, polled-mode, asynchronous,"},{"line_number":21,"context_line":"lockless NVMe driver for storage acceleration on the backend. So our"},{"line_number":22,"context_line":"goal is to add a SPDK driver for Cyborg to manage SPDK, and further"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_fa43d811","line":19,"range":{"start_line":18,"start_character":0,"end_line":19,"end_character":56},"updated":"2017-09-27 19:23:29.000000000","message":"Don\u0027t think this is required, no need to describe cyborg in a spec hosted in the cyborg repo","commit_id":"3bc86b6f7b0567ca3ee58afa84104146daf1f19a"},{"author":{"_account_id":22306,"name":"Justin Kilpatrick","email":"jkilpatr@redhat.com","username":"jkilpatr"},"change_message_id":"ec54b874c232bb92cc567b63f2ee458b9a9f4a95","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Cyborg, as the hardware (like FPGA) and software (like DPDK, SPDK)"},{"line_number":19,"context_line":"acceleration framework, can help backend to boost speed. SPDK as a"},{"line_number":20,"context_line":"high performance kit provides a user space, polled-mode, asynchronous,"},{"line_number":21,"context_line":"lockless NVMe driver for storage acceleration on the backend. So our"},{"line_number":22,"context_line":"goal is to add a SPDK driver for Cyborg to manage SPDK, and further"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_da4c9c43","line":19,"range":{"start_line":19,"start_character":61,"end_line":19,"end_character":64},"updated":"2017-09-27 19:23:29.000000000","message":"is","commit_id":"3bc86b6f7b0567ca3ee58afa84104146daf1f19a"},{"author":{"_account_id":22306,"name":"Justin Kilpatrick","email":"jkilpatr@redhat.com","username":"jkilpatr"},"change_message_id":"ec54b874c232bb92cc567b63f2ee458b9a9f4a95","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Cyborg, as the hardware (like FPGA) and software (like DPDK, SPDK)"},{"line_number":19,"context_line":"acceleration framework, can help backend to boost speed. SPDK as a"},{"line_number":20,"context_line":"high performance kit provides a user space, polled-mode, asynchronous,"},{"line_number":21,"context_line":"lockless NVMe driver for storage acceleration on the backend. So our"},{"line_number":22,"context_line":"goal is to add a SPDK driver for Cyborg to manage SPDK, and further"},{"line_number":23,"context_line":"improve storage performance."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_da75bc65","line":21,"range":{"start_line":21,"start_character":62,"end_line":21,"end_character":68},"updated":"2017-09-27 19:23:29.000000000","message":"Our","commit_id":"3bc86b6f7b0567ca3ee58afa84104146daf1f19a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"ea899a166c46dc0daa9e9d684939565491dbd80b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"enumerate the list of the Ceph nodes that have installed the SPDK."},{"line_number":29,"context_line":"* When Cinder directly uses SPDK\u0027s BlobStore as its backend, the user"},{"line_number":30,"context_line":"should be able to accomplish the same life cycle management operations"},{"line_number":31,"context_line":"for SPDK as mentioned above. And then attach (install) SPDK on that node."},{"line_number":32,"context_line":"When the task completes, the user can also detach the SPDKfrom the node."},{"line_number":33,"context_line":"Last but not least the user should be able to update the latest and"},{"line_number":34,"context_line":"available SPDK."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7f515b1d_8f790fc9","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":73},"updated":"2017-09-29 18:02:39.000000000","message":"This reads funny. Please include this sentence as part of the previous sentence.","commit_id":"bde56013746f614c2a79505f1e8276dec9b57446"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"ea899a166c46dc0daa9e9d684939565491dbd80b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* When Cinder directly uses SPDK\u0027s BlobStore as its backend, the user"},{"line_number":30,"context_line":"should be able to accomplish the same life cycle management operations"},{"line_number":31,"context_line":"for SPDK as mentioned above. And then attach (install) SPDK on that node."},{"line_number":32,"context_line":"When the task completes, the user can also detach the SPDKfrom the node."},{"line_number":33,"context_line":"Last but not least the user should be able to update the latest and"},{"line_number":34,"context_line":"available SPDK."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7f515b1d_6f5db345","line":32,"range":{"start_line":32,"start_character":54,"end_line":32,"end_character":62},"updated":"2017-09-29 18:02:39.000000000","message":"s/SPDKfrom/SPDK from","commit_id":"bde56013746f614c2a79505f1e8276dec9b57446"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"ea899a166c46dc0daa9e9d684939565491dbd80b","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Each blob is allocated a non-contiguous set of pages. These pages form"},{"line_number":83,"context_line":"a linked list."},{"line_number":84,"context_line":"In general, the BlobStore adopts direct operation of bare device and"},{"line_number":85,"context_line":"avoids the filesystem, which improves efficiency."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Life Cycle Management Phases"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7f515b1d_6f2253bb","line":84,"range":{"start_line":84,"start_character":53,"end_line":84,"end_character":64},"updated":"2017-09-29 18:02:39.000000000","message":"Do you mean baremetal device?","commit_id":"bde56013746f614c2a79505f1e8276dec9b57446"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"ea899a166c46dc0daa9e9d684939565491dbd80b","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Life Cycle Management Phases"},{"line_number":88,"context_line":"----------------------------"},{"line_number":89,"context_line":"* We should be able to add a judgment whether the backend node has SPDK kit"},{"line_number":90,"context_line":"in generic driver module. If true, initialize the DPDK environment (such as"},{"line_number":91,"context_line":"hugepage)."},{"line_number":92,"context_line":"* Import the generic driver module, and then we should be able to"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7f515b1d_0f1d1f73","line":89,"range":{"start_line":89,"start_character":29,"end_line":89,"end_character":37},"updated":"2017-09-29 18:02:39.000000000","message":"judgement","commit_id":"bde56013746f614c2a79505f1e8276dec9b57446"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"ea899a166c46dc0daa9e9d684939565491dbd80b","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Other deployer impact"},{"line_number":155,"context_line":"---------------------"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Developers can call SPDK from the nodes which have installed SPDK"},{"line_number":158,"context_line":"after the driver has been implemented."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7f515b1d_b22312a7","line":157,"range":{"start_line":157,"start_character":0,"end_line":157,"end_character":10},"updated":"2017-09-29 18:02:39.000000000","message":"Deployers","commit_id":"bde56013746f614c2a79505f1e8276dec9b57446"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"ea899a166c46dc0daa9e9d684939565491dbd80b","unresolved":false,"context_lines":[{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"* Unit tests will be added to test Cyborg SPDK driver."},{"line_number":194,"context_line":"* Functional tests will be added to test Cyborg SPDK driver."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Documentation Impact"},{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7f515b1d_1250a60a","line":194,"range":{"start_line":194,"start_character":1,"end_line":194,"end_character":59},"updated":"2017-09-29 18:02:39.000000000","message":"What kind of functional tests are going to be added? Can you detail that here?","commit_id":"bde56013746f614c2a79505f1e8276dec9b57446"},{"author":{"_account_id":23068,"name":"Wang Hui","email":"wanghui71@huawei.com","username":"krejwang"},"change_message_id":"41cbb480486739923d254ca38f1025345eabde21","unresolved":false,"context_lines":[{"line_number":58,"context_line":"BlobStore NVMe Device Format"},{"line_number":59,"context_line":"----------------------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"BlobStore owns the entire NVMe device include metadata management"},{"line_number":62,"context_line":"and data management, which defines three basic units of disk space (like"},{"line_number":63,"context_line":"logical block, page, cluster). The NVMe device is divided into clusters"},{"line_number":64,"context_line":"which starts from the first logical block."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f515b1d_226153aa","line":61,"range":{"start_line":61,"start_character":38,"end_line":61,"end_character":45},"updated":"2017-10-09 01:25:08.000000000","message":"could be better if using \"including\"","commit_id":"65e2c495085f83be27e7236d2c8369e78a067fe1"},{"author":{"_account_id":23068,"name":"Wang Hui","email":"wanghui71@huawei.com","username":"krejwang"},"change_message_id":"41cbb480486739923d254ca38f1025345eabde21","unresolved":false,"context_lines":[{"line_number":61,"context_line":"BlobStore owns the entire NVMe device include metadata management"},{"line_number":62,"context_line":"and data management, which defines three basic units of disk space (like"},{"line_number":63,"context_line":"logical block, page, cluster). The NVMe device is divided into clusters"},{"line_number":64,"context_line":"which starts from the first logical block."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"LBA 0                                   LBA N"},{"line_number":67,"context_line":"+-----------+-----------+-----+-----------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f515b1d_e2569bce","line":64,"range":{"start_line":64,"start_character":6,"end_line":64,"end_character":12},"updated":"2017-10-09 01:25:08.000000000","message":"start?","commit_id":"65e2c495085f83be27e7236d2c8369e78a067fe1"}]}
