<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.16.3">
</HEAD>
<BODY>
Hi Tao,<BR>
<BR>
Thanks for your help.<BR>
Yes, we see them from nfs client. <BR>
There is only 2 special log that I think be relate to ocfs2.<BR>
&nbsp;&nbsp;&nbsp; Nov&nbsp; 7 04:42:05 dbu2pub kernel: (1751,3):ocfs2_encode_fh:152 ERROR: fh buffer is too small for encoding<BR>
&nbsp;&nbsp;&nbsp; Nov&nbsp; 7 10:03:24 dbu2pub kernel: (1751,3):ocfs2_encode_fh:152 ERROR: fh buffer is too small for encoding<BR>
<BR>
I think the stale inode and inode corruption cause by this,<BR>
&nbsp; - we update information via ocfs2. ocfs2 will distribute information to all members. <BR>
&nbsp; - nfs server don't know the updated information before ocfs2 sync to disk.<BR>
&nbsp; - nfs client will doesn't know the updates for we use asyn option for performance.<BR>
<BR>
I will adjust our application to update data via nfs, then ocfs2. Let all layers know the updates.<BR>
<BR>
<BR>
BRs,<BR>
Colin<BR>
<BR>
-----Original Message-----<BR>
<B>From</B>: ext TaoMa &lt;<A HREF="mailto:ext%20TaoMa%20%3ctao.ma@oracle.com%3e">tao.ma@oracle.com</A>&gt;<BR>
<B>To</B>: Wang2, Colin (NSN - CN/Cheng Du) &lt;<A HREF="mailto:%22Wang2,%20Colin%20%28NSN%20-%20CN/Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com%3e">colin.wang2@nsn.com</A>&gt;<BR>
<B>Cc</B>: ext Sunil Mushran &lt;<A HREF="mailto:ext%20Sunil%20Mushran%20%3csunil.mushran@oracle.com%3e">sunil.mushran@oracle.com</A>&gt;, ocfs2-users@oss.oracle.com &lt;<A HREF="mailto:%22ocfs2-users@oss.oracle.com%22%20%3cocfs2-users@oss.oracle.com%3e">ocfs2-users@oss.oracle.com</A>&gt;<BR>
<B>Subject</B>: Re: [Ocfs2-users] ocfs2_encode_fh:152 ERROR: fh buffer is too        small for encoding<BR>
<B>Date</B>: Fri, 13 Nov 2009 06:43:12 +0800<BR>
<BR>
<PRE>
Wang2, Colin (NSN - CN/Cheng Du) wrote:
&gt; Hi Tao,
&gt;
&gt; Could you give me more information about inode corruption? Thanks in 
&gt; advance.
It means that the inode corresponding to the dentry is corrupted. So 
when you ls -l, the system will try to get the information from the 
inode but fails. Oh, I just recognized that you use NFS. So do you see 
it from NFS client or the NFS server. If it is the client, I guess a 
stale inode can cause this. Then it may not be a file system corruption.
&gt; - How to check/make sure it's a inode corruption?
I guess echo 'stat &lt;filename&gt;'|debugfs.ocfs2 /dev/sdx should have some 
information for you.
&gt; - How to fix inode corruption? 
fsck.ocfs2.
&gt; - How generate inode corruption? How to prevent it?
I don't know how to generate. Otherwise I would have already fixed it. ;)

&gt;
&gt; Sorry to ask so many question. I met this problem a few times and 
&gt; customer complained this. I hope to resolve it permanently.
So every time you meet with this issue, it is the NFS exported volume? 
As I have asked above, did you see this from NFS client or NFS server?
If a NFS client, it may be caused by a stale inode.
While for the NFS server, it may be a file corruption.  Do you have 
anything special in your system log?

