https://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2017-01-05T14:49:36ZCeph rbd - Bug #17195: There seems to be a thread waiting indefinitely in krbd.cchttps://tracker.ceph.com/issues/17195?journal_id=837672017-01-05T14:49:36ZJason Dillamandillaman@redhat.com
<ul><li><strong>Project</strong> changed from <i>Ceph</i> to <i>rbd</i></li><li><strong>Priority</strong> changed from <i>Normal</i> to <i>Low</i></li></ul> rbd - Bug #17195: There seems to be a thread waiting indefinitely in krbd.cchttps://tracker.ceph.com/issues/17195?journal_id=908432017-05-05T18:41:17ZJason Dillamandillaman@redhat.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Resolved</i></li></ul> rbd - Bug #17195: There seems to be a thread waiting indefinitely in krbd.cchttps://tracker.ceph.com/issues/17195?journal_id=1322152019-03-18T03:19:08ZYang Dongshengdongsheng.yang@easystack.cn
<ul></ul><p>Abhi N wrote:</p>
<blockquote>
<p>We recently encountered this issue where rbd map hangs. From the thread trace we identified this piece of code:<br />if (poll(fds, 1, -1) < 0)<br />return -errno;</p>
<p>in krbd.cc does not have a timeout associated with it. It might be nicer to have some timeout even if it is 2-3 minutes otherwise the call hangs forever.<br />if (poll(fds, 1, 120000) < 0)<br />return -errno;</p>
</blockquote>
<p><a class="external" href="https://github.com/ceph/ceph/pull/14051">https://github.com/ceph/ceph/pull/14051</a><br />This PR tried to fix this bug, but I found it doesn't work well. Because poll return 0 in timeout, rather than negative value.</p>
<p>I send a new PR to fix it:</p>
<p><a class="external" href="https://github.com/ceph/ceph/pull/27025">https://github.com/ceph/ceph/pull/27025</a></p>