<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Hi,<br><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">I have been working around the issue of Node fence in case of a heartbeat failure / Network timeout. I modified o2quo_fence_self() in quorum.c to make all ocfs2 filesystems RO, when tested it worked like a charm, and the filesystems were made RO, but I am not able to umount the filesystem or stop O2CB service.<br>
<br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Is there any way by which I could ask O2CB to abort heartbeat and treat the filesystem as LOCAL instead of GLOBAL? <br><br></div>
<div class="gmail_default" style="font-family:courier new,monospace;font-size:small">The following is the code change that I made.<br><br>**************************************************<br>static void make_fs_RO(struct super_block *sb, void *arg)<br>
{<br>    struct ocfs2_super *osb = OCFS2_SB(sb);<br><br>    sb-&gt;s_flags |= MS_RDONLY;<br>    ocfs2_set_osb_flag(osb, OCFS2_OSB_ERROR_FS);<br>    ocfs2_set_ro_flag(osb, *(int *)arg);<br>}<br><br>/* this is horribly heavy-handed.  It should instead flip the file<br>
 * system RO and call some userspace script. */<br>static void o2quo_fence_self(void)<br>{<br><br><b>...</b><br><br>        case O2NM_FENCE_RESET:<br>                printk(KERN_ERR &quot;*** Hard failure in O2CB, all ocfs2 &quot;<br>
                       &quot;filesystems made RO ***\n&quot;);<br><br>                /* Iterate through all ocfs2 super blocks and make each of <br>                   them RO */<br>                fs_type = get_fs_type(&quot;ocfs2&quot;);<br>
                if (fs_type)<br>                        iterate_supers_type(fs_type, make_fs_RO, &amp;hard_reset);<br><br>                break;<br><b>...</b><br><br>}<br>***************************************************************<br>
<br><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">The error from kern.log:<br><br>=======================================<br>May 31 16:08:18 localhost kernel: [ 5434.076126] (kworker/u:2,577,3):dlm_send_remote_convert_request:395 ERROR: Error -107 when sending message 504 (key 0xcfe4a084) to node 0<br>
May 31 16:08:18 localhost kernel: [ 5434.076178] o2dlm: Waiting on the death of node 0 in domain A4E98618A3744717A65AF04E943D035A<br>=======================================<br><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">
Any pointers would be much appreciated.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Thanks,<br><br>Vineeth<br></div></div>