Regards,
Tao
&gt;
&gt; BRs,
&gt; Colin
&gt;
&gt; -----Original Message-----
&gt; *From*: ext TaoMa &lt;<A HREF="mailto:tao.ma@oracle.com">tao.ma@oracle.com</A> 
&gt; &lt;<A HREF="mailto:ext%20TaoMa%20%3ctao.ma@oracle.com">mailto:ext%20TaoMa%20%3ctao.ma@oracle.com</A>%3e&gt;&gt;
&gt; *To*: Wang2, Colin (NSN - CN/Cheng Du) &lt;<A HREF="mailto:colin.wang2@nsn.com">colin.wang2@nsn.com</A> 
&gt; &lt;<A HREF="mailto">mailto</A>:%22Wang2,%20Colin%20%28NSN%20-%20CN/<A HREF="mailto:Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com">Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com</A>%3e&gt;&gt;
&gt; *Cc*: ext Sunil Mushran &lt;<A HREF="mailto:sunil.mushran@oracle.com">sunil.mushran@oracle.com</A> 
&gt; &lt;<A HREF="mailto:ext%20Sunil%20Mushran%20%3csunil.mushran@oracle.com">mailto:ext%20Sunil%20Mushran%20%3csunil.mushran@oracle.com</A>%3e&gt;&gt;, 
&gt; <A HREF="mailto:ocfs2-users@oss.oracle.com">ocfs2-users@oss.oracle.com</A> &lt;<A HREF="mailto:ocfs2-users@oss.oracle.com">ocfs2-users@oss.oracle.com</A> 
&gt; &lt;<A HREF="mailto:%22ocfs2-users@oss.oracle.com">mailto:%22ocfs2-users@oss.oracle.com</A><A HREF="mailto:%22%20%3cocfs2-users@oss.oracle.com">%22%20%3cocfs2-users@oss.oracle.com</A>%3e&gt;&gt;
&gt; *Subject*: Re: [Ocfs2-users] ocfs2_encode_fh:152 ERROR: fh buffer is 
&gt; too small for encoding
&gt; *Date*: Thu, 12 Nov 2009 23:54:23 +0800
&gt;
&gt; Hi Colin,
&gt;     The file is blinking may be casued by the file's inode corruption.
&gt;     I met with it once.
&gt;
&gt; As for debug ocfs2, there are many ways. One is
&gt; <A HREF="http://oss.oracle.com/projects/ocfs2-tools/dist/documentation/v1.4/debugfs.ocfs2.html">http://oss.oracle.com/projects/ocfs2-tools/dist/documentation/v1.4/debugfs.ocfs2.html</A>
&gt;
&gt; debugfs.ocfs2 *-l* [/tracebit/ ... [*allow*|*off*|*deny*]] ...
&gt; can open and off a lot of tracing which will show some helpful 
&gt; information in system log.
&gt;
&gt; But I guess what Sunil mean is the debug version of ocfs2, not how to 
&gt; debug? Since it is a production system, I am afraid a debug version 
&gt; isn't allowed in your system.
&gt;
&gt; Regards,
&gt; Tao
&gt; Wang2, Colin (NSN - CN/Cheng Du) wrote:
&gt; &gt; Hi Sunil,
&gt; &gt;
&gt; &gt; Please see answer in line.
&gt; &gt;
&gt; &gt; BRs,
&gt; &gt; Colin
&gt; &gt;
&gt; &gt; -----Original Message-----
&gt; &gt; *From*: ext Sunil Mushran &lt;<A HREF="mailto:sunil.mushran@oracle.com">sunil.mushran@oracle.com</A> &lt;<A HREF="mailto:sunil.mushran@oracle.com">mailto:sunil.mushran@oracle.com</A>&gt; 
&gt; &gt; &lt;<A HREF="mailto:ext%20Sunil%20Mushran%20%3csunil.mushran@oracle.com">mailto:ext%20Sunil%20Mushran%20%3csunil.mushran@oracle.com</A>%3e&gt;&gt;
&gt; &gt; *To*: Wang2, Colin (NSN - CN/Cheng Du) &lt;<A HREF="mailto:colin.wang2@nsn.com">colin.wang2@nsn.com</A> &lt;<A HREF="mailto:colin.wang2@nsn.com">mailto:colin.wang2@nsn.com</A>&gt; 
&gt; &gt; &lt;<A HREF="mailto">mailto</A>:%22Wang2,%20Colin%20%28NSN%20-%20CN/<A HREF="mailto:Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com">Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com</A> &lt;<A HREF="mailto:Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com">mailto:Cheng%20Du%29%22%20%3ccolin.wang2@nsn.com</A>&gt;%3e&gt;&gt;
&gt; &gt; *Cc*: <A HREF="mailto:ocfs2-users@oss.oracle.com">ocfs2-users@oss.oracle.com</A> &lt;<A HREF="mailto:ocfs2-users@oss.oracle.com">mailto:ocfs2-users@oss.oracle.com</A>&gt; &lt;<A HREF="mailto:ocfs2-users@oss.oracle.com">ocfs2-users@oss.oracle.com</A> &lt;<A HREF="mailto:ocfs2-users@oss.oracle.com">mailto:ocfs2-users@oss.oracle.com</A>&gt; 
&gt; &gt; &lt;<A HREF="mailto:%22ocfs2-users@oss.oracle.com">mailto:%22ocfs2-users@oss.oracle.com</A><A HREF="mailto:%22%20%3cocfs2-users@oss.oracle.com">%22%20%3cocfs2-users@oss.oracle.com</A> &lt;<A HREF="mailto:%22%20%3cocfs2-users@oss.oracle.com">mailto:%22%20%3cocfs2-users@oss.oracle.com</A>&gt;%3e&gt;&gt;
&gt; &gt; *Subject*: Re: [Ocfs2-users] ocfs2_encode_fh:152 ERROR: fh buffer is 
&gt; &gt; too small for encoding
&gt; &gt; *Date*: Wed, 11 Nov 2009 19:55:57 -0800
&gt; &gt;
&gt; &gt; Wang2, Colin (NSN - CN/Cheng Du) wrote:
&gt; &gt; &gt; Base on your questions,
&gt; &gt; &gt; 1. The error is time issue. And it's a production system, it's hard to 
&gt; &gt; &gt; install a debug version.
&gt; &gt; &gt; I appreciate if you share some document about debug version so I can 
&gt; &gt; &gt; test it while have chance.
&gt; &gt;
&gt; &gt; The error is not necessarily an ocfs2 issue. ocfs2 has 64-bit inode numbers
&gt; &gt; and requires the large filehandle. I am unsure what you mean by document
&gt; &gt; about debug version.
&gt; &gt; Colin:
&gt; &gt;   I mean the method to debug ocfs2.
&gt; &gt;
&gt; &gt; &gt; 2.  Confirmed with onsite engineer.
&gt; &gt; &gt; I think it's a file data corruption but file system. Here are scenes.
&gt; &gt; &gt; The system has 2 nodes with ocfs2 filesystem, and nfs export on one node.
&gt; &gt; &gt; Suppose:
&gt; &gt; &gt; Node name: db1, db2
&gt; &gt; &gt; Node that currently export NFS; db1
&gt; &gt; &gt; Node that mount exported nfs: app1
&gt; &gt; &gt; A. Read/write file corruption.
&gt; &gt; &gt;     Shutdown app1.
&gt; &gt; &gt;     When check file with ls command,  it's blinking on db1, it's ok on 
&gt; &gt; &gt; db2.
&gt; &gt; &gt;     Remove on db2 failed too.
&gt; &gt; &gt;     Can't unmount and stop ocfs2 on db2.
&gt; &gt; &gt;     Faillover nfs to db1 and reboot db2.
&gt; &gt; &gt;     It's ok to delete on db1.
&gt; &gt; &gt;     Reboot app1, it can use exported fs.
&gt; &gt; &gt; I don't what the error, why file is blinking? inode missed?
&gt; &gt;
&gt; &gt; I did not follow what you meant by &quot;blinking&quot;. Secondly if you
&gt; &gt; have exported a volume, then that volume cannot be umounted.
&gt; &gt; That goes for all fs.
&gt; &gt; Colin:
&gt; &gt;    When I run &quot;ls -l&quot; command, the bad file will be marked as read and blinking. 
&gt; &gt; While I use xterm. I don't know what cause this.
&gt; &gt;
&gt; &gt; &gt; B. Readonly file corruption.
&gt; &gt; &gt;    Update file, maybe from db1, maybe from db2.
&gt; &gt; &gt;    app1 report corruption file.
&gt; &gt; &gt;    Failover nfs from db1 to db2.
&gt; &gt; &gt;    Reboot app1, it's ok now.
&gt; &gt; &gt; I think this scene caused by exported nfs fs not lock relative file, 
&gt; &gt; &gt; and partial content of updated file on another node(like db2) is not 
&gt; &gt; &gt; synchnized to db1 and then to app1, so app1 report corruption.
&gt; &gt; &gt;
&gt; &gt; &gt; I think this scene can be prevented from update file from 
&gt; &gt; &gt; db1(currently nfs exported node) but db2.
&gt; &gt;
&gt; &gt; So when you write to a file on node db2, the next read on db1 will
&gt; &gt; show that new data. However, there is no guarantee that app1 (which
&gt; &gt; has nfs mounted the volume on db2) will see the same data. The only
&gt; &gt; way this will work is if the application is doing odirect ios. This is an
&gt; &gt; inherent limitation in nfs.
&gt; &gt; Colin:
&gt; &gt;   Thanks, got it. But I think we must accept current situation for direct ios will reduce our performance.
&gt; &gt;
&gt; &gt;
&gt; &gt; BRs,
&gt; &gt; Colin
&gt; &gt;
&gt; &gt;   
&gt; &gt; ------------------------------------------------------------------------
&gt; &gt;
&gt; &gt; _______________________________________________
&gt; &gt; Ocfs2-users mailing list
&gt; &gt; <A HREF="mailto:Ocfs2-users@oss.oracle.com">Ocfs2-users@oss.oracle.com</A> &lt;<A HREF="mailto:Ocfs2-users@oss.oracle.com">mailto:Ocfs2-users@oss.oracle.com</A>&gt;
&gt; &gt; <A HREF="http://oss.oracle.com/mailman/listinfo/ocfs2-users">http://oss.oracle.com/mailman/listinfo/ocfs2-users</A>
&gt;
&gt;   

</PRE>
</BODY>
</HTML>