From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4044959087164229435==" MIME-Version: 1.0 From: Sreeni (Sreenivasa) Busam (Stellus) Subject: [SPDK] Regarding Error handing in NVMF initiator and target Date: Thu, 22 Mar 2018 18:12:19 +0000 Message-ID: <333874a347d04a2cb7038595a03b269a@stellus.com> In-Reply-To: CGME20180322181219uscas1p15419beb0c967bdfd7acb4f7ef2982665@uscas1p1.samsung.com List-ID: To: spdk@lists.01.org --===============4044959087164229435== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Paul/Ben, I am working on a project where we need to handle all the errors between NV= MF initiator and target. Here is a list of errors that I have, but if you k= now of any other errors, please tell me. We can assume there are 2 paths to= the target. 1. Transport errors. I plan to handle by sending the failed I/O request to = alternate path. These are NVMF RDMA errors which happens in the completion = queue for a given namespace. In this test, my question is how do I handle t= he cleanup of connection errors on the target? In the initiator, I have the= namespace information and clean it up and send the I/O request on alternat= e path. I try to discover the failed path by starting poller thread and add= it to a set of active paths when the connection is up and working. 2. I/O request timeout. I plan to start a poller thread and periodically ch= eck if any I/O requests are pending for more than the timeout period and re= move the requests from task queue which has all the requests. 3. Target error. If there are any connection error which is seen in target,= is there a way to send control messages to the initiator, so that no more = requests are sent on the failed path. 4. Link error. I am investigating on it and want to know if there a way to = poll the mellanox driver and detect link error? 5. I heard of admin queue for using to send control messages between initia= tor and target, please let me know how I can use the admin queue to send an= y control commands to target. If you have any ideas and suggestions regarding the error handling and reco= very for the questions, please let me know. Thank you very much for your help, Sreeni --===============4044959087164229435== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPgo8c3R5bGU+ PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2Ft YnJpYSBNYXRoIjsKCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQpAZm9udC1mYWNlCgl7 Zm9udC1mYW1pbHk6Ik1hbGd1biBHb3RoaWMiOwoJcGFub3NlLTE6MiAxMSA1IDMgMiAwIDAgMiAw IDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUgNSAy IDIgMiA0IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OiJcQE1hbGd1biBHb3RoaWMi OwoJcGFub3NlLTE6MiAxMSA1IDMgMiAwIDAgMiAwIDQ7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAq LwpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBpbjsK CW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZjt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5 bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjojMDU2M0MxOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGlu ZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlv cml0eTo5OTsKCWNvbG9yOiM5NTRGNzI7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30Kc3Bh bi5FbWFpbFN0eWxlMTcKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1jb21wb3NlOwoJZm9udC1m YW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjp3aW5kb3d0ZXh0O30KLk1zb0NocERl ZmF1bHQKCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKCWZvbnQtZmFtaWx5OiJDYWxpYnJp IixzYW5zLXNlcmlmO30KQHBhZ2UgV29yZFNlY3Rpb24xCgl7c2l6ZTo4LjVpbiAxMS4waW47Cglt YXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQpkaXYuV29yZFNlY3Rpb24xCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8bzpzaGFw ZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPgo8L3htbD48IVtlbmRpZl0t LT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPgo8 bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwh W2VuZGlmXS0tPgo8L2hlYWQ+Cjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSIjMDU2M0MxIiB2bGlu az0iIzk1NEY3MiI+CjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPkhpIFBhdWwvQmVuLDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw PiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBhbSB3b3JraW5nIG9uIGEg cHJvamVjdCB3aGVyZSB3ZSBuZWVkIHRvIGhhbmRsZSBhbGwgdGhlIGVycm9ycyBiZXR3ZWVuIE5W TUYgaW5pdGlhdG9yIGFuZCB0YXJnZXQuIEhlcmUgaXMgYSBsaXN0IG9mIGVycm9ycyB0aGF0IEkg aGF2ZSwgYnV0IGlmIHlvdSBrbm93IG9mIGFueSBvdGhlciBlcnJvcnMsIHBsZWFzZSB0ZWxsIG1l LiBXZSBjYW4gYXNzdW1lIHRoZXJlIGFyZSAyIHBhdGhzIHRvIHRoZSB0YXJnZXQuPG86cD48L286 cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjEuIFRyYW5zcG9ydCBlcnJvcnMuIEkgcGxhbiB0 byBoYW5kbGUgYnkgc2VuZGluZyB0aGUgZmFpbGVkIEkvTyByZXF1ZXN0IHRvIGFsdGVybmF0ZSBw YXRoLiBUaGVzZSBhcmUgTlZNRiBSRE1BIGVycm9ycyB3aGljaCBoYXBwZW5zIGluIHRoZSBjb21w bGV0aW9uIHF1ZXVlIGZvciBhIGdpdmVuIG5hbWVzcGFjZS4gSW4gdGhpcyB0ZXN0LCBteSBxdWVz dGlvbiBpcyBob3cgZG8gSSBoYW5kbGUgdGhlIGNsZWFudXAKIG9mIGNvbm5lY3Rpb24gZXJyb3Jz IG9uIHRoZSB0YXJnZXQ/IEluIHRoZSBpbml0aWF0b3IsIEkgaGF2ZSB0aGUgbmFtZXNwYWNlIGlu Zm9ybWF0aW9uIGFuZCBjbGVhbiBpdCB1cCBhbmQgc2VuZCB0aGUgSS9PIHJlcXVlc3Qgb24gYWx0 ZXJuYXRlIHBhdGguIEkgdHJ5IHRvIGRpc2NvdmVyIHRoZSBmYWlsZWQgcGF0aCBieSBzdGFydGlu ZyBwb2xsZXIgdGhyZWFkIGFuZCBhZGQgaXQgdG8gYSBzZXQgb2YgYWN0aXZlIHBhdGhzIHdoZW4g dGhlIGNvbm5lY3Rpb24KIGlzIHVwIGFuZCB3b3JraW5nLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj4yLiBJL08gcmVxdWVzdCB0aW1lb3V0LiBJIHBsYW4gdG8gc3RhcnQgYSBw b2xsZXIgdGhyZWFkIGFuZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgYW55IEkvTyByZXF1ZXN0cyBh cmUgcGVuZGluZyBmb3IgbW9yZSB0aGFuIHRoZSB0aW1lb3V0IHBlcmlvZCBhbmQgcmVtb3ZlIHRo ZSByZXF1ZXN0cyBmcm9tIHRhc2sgcXVldWUgd2hpY2ggaGFzIGFsbCB0aGUgcmVxdWVzdHMuPG86 cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjMuIFRhcmdldCBlcnJvci4gSWYgdGhl cmUgYXJlIGFueSBjb25uZWN0aW9uIGVycm9yIHdoaWNoIGlzIHNlZW4gaW4gdGFyZ2V0LCBpcyB0 aGVyZSBhIHdheSB0byBzZW5kIGNvbnRyb2wgbWVzc2FnZXMgdG8gdGhlIGluaXRpYXRvciwgc28g dGhhdCBubyBtb3JlIHJlcXVlc3RzIGFyZSBzZW50IG9uIHRoZSBmYWlsZWQgcGF0aC48bzpwPjwv bzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+NC4gTGluayBlcnJvci4gSSBhbSBpbnZlc3Rp Z2F0aW5nIG9uIGl0IGFuZCB3YW50IHRvIGtub3cgaWYgdGhlcmUgYSB3YXkgdG8gcG9sbCB0aGUg bWVsbGFub3ggZHJpdmVyIGFuZCBkZXRlY3QgbGluayBlcnJvcj88bzpwPjwvbzpwPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+NS4gSSBoZWFyZCBvZiBhZG1pbiBxdWV1ZSBmb3IgdXNpbmcgdG8g c2VuZCBjb250cm9sIG1lc3NhZ2VzIGJldHdlZW4gaW5pdGlhdG9yIGFuZCB0YXJnZXQsIHBsZWFz ZSBsZXQgbWUga25vdyBob3cgSSBjYW4gdXNlIHRoZSBhZG1pbiBxdWV1ZSB0byBzZW5kIGFueSBj b250cm9sIGNvbW1hbmRzIHRvIHRhcmdldC4KPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JZiB5b3Ug aGF2ZSBhbnkgaWRlYXMgYW5kIHN1Z2dlc3Rpb25zIHJlZ2FyZGluZyB0aGUgZXJyb3IgaGFuZGxp bmcgYW5kIHJlY292ZXJ5IGZvciB0aGUgcXVlc3Rpb25zLCBwbGVhc2UgbGV0IG1lIGtub3cuPG86 cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIGhlbHAsPG86 cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlNyZWVuaTxvOnA+PC9vOnA+PC9wPgo8 L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+CgoKCgo= --===============4044959087164229435==--